Kennen Sie das Szenario? Sie öffnen Ihren Browser, navigieren zum Azure-Portal, geben Ihre Anmeldeinformationen ein – und voilà, Sie sind drin! Alles funktioniert einwandfrei. Doch dann wechseln Sie zur Kommandozeile, tippen az login
, und plötzlich stehen Sie vor einem Rätsel. Fehlermeldungen, endlos drehende Ladeanzeigen oder einfach keine Reaktion. Ihr Web-Login funktioniert, aber die Azure CLI Authentifizierung weigert sich standhaft. Frustration macht sich breit. Sie sind nicht allein!
Dieses Phänomen ist unter Azure-Nutzern weit verbreitet und kann verschiedene Ursachen haben, die oft mit den unterschiedlichen Authentifizierungsmechanismen zwischen Browser und CLI zusammenhängen. Während Ihr Browser möglicherweise bestehende Tokens, Cookies und Geräteregistrierungen nutzt, startet die CLI oft einen frischeren, interaktiven Anmeldevorgang. In diesem umfassenden Artikel tauchen wir tief in die Problematik ein und bieten Ihnen einen systematischen Leitfaden zur Fehlerbehebung bei az login.
Die Grundlagen: Was passiert bei az login
?
Wenn Sie az login
eingeben, initiiert die Azure CLI in der Regel einen OAuth 2.0-basierten Authentifizierungsfluss. Dies geschieht typischerweise über den „Authorization Code Grant” oder den „Device Code Flow”.
- Interaktiver Browser-Flow (Standard): Die CLI öffnet ein Browserfenster (oder einen WebView2-basierten Dialog unter Windows) und leitet Sie zur Microsoft-Anmeldeseite weiter. Dort authentifizieren Sie sich mit Ihren Azure Active Directory (AAD)-Anmeldeinformationen. Nach erfolgreicher Authentifizierung erhält die CLI ein Zugriffstoken und ein Aktualisierungstoken, das sie für nachfolgende Befehle verwendet.
- Device Code Flow: Bei Systemen ohne grafische Benutzeroberfläche (headless) oder wenn der Standard-Flow fehlschlägt, können Sie
az login --use-device-code
verwenden. Die CLI zeigt dann einen Code an, den Sie in einem Browser auf einem anderen Gerät eingeben müssen, um die Authentifizierung abzuschließen.
Der entscheidende Unterschied zum Web-Login im Azure-Portal ist, dass die CLI ein neues Token anfordert und dabei oft stärkeren Prüfungen durch z.B. Conditional Access Policies unterliegt, selbst wenn der Browser-Login scheinbar problemlos funktioniert, weil er auf bereits etablierten Sitzungen oder registrierten Geräten basiert.
Erste Schritte: Die Schnell-Checks
Bevor wir uns in die Tiefe begeben, hier einige schnelle Checks, die oft schon zum Erfolg führen:
1. Azure CLI aktualisieren
Eine veraltete CLI-Version kann Kompatibilitätsprobleme verursachen. Aktualisieren Sie Ihre CLI immer auf die neueste Version:
- Windows:
msiexec.exe /i https://aka.ms/installazurecliwindows
oder über den Installer. - macOS:
brew update && brew upgrade azure-cli
- Linux: Befolgen Sie die spezifischen Anweisungen für Ihre Distribution (z.B.
sudo apt-get update && sudo apt-get install azure-cli
für Debian/Ubuntu).
2. Netzwerkkonnektivität überprüfen
Klingt banal, aber stellen Sie sicher, dass Ihre Maschine eine stabile Internetverbindung hat und die notwendigen Azure-Endpunkte erreichen kann. Testen Sie z.B. ping login.microsoftonline.com
.
3. Cache und Token leeren (Der „Neustart” der Authentifizierung)
Manchmal sind lokale, beschädigte oder abgelaufene Tokens das Problem. Eine saubere Ausgangsbasis kann Wunder wirken:
az logout
az account clear
Führen Sie danach az login
erneut aus. Dies löscht alle gespeicherten Kontoinformationen und erzwingt eine Neuanmeldung.
4. Alternativen zum Standard-Browser-Flow versuchen
Wenn der Standard-Flow fehlschlägt, versuchen Sie den Device Code Flow:
az login --use-device-code
Die CLI gibt Ihnen einen Code und eine URL. Öffnen Sie die URL in einem beliebigen Browser (auch auf einem anderen Gerät) und geben Sie den Code ein. Dies umgeht potenzielle Probleme mit dem lokalen Browser der CLI.
5. Spezifischen Tenant angeben
Arbeiten Sie in einer Umgebung mit mehreren Azure AD-Tenants? Dann kann es hilfreich sein, den Tenant explizit anzugeben:
az login --tenant <YourTenantIDOrDomain.onmicrosoft.com>
Ihre Tenant ID finden Sie im Azure-Portal unter Azure Active Directory -> Übersicht.
Tiefer graben: Häufige Fehlerquellen und Lösungen
Wenn die Schnell-Checks nicht geholfen haben, ist es Zeit, sich den komplexeren Ursachen zuzuwenden. Hier sind die häufigsten Stolpersteine:
1. Conditional Access Policies (Bedingter Zugriff)
Dies ist oft der Hauptverdächtige. Azure AD Conditional Access-Richtlinien sind mächtige Tools, um den Zugriff auf Azure-Ressourcen basierend auf bestimmten Bedingungen zu steuern (z.B. MFA, Gerätekonformität, Standort, Client-Applikation). Ihr Web-Login mag funktionieren, weil:
- Ihr Browser bereits als „konformes Gerät” registriert oder „erinnert” ist.
- Die Richtlinie speziell nur für bestimmte Client-Applikationen greift und die CLI anders bewertet.
- Sie bereits über einen Browser eine MFA-Challenge erfüllt haben, die für die Dauer Ihrer Sitzung gültig ist.
Was tun?
- Azure AD Anmelde-Protokolle prüfen (WICHTIGSTE DIAGNOSE): Gehen Sie ins Azure-Portal zu
Azure Active Directory > Überwachung > Anmelde-Protokolle
. Suchen Sie nach Ihrem fehlgeschlagenen Anmeldeversuch von der CLI. Hier sehen Sie detailliert, warum der Login abgelehnt wurde (z.B. „MFA erforderlich”, „Gerät nicht konform”, „Standort nicht erlaubt”). Dies ist die Goldmine der Diagnose. - Gerät registrieren: Wenn die Richtlinie ein registriertes oder konformes Gerät erfordert, stellen Sie sicher, dass Ihr Gerät in Azure AD registriert ist (z.B. über „Arbeitsplatzzugriff” in den Windows-Einstellungen oder Intune).
- MFA prompt explizit behandeln: Manchmal kann ein fehlgeschlagenes MFA den Prozess blockieren. Stellen Sie sicher, dass Sie bereit sind, auf einen MFA-Prompt zu reagieren (z.B. Authenticator-App).
- IT-Administrator kontaktieren: Wenn Sie die Anmelde-Protokolle nicht verstehen oder die Richtlinien nicht selbst ändern können, ist Ihr IT-Administrator der nächste Ansprechpartner. Er kann die Conditional Access Policies anpassen oder eine Ausnahme für die CLI erlauben (was selten empfohlen wird, aber diagnostisch hilfreich sein kann).
2. Proxy- und Firewall-Einstellungen
In Unternehmensnetzwerken sind Proxyserver und restriktive Firewalls ein häufiges Problem. Die Azure CLI muss verschiedene Microsoft-Endpunkte erreichen können, darunter login.microsoftonline.com
, management.azure.com
und andere. Wenn diese Zugriffe blockiert werden, schlägt die Authentifizierung fehl.
Was tun?
- Proxy-Umgebungsvariablen setzen: Die CLI respektiert in der Regel die Umgebungsvariablen
HTTP_PROXY
undHTTPS_PROXY
.# Beispiel für Windows PowerShell $env:HTTP_PROXY="http://proxyserver:port" $env:HTTPS_PROXY="http://proxyserver:port" # Beispiel für Linux/macOS Bash export HTTP_PROXY="http://proxyserver:port" export HTTPS_PROXY="http://proxyserver:port"
Prüfen Sie auch auf
NO_PROXY
für interne Adressen. - Firewall-Regeln prüfen: Stellen Sie sicher, dass Port 443 (HTTPS) für ausgehende Verbindungen zu den erforderlichen Azure-Endpunkten offen ist. Ihr Netzwerkadministrator sollte die genauen URLs bereitstellen können, die zugelassen werden müssen.
- SSL-Inspektion (MITM): Einige Unternehmensproxys führen eine SSL-Inspektion durch, was zu Zertifikatfehlern führen kann. Die CLI (oder das zugrunde liegende Python) muss das vom Proxy bereitgestellte Root-Zertifikat als vertrauenswürdig einstufen. Dies erfordert oft eine spezifische Konfiguration oder die Unterstützung des IT-Teams.
3. Veraltete oder beschädigte CLI-Tokens und Cache-Dateien
Neben az logout
und az account clear
gibt es hartnäckigere Fälle, in denen manuelle Eingriffe nötig sind:
Was tun?
- Manuelles Löschen des CLI-Cache-Verzeichnisses:
- Windows: Löschen Sie den Inhalt des Verzeichnisses
%USERPROFILE%.azure
und%USERPROFILE%.Azure
. - Linux/macOS: Löschen Sie den Inhalt des Verzeichnisses
~/.azure
.
Beachten Sie, dass dies alle gespeicherten Konfigurationen und Tokens entfernt.
- Windows: Löschen Sie den Inhalt des Verzeichnisses
- Windows Anmeldeinformationsverwaltung: Unter Windows speichert die CLI manchmal Tokens in der „Windows Anmeldeinformationsverwaltung”. Suchen Sie dort nach Einträgen, die mit „AzureCLI” oder „Microsoft” zusammenhängen, und entfernen Sie diese.
4. Berechtigungen und Rollen (Zugriff auf Abonnements)
Auch wenn Sie sich erfolgreich in Azure AD authentifizieren, bedeutet das nicht automatisch, dass Sie auch Zugriff auf Azure-Abonnements haben. Wenn Sie keine Berechtigungen für mindestens ein Abonnement haben, kann die CLI keine Abonnements auflisten und der Login-Prozess scheitert scheinbar, obwohl die Authentifizierung bei AAD erfolgreich war.
Was tun?
- Berechtigungen prüfen: Bitten Sie einen Administrator, Ihre Rollenzuweisungen im Azure-Portal zu überprüfen. Sie benötigen mindestens die Rolle „Leser” auf Abonnementebene, um Abonnements mit der CLI zu sehen.
- Verwenden Sie
az ad signed-in-user show
: Nach einem scheinbar erfolgreichen Login (wenn auch ohne Abonnements), können Sie diesen Befehl ausführen, um zu bestätigen, dass Sie bei AAD angemeldet sind. Wenn dies funktioniert, liegt das Problem bei den Abonnementberechtigungen.
5. Veraltete Browser oder WebView2 (Windows)
Unter Windows nutzt die Azure CLI den Edge WebView2-Runtime für den interaktiven Anmelde-Flow. Wenn WebView2 nicht installiert oder veraltet ist, kann dies zu Problemen führen. Auch ein allgemein veralteter oder schlecht konfigurierter Standardbrowser kann den Prozess stören.
Was tun?
- WebView2 prüfen/installieren: Stellen Sie sicher, dass Microsoft Edge WebView2 Runtime auf Ihrem System installiert und aktuell ist. Sie können es von der offiziellen Microsoft-Website herunterladen und installieren.
- Standardbrowser prüfen: Stellen Sie sicher, dass Ihr Standardbrowser funktionsfähig und aktuell ist.
Alternative Anmeldemethoden für spezielle Szenarien
Manchmal sind die oben genannten Methoden nicht praktikabel oder Sie arbeiten in einer Automatisierungsumgebung. Hier sind alternative Azure CLI Anmeldeoptionen:
1. Anmelden mit Dienstprinzipal (Service Principal)
Für Skripte, CI/CD-Pipelines oder andere Automatisierungslösungen ist die Anmeldung als Dienstprinzipal die empfohlene Methode. Ein Dienstprinzipal ist eine Identität für Anwendungen und Dienste und nicht an einen Benutzer gebunden.
az login --service-principal -u <app-id> -p <password-or-certificate> --tenant <tenant-id>
Erstellen Sie zuerst einen Dienstprinzipal im Azure-Portal oder mit der CLI und weisen Sie ihm die notwendigen Berechtigungen zu.
2. Anmelden mit Managed Identity
Wenn Ihre Azure CLI auf einer Azure-Ressource (z.B. einer VM, Azure Function, App Service) ausgeführt wird, sollten Sie Managed Identities nutzen. Dies ist die sicherste und einfachste Methode, da Azure die Lebensdauer der Anmeldeinformationen automatisch verwaltet.
az login --identity
Stellen Sie sicher, dass der Ressource eine Managed Identity zugewiesen und diese auf die benötigten Azure-Ressourcen berechtigt ist.
Zusammenfassung und Best Practices
Ein fehlgeschlagener az login
-Vorgang, während der Web-Login funktioniert, ist frustrierend, aber selten unlösbar. Der Schlüssel zur Azure CLI Problembehebung liegt in einem systematischen Ansatz:
- Beginnen Sie mit den Grundlagen: CLI aktualisieren, Cache leeren, Netzwerkkonnektivität prüfen.
- Prüfen Sie die Azure AD Anmelde-Protokolle: Dies ist die wichtigste Quelle für detaillierte Fehlermeldungen und Hinweise auf Conditional Access Policies.
- Verstehen Sie Ihre Umgebung: Berücksichtigen Sie Unternehmensrichtlinien, Proxys und Firewalls.
- Alternative Methoden in Betracht ziehen: Für Automatisierung oder hartnäckige interaktive Probleme können Dienstprinzipale oder Managed Identities die Lösung sein.
Indem Sie diesen Leitfaden Schritt für Schritt durchgehen, können Sie die Ursache des Problems eingrenzen und Ihre Azure CLI Authentifizierung schnell wieder zum Laufen bringen. Denken Sie daran: Die Kommandozeile ist Ihr Freund – auch wenn sie manchmal etwas Überzeugungsarbeit braucht!