Azure CLI での Microsoft Graph 移行の影響
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