Freigeben über


MSAL-basierte Azure CLI

Ab Version 2.30.0 verwendet Azure CLI microsoft Authentication Library (MSAL) als zugrunde liegende Authentifizierungsbibliothek. MSAL verwendet den Azure Active Directory v2.0-Authentifizierungsfluss, um erweiterte Funktionen bereitzustellen und die Sicherheit für den Tokencache zu erhöhen.

Warning

In Azure CLI 2.30.0 werden bahnbrechende Änderungen eingeführt. Lesen Sie dieses Dokument sorgfältig vor der Installation.

accessTokens.json Missbilligung

In früheren Versionen von Azure CLI wurden Token der Azure AD-Authentifizierungsbibliothek (ADAL) und Einträge von Dienstprinzipalen in ~/.azure/accessToken.json gespeichert. Die neuesten Versionen der Azure CLI verwenden MSAL und generieren accessTokens.jsonnicht mehr. Vorhandene Workflows, die von accessTokens.json abhängen, funktionieren nicht mehr.

Die MSAL-Tokencache- und Dienstprinzipaleinträge werden als verschlüsselte Dateien unter Windows und Nur-Text-Dateien unter Linux und macOS gespeichert.

Important

Stellen Sie bei verwendung von Azure CLI in einer Pipeline wie Azure DevOps sicher, dass alle Aufgaben und Phasen Versionen von Azure CLI v2.30.0 oder höher für MSAL-basierte Azure CLI verwenden. Azure CLI 2.30.0 ist nicht abwärtskompatibel mit früheren Versionen und löst einen Fehler aus, wenn Sie mit Versionen vor 2.30.0 arbeiten.

Zu berücksichtigende Alternativen

Alternativen zur Erwägung für Stabilität:

Aufrufen von az account get-access-token

Sie können manuell in einem Terminal aufrufen az account get-access-token oder einen Unterprozess verwenden, um ihn von einer anderen Programmiersprache aus aufzurufen. Standardmäßig ist das zurückgegebene Zugriffstoken für den Azure Resource Manager (ARM) und das Standardabonnement/den Mandanten, der in az account show angezeigt wird.

# get the active subscription
az account show --output table

# 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>"

Weitere Informationen zu Zugriffstoken finden Sie unter Anmelden mit Azure CLI.

Verwenden von AzureCliCredential

AzureCliCredential ist ein Authentifizierungstyp in allen bestehenden Sprach-SDKs. Es verwendet einen Unterprozess, um az account get-access-token aufzurufen, um ein Zugriffstoken für das aktuell angemeldete Konto abzurufen.

Siehe auch