This article is contributed. See the original author and article here.
Because of the retirement of Azure AD Graph has been announced, all applications using the service need to switch to Microsoft Graph, which provides all the functionality of Azure AD Graph along with new functionality. This also apply to the Azure command-line tools (Azure CLI, Azure PowerShell, and Terraform) and we are currently updating our tools to use Microsoft Graph and make it available to you as early as possible to give you enough time to update your code.
Impact on existing scripts
Our principle is to minimize the disruption to existing scripts. Therefore, whenever possible, we will keep the same command signature so that a version upgrade of your tool will be sufficient with no additional effort.
In few cases, the behavioral difference of the Microsoft Graph API from the AzureAD Graph API will induce a breaking change. For example, when creating an Azure AD application, the associated password can no longer be set at creation time. If you want to specify this secret, it must be updated afterward. Along with the preview versions of the tools, we will publish a full list of these breaking changes and instructions how to update your commands.
Azure vs Microsoft Graph command-line tools
AzureAD capabilities in the Azure command-line tools are provided to simplify the getting started experience for script developers, hence the limited scenarios covered with those commands.
While we plan keep supporting a subset of the AzureAD resources in the upcoming releases of our tools, we will implement new Graph capabilities as it pertains to fundamentals like authentication. For resources not supported with the Azure CLIs tools, we recommend using the Microsoft Graph tools: either the Microsoft Graph SDK PowerShell modules or the Microsoft Graph CLI.
Availability and next steps
To help you plan your migration work before the deadline, we are sharing our current timeline:
- October 2021
- Public preview of Azure CLI using MSAL (pre-requisite to migrating to MS Graph)
- Public preview of Azure PowerShell using Microsoft Graph API
- Each tool documentation will have guidance on how to install and test the previews.
- December 2021:
- General availability of Azure PowerShell using Microsoft Graph
- Update of Azure services documentation and scripts using outdated commands
- January 2022:
- Preview of Azure CLI using Microsoft Graph
- Q1 2022:
- GA of Azure CLI using Microsoft Graph
For Terraform, HashiCorp has already completed the migration to Microsoft graph with the AzureAD provider v2. Additional information here: https://registry.terraform.io/providers/hashicorp/azuread/latest/docs/guides/microsoft-graph
While we update the official documentation for Azure tools, you can use the following resources for additional guidance on migrating to Microsoft Graph.
Further information regarding the migration to MSAL and its importance in the migration to MS Graph:
- MSAL migration overview: https://docs.microsoft.com/en-us/azure/active-directory/develop/msal-migration
- App migration check list: https://docs.microsoft.com/en-us/graph/migrate-azure-ad-graph-planning-checklist?view=graph-rest-1.0
The content provided for Terraform, is very useful to understand the API changes:
- Terraform AzureAD provider v2 is now using Microsoft Graph: https://registry.terraform.io/providers/hashicorp/azuread/latest/docs/guides/microsoft-graph
Open issues in the respective repositories if you face any:
- Azure CLI: https://github.com/Azure/azure-cli/issues
- Azure PowerShell: https://github.com/Azure/azure-powershell/issues
- Terraform: https://github.com/hashicorp/terraform-provider-azuread/issues
Let us know what you think in the comment section below.
on behalf of the Azure CLIs tools team
Brought to you by Dr. Ware, Microsoft Office 365 Silver Partner, Charleston SC.