バージョン 2.30.0 以降、Azure CLI では、基になる認証ライブラリとして Microsoft 認証ライブラリ (MSAL) が使用されています。 MSAL は、Azure Active Directory v2.0 認証フローを使用して、より多くの機能を提供し、トークン キャッシュのセキュリティを強化します。
Warnung
破壊的変更は、Azure CLI 2.30.0 で導入されています。 インストール前にドキュメントをよくお読みください。
accessTokens.json
非推奨
以前のバージョンの Azure CLI では、Azure AD 認証ライブラリ (ADAL) トークンとサービス プリンシパル エントリが ~/.azure/accessToken.json
に保存されました。 最新バージョンの Azure CLI では MSAL が使用され、 accessTokens.json
は生成されなくなります。
accessTokens.json
に応じた既存のワークフローは機能しなくなりました。
MSAL トークン キャッシュとサービス プリンシパル エントリは、Windows では暗号化されたファイルとして保存され、Linux および macOS ではプレーンテキスト ファイルとして保存されます。
Von Bedeutung
Azure DevOps などのパイプラインで Azure CLI を使用する場合は、すべてのタスクとステージで、MSAL ベースの Azure CLI に v2.30.0 より上のバージョンの Azure CLI が使用されていることを確認します。 Azure CLI 2.30.0 は以前のバージョンと互換性がなく、2.30.0 より前のバージョンを使用するとエラーが発生します。
検討すべき代替手段
安定性のために検討できる代替手段:
呼び出し az account get-access-token
ターミナルで az account get-access-token
を手動で呼び出すか、サブプロセスを使用して別のプログラミング言語から呼び出すことができます。 既定では、返されるアクセス トークンは Azure Resource Manager (ARM) 用であり、 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>"
アクセス トークンの詳細については、「 Azure CLI を使用したサインイン」を参照してください。
AzureCliCredential
の使用
AzureCliCredential
は、既存のすべての言語 SDK の資格情報の種類です。 サブプロセスを使用して az account get-access-token
を呼び出し、現在ログインしているアカウントのアクセス トークンを取得します。
こちらも参照ください
- MSAL
- パイソン
- Python の AzureCliCredential クラス
- .NET
- ジャワ
- Java の AzureCliCredential クラス
Azure CLI