Freigeben über


Melden Sie sich interaktiv mit der Azure CLI bei Azure an

Interaktive Anmeldungen bei Azure bieten eine intuitivere und flexible Benutzererfahrung. Mit Azure CLI können Sie sich direkt über den Befehl az login bei Azure authentifizieren. Dieser Befehl ist nützlich für Ad-hoc-Verwaltungsaufgaben und für Umgebungen, die eine manuelle Anmeldung erfordern, z. B. solche mit mehrstufiger Authentifizierung (MFA). Diese Methode vereinfacht den Zugriff für Skripttests, zu Lernzwecken und für dynamische Verwaltung, ohne dass Dienstprinzipale oder andere nicht interaktive Authentifizierungsmethoden vorkonfiguriert werden müssen.

Wichtig

Ab 2025 erzwingt Microsoft obligatorische MFA für Azure CLI und andere Befehlszeilentools. Weitere Informationen zu dieser Anforderung finden Sie in unserem Blogbeitrag.

MFA wirkt sich nur auf die Benutzeridentitäten von Microsoft Entra ID aus. Dies wirkt sich nicht auf Arbeitsauslastungsidentitäten aus, z. B. Dienstprinzipien 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. Hier sind einige hilfreiche Links, die Sie bei der Änderung unterstützen:

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 werden Sie aufgefordert, ein Azure-Abonnement zum Zeitpunkt der Anmeldung 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 problem, please 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 Eingabetaste drücken, um das Standardabonnement auszuwählen.

Standardmäßig werden Befehle für das ausgewählte Abonnement ausgeführt. Sie können az account set verwenden, um Ihr Abonnement jederzeit über eine 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 Komponente für Windows 10+, 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:

  • Erhöhte Sicherheit. Siehe Bedingter Zugriff: Tokenschutz (Vorschau).
  • Support für Windows Hello, Richtlinien für bedingten Zugriff und FIDO-Schlüssel.
  • Optimiertes einmaliges Anmelden.
  • In Windows enthaltene Fehlerbehebungen und Verbesserungen.

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

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

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

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 die Azure CLI Ihren Standardbrowser öffnen kann, wird der Autorisierungscodeflow initiiert und der Standardbrowser geöffnet, um eine Azure-Anmeldeseite zu laden.

    Andernfalls wird der Gerätecodeflow initiiert, und Sie werden angewiesen, die Browserseite https://aka.ms/devicelogin zu öffnen. Geben Sie dann den Code ein, der auf Ihrem Terminal angezeigt wird.

    Falls kein Webbrowser verfügbar ist oder er nicht geöffnet werden kann, können Sie den Gerätecodefluss mit az login --use-device-code erzwingen.

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

Anmelden mit Anmeldeinformationen über die Befehlszeile

Geben Sie Ihre Azure-Benutzeranmeldeinformationen in der Befehlszeile an. Verwenden Sie diese Authentifizierungsmethode nur zum Erlernen von Azure CLI-Befehlen. Verwenden Sie für Anwendungen auf Produktionsebene einen Dienstprinzipal oder eine verwaltete Identität.

Dieser Ansatz funktioniert nicht für Microsoft-Konten oder Konten, für die die Authentifizierung in zwei Schritten aktiviert ist. Sie erhalten eine Nachricht Interaktive Authentifizierung ist erforderlich.

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

Wichtig

Verwenden Sie den Befehl read -s unter bash, um die Anzeige Ihres Kennworts auf der Konsole bei interaktiver Verwendung von az login zu vermeiden.

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

Verwenden Sie in PowerShell das Cmdlet Get-Credential.

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

Anmelden mit einem anderen Mandanten

Sie können einen Mandanten auswählen, um sich mit dem Argument --tenant anzumelden. Der Wert dieses Arguments kann eine Domäne vom Typ .onmicrosoft.com 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 zuerst die Abonnementauswahl 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 die Ausführung aus az config set core.login_experience_v2=on, um die Abonnementauswahl erneut zu aktivieren. Weitere Informationen zur Abonnementauswahl finden Sie unter Interaktive Anmeldung.

Nach der Anmeldung, wenn Sie Ihren aktiven Mandanten ändern möchten, lesen Sie unter nach, wie Sie Ihren aktiven Mandanten ändern können.

Anmelden mit --scope

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

Logout

Verwenden Sie den Befehl "az logout", um den Zugriff auf Azure zu entfernen.

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 kurze Zeit gültig sind, wird gleichzeitig mit dem Zugriffstoken auch ein Aktualisierungstoken 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 Eigenschaft zusammen mit der expires_on Eigenschaft für die expiresOn 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 zur "Faltung" finden Sie unter PEP 495 – Ortszeitdeutigkeit.
  • 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

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.

Siehe auch