Azure Active Directory (Azure AD) Graph の廃止に伴い、Azure CLI 2.37.0 で、基になる Active Directory Graph API は Microsoft Graph API に置き換えられます。
重大な変更
基になる API と出力 JSON の破壊的変更の違いについては、「Azure AD Graph と Microsoft Graph のプロパティの違い」を参照してください。
たとえば、最も顕著な変更は、Graph オブジェクトの出力 JSON の id が objectId プロパティに置き換えられたことです。
コマンド引数と動作の破壊的変更を次のセクションに示します。
az ad app create/update
-
--reply-urlsを--web-redirect-urisと--public-client-redirect-urisに分割します -
--homepageを--web-home-page-urlに置き換えます。 -
--available-to-other-tenantsを--sign-in-audienceに置き換えます。 -
--native-appを--is-fallback-public-clientに置き換えます。 -
--oauth2-allow-implicit-flowを--enable-access-token-issuanceに置き換えます。 -
--enable-id-token-issuanceをweb/implicitGrantSettings/enableIdTokenIssuanceに追加します -
--passwordおよび--credential-descriptionを削除します。az ad app credential resetを使用すると、Graph サービスによってパスワードが作成されます (https://github.com/Azure/azure-cli/issues/20675) -
--key-display-nameをkeyCredentialのdisplayNameに設定します
az ad app permission grant
-
--expiresを削除します -
--scopeの既定値はuser_impersonationではなくなり、必須になりました
az ad app credential reset
-
--credential-descriptionを--display-nameに置き換えます (https://github.com/Azure/azure-cli/issues/20561) -
--passwordを削除します。 証明書の引数を指定しなくても、Graph サービスによってパスワードが作成されます (https://github.com/Azure/azure-cli/issues/20675)
az ad sp delete
- このコマンドを実行しても、対応するアプリケーションは削除されなくなりました。 アプリケーションを明示的に削除するには、
az ad app deleteを使用します (https://github.com/Azure/azure-cli/issues/8467) - このコマンドを実行しても、サービスプリンシパルの対応するロール割り当ては削除されなくなりました。 ロールの割り当てを明示的に削除するには、
az role assignment deleteを使用します (https://github.com/Azure/azure-cli/issues/20805)
az ad sp credential
- このコマンド グループは、アプリケーションではなくサービス プリンシパルで動作するようになりました (https://github.com/Azure/azure-cli/issues/11458)
az ad sp credential reset
-
--nameを--idに置き換えます。 -
--passwordを削除します。 証明書の引数を指定しなくても、Graph サービスによってパスワードが作成されます (https://github.com/Azure/azure-cli/issues/20675)
az ad user create
-
--force-change-password-next-loginを--force-change-password-next-sign-inに置き換えます。
az ad user update
-
--force-change-password-next-loginを--force-change-password-next-sign-inに置き換えます。
az ad group get-member-groups
-
--additional-propertiesを削除します
az ad group member add
-
--additional-propertiesを削除します
既知の問題
- 汎用更新引数に関しては、Graph オブジェクトのルート レベルでの
--setのみがサポートされている操作です。 基になるインフラストラクチャの変更が原因で、現在、サブレベルで--add、--removeまたは--setを使用しても機能しません。 サポートされていないシナリオでは、az restを使用して、Microsoft Graph API を直接呼び出すことができます。 https://github.com/Azure/azure-cli/issues/22580 に例があります。 -
az adおよびaz roleのような Microsoft Graph 関連コマンドは、Microsoft Graph のサポートがない Azure Stack 環境では失敗します。 Azure Stack 環境では、Azure CLI 2.36.0 以前のバージョンを使用してください。
以前のバージョンをインストールする
Microsoft Graph のアクセス許可がないなど、移行の準備がまだ整っていない場合は、Azure CLI バージョン <= 2.36.0 を引き続き使用できます。 既に 2.37.0 をインストールしている場合は、インストール ドキュメントの「特定のバージョンをインストールする」のセクションに従って以前のバージョンにロールバックできます (以前のバージョンのインストールをサポートしていない Homebrew を除きます)。
トラブルシューティング
Graph コマンドが AADSTS50005 または AADSTS53000 で失敗する
テナントには、デバイス コード フローを使用して Microsoft Graph にアクセスすることをブロックする条件付きアクセス ポリシーが含まれる場合があります。 このような場合は、代わりに認可コード フローまたはサービス プリンシパルを使用してサインインします。 サインイン方法の詳細については、「Azure CLI を使用してサインインする」を参照してください。
Microsoft テナント (72f988bf-86f1-41af-91ab-2d7cd011db47) には、このような条件付きアクセス ポリシーが構成されています。
詳細情報
Microsoft Graph の移行に関する詳細については、https://github.com/Azure/azure-cli/issues/22580 を参照してください。
フィードバックを送る
ご質問がある場合は、https://github.com/Azure/azure-cli/issues/22580 に返信するか、az feedback コマンドを使用して新しい issue を作成してください。
Azure CLI