Create, list, or delete a user-assigned managed identity using the Azure CLI
Managed identities for Azure resources provide Azure services with a managed identity in Azure Active Directory. You can use this identity to authenticate to services that support Azure AD authentication, without needing credentials in your code.
In this article, you learn how to create, list, and delete a user-assigned managed identity using Azure CLI.
If you don't already have an Azure account, sign up for a free account before continuing.
- If you're unfamiliar with managed identities for Azure resources, see What are managed identities for Azure resources?. To learn about system-assigned and user-assigned managed identity types, see Managed identity types.
Use Azure Cloud Shell using the Bash environment.
If you prefer, install the Azure CLI to run CLI reference commands.
- If you're using a local installation, sign in to the Azure CLI by using the az login command. To finish the authentication process, follow the steps displayed in your terminal. For additional sign-in options, see Sign in with the Azure CLI.
- When you're prompted, install Azure CLI extensions on first use. For more information about extensions, see Use extensions with the Azure CLI.
- Run az version to find the version and dependent libraries that are installed. To upgrade to the latest version, run az upgrade.
In order to modify user permissions when using an app service principal using CLI you must provide the service principal additional permissions in Azure AD Graph API as portions of CLI perform GET requests against the Graph API. Otherwise, you may end up receiving a 'Insufficient privileges to complete the operation' message. To do this you will need to go into the App registration in Azure Active Directory, select your app, click on API permissions, scroll down and select Azure Active Directory Graph. From there select Application permissions, and then add the appropriate permissions.
Create a user-assigned managed identity
To create a user-assigned managed identity, your account needs the Managed Identity Contributor role assignment.
Use the az identity create command to create a user-assigned managed identity. The
-g parameter specifies the resource group where to create the user-assigned managed identity, and the
-n parameter specifies its name. Replace the
<RESOURCE GROUP> and
<USER ASSIGNED IDENTITY NAME> parameter values with your own values:
When creating user assigned identities, only alphanumeric characters (0-9, a-z, A-Z), the underscore (_) and the hyphen (-) are supported. Additionally, the name should be atleast 3 characters and up to 128 characters in length for the assignment to VM/VMSS to work properly. Check back for updates. For more information, see FAQs and known issues.
az identity create -g <RESOURCE GROUP> -n <USER ASSIGNED IDENTITY NAME>
List user-assigned managed identities
To list user-assigned managed identities, use the az identity list command. Replace the
<RESOURCE GROUP> with your own value:
az identity list -g <RESOURCE GROUP>
In the json response, user-assigned managed identities have
"Microsoft.ManagedIdentity/userAssignedIdentities" value returned for key,
Delete a user-assigned managed identity
To delete a user-assigned managed identity, your account needs the Managed Identity Contributor role assignment.
To delete a user-assigned managed identity, use the az identity delete command. The -n parameter specifies its name and the -g parameter specifies the resource group where the user-assigned managed identity was created. Replace the
<USER ASSIGNED IDENTITY NAME> and
<RESOURCE GROUP> parameters values with your own values:
az identity delete -n <USER ASSIGNED IDENTITY NAME> -g <RESOURCE GROUP>
Deleting a user-assigned managed identity will not remove the reference, from any resource it was assigned to. Please remove those from VM/VMSS using the
az vm/vmss identity remove command
For a full list of Azure CLI identity commands, see az identity.
For information on how to assign a user-assigned managed identity to an Azure VM see, Configure managed identities for Azure resources on an Azure VM using Azure CLI