MSAL-basierte Azure CLI

Ab Version 2.30.0 verwendet die Azure CLI Microsoft Authentication Library (MSAL) als die zugrunde liegende Authentifizierungsbibliothek. Für MSAL wird der Azure Active Directory v2.0-Authentifizierungsfluss verwendet, um mehr Funktionalität bereitzustellen und die Sicherheit für den Tokencache zu erhöhen.

Warnung

Mit Version Azure CLI 2.30.0 werden BREAKING CHANGES eingeführt. Lesen Sie sich das Dokument vor der Installation sorgfältig durch.

Eingestellte Unterstützung für accessTokens.json

In früheren Versionen der Azure CLI wurden Azure AD Authentication Library-Token (ADAL) und Dienstprinzipaleinträge in ~/.azure/accessToken.json gespeichert. Die neuesten Versionen der Azure CLI verwenden MSAL und generieren accessTokens.json nicht mehr. Alle vorhandenen Workflows, die von accessTokens.json abhängig sind, funktionieren nicht mehr.

Der MSAL-Tokencache und die Dienstprinzipaleinträge werden unter Windows als verschlüsselte Dateien und unter Linux und macOS als Klartextdateien gespeichert.

Wichtig

Stellen Sie bei Verwendung der Azure CLI in einer Pipeline wie Azure DevOps sicher, dass alle Tasks und Stages mindestens Version v2.30.0 der Azure CLI bei MSAL-basierter Azure CLI verwenden. Die Azure CLI 2.30.0 ist nicht abwärtskompatibel mit früheren Versionen und löst bei Verwendung mit älteren Versionen als 2.30.0 einen Fehler aus.

Zu berücksichtigende Alternativen

Alternativen, die Sie für die Stabilität in Betracht ziehen können:

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 gilt das zurückgegebene Zugriffstoken für Azure Resource Manager (ARM) und das Standardabonnement bzw. den Mandanten unter az account show.

# 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 den Zugriffstoken finden Sie unter Anmelden mit Azure CLI.

Verwenden von AzureCliCredential

Bei AzureCliCredential handelt es sich um einen Anmeldeinformationstyp in allen vorhandenen Programmiersprachen-SDKs. Hierbei wird der Teilprozess zum Aufrufen von az account get-access-token verwendet, um ein Zugriffstoken für das derzeit angemeldete Konto abzurufen.

Siehe auch