Freigeben über


Melden Sie sich interaktiv mit der Azure CLI bei Azure an

Interaktive Anmeldungen bei Azure bieten eine intuitivere und flexiblere Benutzererfahrung. Mit Azure CLI können Sie sich direkt über den Az-Anmeldebefehl bei Azure authentifizieren. Dieser Befehl ist nützlich für Ad-hoc-Verwaltungsaufgaben und für Umgebungen, die eine manuelle Anmeldung erfordern, z. B. Szenarien mit mehrstufiger Authentifizierung (MFA). Diese Methode vereinfacht den Zugang zu Skripttests, dem Lernen und der spontanen Verwaltung, ohne dass man Dienstprinzipale oder andere nichtinteraktive Authentifizierungsmethoden vorkonfigurieren muss.

Von Bedeutung

Ab 2025 erzwingt Microsoft obligatorische MFA für Azure CLI und andere Befehlszeilentools. MFA wirkt sich nur auf die Benutzeridentitäten von Microsoft Entra ID aus. Dies wirkt sich nicht auf Arbeitsauslastungsidentitäten aus, z. B. Dienstprinzipale und verwaltete Identitäten.

Wenn Sie az login mit einer Entra-ID und einem Kennwort zum Authentifizieren eines Skripts oder automatisierten Prozesses verwenden, planen Sie jetzt die Migration zu einer Workload-Identität. Weitere Informationen finden Sie unter "Auswirkungen der mehrstufigen Authentifizierung auf Azure CLI in Automatisierungsszenarien".

Voraussetzungen

Interaktive Anmeldung

Verwenden Sie den Az-Anmeldebefehl , um sich interaktiv anzumelden. Ab Azure CLI Version 2.61.0 verwendet Azure CLI Web Account Manager (WAM) unter Windows und standardmäßig eine browserbasierte Anmeldung unter Linux und macOS.

az login

Abonnementauswahl

Ab Azure CLI Version 2.61.0, falls Sie Zugriff auf mehrere Abonnements haben, werden Sie beim Anmeldevorgang aufgefordert, ein Azure-Abonnement auszuwählen, wie im folgenden Beispiel gezeigt.

Retrieving subscriptions for the selection...

[Tenant and subscription selection]

No    Subscription name                     Subscription ID                           Tenant name
----  ------------------------------------  ----------------------------------------  --------------
[1]   Facility Services Subscription        00000000-0000-0000-0000-000000000000      Contoso
[2]   Finance Department Subscription       00000000-0000-0000-0000-000000000000      Contoso
[3]   Human Resources Subscription          00000000-0000-0000-0000-000000000000      Contoso
[4] * Information Technology Subscription   00000000-0000-0000-0000-000000000000      Contoso

The default is marked with an *; the default tenant is 'Contoso' and subscription is
'Information Technology Subscription' (00000000-0000-0000-0000-000000000000).

Select a subscription and tenant (Type a number or Enter for no changes): 2

Tenant: Contoso
Subscription: Finance Department Subscription (00000000-0000-0000-0000-000000000000)

[Announcements] With the new Azure CLI login experience, you can select the subscription you want to
use more easily. Learn more about it and its configuration at
https://go.microsoft.com/fwlink/?linkid=2271236

If you encounter any problems, open an issue at https://aka.ms/azclibug

Wenn Sie sich das nächste Mal anmelden, sind der zuvor ausgewählte Mandant und das Abonnement durch ein Sternchen (*) neben ihrer Nummer als Standard markiert. Mit dieser Markierung können Sie die EINGABETASTE drücken, um das Standardabonnement auszuwählen.

Standardmäßig werden Befehle für das ausgewählte Abonnement ausgeführt. Verwenden Sie az account set, um Ihr Abonnement jederzeit über die Befehlszeile zu ändern. Weitere Informationen finden Sie unter Verwalten von Azure-Abonnements mit der Azure CLI.

Im Folgenden sind einige Richtlinien für die Abonnementauswahl aufgeführt, die Sie beachten sollten:

  • Die Abonnementauswahl ist nur in 64-Bit-Windows, Linux oder macOS verfügbar.
  • Die Abonnementauswahl ist nur verfügbar, wenn Sie den az login Befehl verwenden.
  • Sie werden nicht aufgefordert, ein Abonnement auszuwählen, wenn Sie sich mit einem Dienstprinzipal oder einer verwalteten Identität anmelden.

Wenn Sie die Abonnementauswahlfunktion deaktivieren möchten, legen Sie die core.login_experience_v2 Konfigurationseigenschaft auf offfest.

az config set core.login_experience_v2=off
az login

Anmelden mit Web Account Manager (WAM) unter Windows

Beginnend mit der Azure CLI-Version 2.61.0ist Web Account Manager (WAM) die Standardauthentifizierungsmethode unter Windows. WAM ist eine Windows 10+-Komponente, die als Authentifizierungsbroker fungiert. Ein Authentifizierungsbroker ist eine Anwendung, die auf dem Computer eines Benutzers ausgeführt wird. Sie verwaltet die Authentifizierungs-Handshakes und die Tokenwartung für verbundene Konten.

Die Verwendung von WAM bietet mehrere Vorteile:

  • Verbesserte Sicherheit. Siehe Bedingter Zugriff: Tokenschutz (Vorschau).
  • Unterstützung für Windows Hello, Richtlinien für bedingten Zugriff und FIDO-Schlüssel.
  • Vereinfachte Einmalanmeldung.
  • Fehlerkorrekturen und Verbesserungen, die mit Windows ausgeliefert wurden.

Wenn ein Problem auftritt und auf die vorherige browserbasierte Authentifizierungsmethode zurückgesetzt werden soll, legen Sie die core.enable_broker_on_windows Konfigurationseigenschaft auf falsefest.

az account clear
az config set core.enable_broker_on_windows=false
az login

WAM ist unter Windows 10 und höher sowie unter Windows Server 2019 und höher verfügbar.

Anmelden mit einem Browser

Azure CLI verwendet standardmäßig eine browserbasierte Authentifizierungsmethode, wenn eine der folgenden Bedingungen zutrifft:

  • Das Betriebssystem ist Linux, macOS oder das Windows-Betriebssystem früher als Windows 10 oder Windows Server 2019.
  • Die Konfigurationseigenschaft core.enable_broker_on_windows ist auf false gesetzt.

Führen Sie die folgenden Schritte aus, um sich mit einem Browser anzumelden:

  1. Führen Sie den Befehl az login aus.

    az login
    

    Wenn Azure CLI Ihren Standardbrowser öffnen kann, initiiert sie den Autorisierungscodefluss und öffnet den Standardbrowser, um eine Azure-Anmeldeseite zu laden.

    Andernfalls wird der Gerätecode-Flow initiiert, und Sie werden angewiesen, eine Browser-Seite unter https://aka.ms/devicelogin zu öffnen. Geben Sie dann den Code ein, der auf Ihrem Terminal angezeigt wird.

    Wenn kein Webbrowser verfügbar ist oder der Webbrowser nicht geöffnet werden kann, können Sie die Authentifizierung mit Gerätecode forcieren az login --use-device-code.

  2. Melden Sie sich im Browser mit Ihren Anmeldeinformationen an.

Anmelden mit Zugangsdaten in der Befehlszeile

Geben Sie Ihre Azure-Benutzeranmeldeinformationen in der Befehlszeile an. Sie sollten diese Authentifizierungsmethode nur verwenden, wenn Sie interaktiv mit der Azure CLI arbeiten. Verwenden Sie für Anwendungen auf Produktionsebene einen Dienstprinzipal oder eine verwaltete Identität.

Dieser Ansatz funktioniert nicht mit Microsoft-Konten oder -Konten, die mehrstufige Authentifizierung (MFA) aktiviert haben. Sie erhalten eine Nachricht Interaktive Authentifizierung ist erforderlich.

az login --user <username> --password <password>

Von Bedeutung

Verwenden Sie den az login Befehl in Bash, um das Anzeigen Ihres Kennworts im Terminal bei interaktiver Verwendung read -s zu vermeiden.

read -sp "Azure password: " AZ_PASS && echo && az login -u <username> -p $AZ_PASS

Verwenden Sie in PowerShell das Get-Credential Cmdlet.

$AzCred = Get-Credential -UserName <username>
az login -u $AzCred.UserName -p $AzCred.GetNetworkCredential().Password

Anmelden mit einem anderen Mandanten

Sie können mithilfe des Arguments --tenant einen Mandanten auswählen, um sich anzumelden. Der Wert dieses Arguments kann entweder eine .onmicrosoft.com Domäne oder die Azure-Objekt-ID für den Mandanten sein. Sowohl interaktive als auch Befehlszeilenanmeldungsmethoden können mit --tenant genutzt werden.

In ausgewählten Umgebungen und beginnend mit Azure CLI Version 2.61.0 müssen Sie die Abonnementauswahl zuerst deaktivieren, indem Sie die core.login_experience_v2 Konfigurationseigenschaft auf offfestlegen.

# disable the subscription selector (v. 2.61.0 and up)
az config set core.login_experience_v2=off

# login with a tenant ID
az login --tenant 00000000-0000-0000-0000-000000000000

Führen Sie az config set core.login_experience_v2=on aus, um die Abonnementauswahl erneut zu aktivieren. Weitere Informationen zur Abonnementauswahl finden Sie unter Interaktive Anmeldung.

Wenn Sie ihren aktiven Mandanten ändern möchten, lesen Sie nach der Anmeldung, wie Sie Ihren aktiven Mandanten ändern.

Anmelden mit --scope

az login --scope https://management.core.windows.net//.default

Abmelden

Um sich bei Azure abzumelden, verwenden Sie den Befehl "az logout" .

az logout

Löschen des Abonnementcaches

Verwenden Sie den Befehl "az account clear ", um Ihre Abonnementliste zu aktualisieren. Sie müssen sich erneut anmelden, um eine aktualisierte Liste anzuzeigen.

az account clear

az login

Das Löschen Ihres Abonnementcaches ist technisch nicht derselbe Prozess wie das Abmelden von Azure. Wenn Sie den Abonnementcache löschen, können Sie jedoch keine Azure CLI-Befehle ausführen, einschließlich az account set, bis Sie sich erneut anmelden.

Aktualisierungstoken

Wenn Sie sich mit einem Benutzerkonto anmelden, generiert und speichert die Azure CLI ein Aktualisierungstoken für die Authentifizierung. Da Zugriffstoken nur für kurze Zeit gültig sind, wird ein Aktualisierungstoken gleichzeitig mit dem Zugriffstoken ausgegeben. Die Clientanwendung kann dann dieses Aktualisierungstoken bei Bedarf gegen ein neues Zugriffstoken austauschen. Weitere Informationen zur Lebensdauer und Ablauf von Token finden Sie unter Aktualisierungstoken in der Microsoft Identity Platform.

Verwenden Sie den Befehl "az account get-access-token" zum Abrufen des Zugriffstokens:

# get access token for the active subscription
az account get-access-token

# get access token for a specific subscription
az account get-access-token --subscription "<subscription ID or name>"

Hier sind einige zusätzliche Informationen zum Ablaufdatum von Zugriffstoken:

  • Ablaufdaten werden in einem Format aktualisiert, das von MSAL-basierter Azure CLI unterstützt wird.
  • Ab Azure CLI 2.54.0 gibt az account get-access-token die expires_on-Eigenschaft zusammen mit der Eigenschaft expiresOn für die Tokenablaufzeit zurück.
  • Die expires_on Eigenschaft stellt einen POSIX-Zeitstempel (Portable Operating System Interface) dar, während die expiresOn Eigenschaft eine lokale Datumstime darstellt.
  • Die Eigenschaft drückt keine "Faltung" aus, wenn Sommerzeit expiresOn endet. Dies kann zu Problemen in Ländern oder Regionen führen, in denen Sommerzeit angenommen wird. Weitere Informationen zum Thema "Fold" finden Sie unter PEP 495 – Unterscheidung lokaler Zeit.
  • Es wird empfohlen, für nachgeschaltete Anwendungen die expires_on Eigenschaft zu verwenden, da sie den Universal Time Code (UTC) verwendet.

Beispielausgabe:

{
  "accessToken": "...",
  "expiresOn": "2023-10-31 21:59:10.000000",
  "expires_on": 1698760750,
  "subscription": "...",
  "tenant": "...",
  "tokenType": "Bearer"
}

Problembehandlung

Die Verbindung für diese Website ist nicht sicher

Wenn Ihr Standardbrowser Microsoft Edge ist, tritt möglicherweise der folgende Fehler auf, wenn Sie versuchen, sich interaktiv mit az loginbei Azure anzumelden: "Die Verbindung für diese Website ist nicht sicher." Um dieses Problem zu beheben, besuchen Sie edge://net-internals/#hsts in Microsoft Edge. Fügen Sie localhost unter "Domänensicherheitsrichtlinie löschen" hinzu, und klicken Sie auf Löschen.

Interaktive Authentifizierung ist erforderlich

Sie erhalten diese Nachricht, wenn Sie eine Benutzeridentität zur Authentifizierung bei Azure verwenden und die mehrstufige Authentifizierung erforderlich ist. Die Lösung besteht darin, eine Workloadidentität wie einen Dienstprinzipal oder eine verwaltete Identität zur Authentifizierung bei Azure zu verwenden.

Fehler bei der Authentifizierung für den Mandanten.

Dieser Fehler tritt auf, wenn eine einzelne Entra-Benutzeridentität zu mehreren Azure-Mandanten gehört. Azure CLI durchläuft die Mandanten, auf die Sie Zugriff haben, und versucht, sich zu authentifizieren. Um sich mit Ihrem Mandanten ihrer Wahl anzumelden, verwenden Sie den --tenant Parameter. Weitere Informationen finden Sie unter Anmelden mit einem anderen Mandanten.

Nächste Schritte