Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Because of the deprecation of Azure Active Directory (Azure AD) Graph, the underlying Active Directory Graph API is replaced by Microsoft Graph API in Azure CLI 2.37.0.
Breaking changes
For differences in the underlying API and output JSON breaking changes, refer to Property differences between Azure AD Graph and Microsoft Graph.
For example, the most notable change is that id replaces the objectId property in the output
JSON of a Graph object.
Command argument and behavior breaking changes are listed in the next section.
az ad app create/update
- Split
--reply-urlsinto--web-redirect-urisand--public-client-redirect-uris - Replace
--homepagewith--web-home-page-url - Replace
--available-to-other-tenantswith--sign-in-audience - Replace
--native-appwith--is-fallback-public-client - Replace
--oauth2-allow-implicit-flowwith--enable-access-token-issuance - Add
--enable-id-token-issuanceto setweb/implicitGrantSettings/enableIdTokenIssuance - Remove
--passwordand--credential-description. Useaz ad app credential resetto let Graph service create a password for you (https://github.com/Azure/azure-cli/issues/20675) - Add
--key-display-nameto setkeyCredential'sdisplayName
az ad app permission grant
- Remove
--expires --scopeno longer defaults touser_impersonationand is now required
az ad app credential reset
- Replace
--credential-descriptionwith--display-name(https://github.com/Azure/azure-cli/issues/20561) - Remove
--password. Without specifying certificate arguments, Graph service creates a password for you (https://github.com/Azure/azure-cli/issues/20675)
az ad sp delete
- This command no longer deletes the corresponding application. Use
az ad app deleteto explicitly delete the application (https://github.com/Azure/azure-cli/issues/8467) - This command no longer deletes corresponding role assignments of the service principal. Use
az role assignment deleteto explicitly delete role assignments (https://github.com/Azure/azure-cli/issues/20805)
az ad sp credential
- This command group now operates on service principal, not application (https://github.com/Azure/azure-cli/issues/11458)
az ad sp credential reset
- Replace
--namewith--id - Remove
--password. Without specifying certificate arguments, Graph service creates a password for you (https://github.com/Azure/azure-cli/issues/20675)
az ad user create
- Replace
--force-change-password-next-loginwith--force-change-password-next-sign-in
az ad user update
- Replace
--force-change-password-next-loginwith--force-change-password-next-sign-in
az ad group get-member-groups
- Remove
--additional-properties
az ad group member add
- Remove
--additional-properties
Known issues
- Regarding generic update arguments, the only supported operation is
--seton the root level of a Graph object. Due to the underlying infrastructure change, the use of--add,--remove, or--seton sublevels currently doesn't work. For unsupported scenarios, you could useaz restto directly call Microsoft Graph API. Examples can be found at https://github.com/Azure/azure-cli/issues/22580. - Microsoft Graph related commands like
az adandaz rolefail in Azure Stack environments that lack Microsoft Graph support. Use Azure CLI 2.36.0 or earlier versions for Azure Stack environments.
Install a previous version
If you aren't ready for the migration yet, such as lacking Microsoft Graph permissions, you can continue using Azure CLI versions <= 2.36.0. If you already installed version 2.37.0, you can roll back to a previous version by following the "Install specific version" section in the installation documents (except for Homebrew, which doesn't support installing previous versions).
Troubleshooting
Graph command fails with AADSTS50005 or AADSTS53000
Your tenant might have Conditional Access policies that block the use of device code flow to access Microsoft Graph. In such cases, use authorization code flow or a service principal to sign in instead. For more information about sign-in methods, see Sign in with Azure CLI.
Microsoft tenant (72f988bf-86f1-41af-91ab-2d7cd011db47) has such Conditional Access policies configured.
More information
You can find more information about the Microsoft Graph migration on https://github.com/Azure/azure-cli/issues/22580.
Give feedback
If you have any questions, reply to https://github.com/Azure/azure-cli/issues/22580 or create a new
issue with the az feedback command.