Configuración de identidades administradas en máquinas virtuales (VM) de Azure
Las identidades administradas para recursos de Azure es una característica de Microsoft Entra ID. Cada servicio de Azure compatible con Managed Identities for Azure Resources está sujeto a su propia escala de tiempo. Asegúrese de revisar el estado de disponibilidad de las identidades administradas para el recurso y los problemas conocidos antes de comenzar.
Las identidades administradas de los recursos de Azure proporcionan a los servicios de Azure una identidad administrada automáticamente en Microsoft Entra ID. Puede usar esta identidad para autenticar a cualquier servicio que admita la autenticación de Microsoft Entra, sin necesidad de tener credenciales en el código.
Para obtener información sobre la definición y los detalles de Azure Policy, consulte Uso de Azure Policy para asignar identidades administradas (versión preliminar).
En este artículo, aprenderá a habilitar y deshabilitar las identidades administradas asignadas por el usuario y el sistema para una máquina virtual (VM) de Azure mediante Azure Portal.
Prerrequisitos
- Si no está familiarizado con las identidades administradas de los recursos de Azure, consulte la sección de introducción.
- Si aún no tiene una cuenta de Azure, regístrese para una cuenta gratuita antes de continuar.
Identidad administrada asignada por el sistema
En esta sección, aprenderá a habilitar y deshabilitar la identidad administrada asignada por el sistema para una VM mediante Azure Portal.
Habilitación de una identidad administrada asignada por el sistema durante la creación de una VM
Para habilitar una identidad administrada asignada por el sistema en una máquina virtual durante su creación, la cuenta necesita la asignación de roles Colaborador de la máquina virtual. No se requiere ninguna otra asignación de roles de directorio de Microsoft Entra.
- En el pestaña Administración de la sección Identidad cambie Managed Service Identity a Activado.
Consulte las siguientes guías de inicio rápido para crear una máquina virtual:
- Creación de una máquina virtual Windows desde Azure Portal
- Creación de una máquina virtuales Linux desde Azure Portal
Habilitación de una identidad administrada asignada por el sistema en una VM existente
Sugerencia
Los pasos de este artículo pueden variar ligeramente en función del portal desde donde comienza.
Para habilitar una identidad administrada asignada por el sistema en una máquina virtual que en un principio se aprovisionó sin dicha identidad, la cuenta necesita la asignación de roles Colaborador de la máquina virtual. No se requiere ninguna otra asignación de roles de directorio de Microsoft Entra.
Inicie sesión en Azure Portal con una cuenta asociada a la suscripción de Azure que contiene la máquina virtual.
Vaya a la máquina virtual que desee y seleccione la página Identidad.
En Asignado por el sistema, en Estado, seleccione Activado y haga clic en Guardar:
Quitar una identidad administrada asignada por el sistema de una VM
Para eliminar una identidad administrada asignada por el sistema de una máquina virtual, la cuenta necesita la asignación de roles Colaborador de la máquina virtual. No se requiere ninguna otra asignación de roles de directorio de Microsoft Entra.
Si tiene una máquina virtual que ya no necesita la identidad administrada asignada por el sistema:
Inicie sesión en Azure Portal con una cuenta asociada a la suscripción de Azure que contiene la máquina virtual.
Vaya a la máquina virtual que desee y seleccione la página Identidad.
En Asignado por el sistema, en Estado, seleccione Desactivado y haga clic en Guardar:
Identidad administrada asignada por el usuario
En esta sección, aprenderá a agregar y quitar una identidad administrada asignada por el usuario desde una VM mediante Azure Portal.
Asignación de una identidad asignada por el usuario durante la creación de una VM
Para asignar una identidad asignada por un usuario a una máquina virtual, la cuenta debe tener las asignaciones de roles Colaborador de la máquina virtual y Operador de identidades administradas. No se requiere ninguna otra asignación de roles de directorio de Microsoft Entra.
En la actualidad, Azure Portal no permite asignar una identidad administrada asignada por el usuario durante la creación de una VM. En su lugar, consulte uno de los artículos de inicio rápido sobre la creación de VM para crear primero una VM y continúe en la siguiente sección, donde encontrará información acerca de cómo asignar la identidad administrada asignada por el usuario a la VM:
- Creación de una máquina virtual Windows desde Azure Portal
- Creación de una máquina virtuales Linux desde Azure Portal
Asignación de una identidad administrada asignada por el usuario a una VM existente
Para asignar una identidad asignada por un usuario a una máquina virtual, la cuenta debe tener las asignaciones de roles Colaborador de la máquina virtual y Operador de identidades administradas. No se requiere ninguna otra asignación de roles de directorio de Microsoft Entra.
Inicie sesión en Azure Portal con una cuenta asociada a la suscripción de Azure que contiene la máquina virtual.
Vaya a la máquina virtual que desee y haga clic en Identidad, Asignado por el usuario y en +Agregar.
Haga clic en la identidad asignada por el usuario que quiera agregar a la VM y, a continuación, en Agregar.
Eliminación de una identidad administrada asignada por el usuario de una VM
Para eliminar una identidad asignada por el usuario de una máquina virtual, la cuenta necesita la asignación de roles Colaborador de la máquina virtual. No se requiere ninguna otra asignación de roles de directorio de Microsoft Entra.
Inicie sesión en Azure Portal con una cuenta asociada a la suscripción de Azure que contiene la máquina virtual.
Vaya a la máquina virtual que quiera y seleccione Identidad, asignada por el usuario, el nombre de la identidad administrada asignada por el usuario que desea eliminar y luego haga clic en Quitar (haga clic en Sí en el panel de confirmación).
Pasos siguientes
- Con Azure Portal, dé a la identidad administrada de una VM de Azure acceso a otro recurso de Azure.
En este artículo, con la CLI de Azure, aprenderá a usar las siguientes identidades administradas para operaciones de recursos de Azure en una VM de Azure:
- Habilitar y deshabilitar la identidad administrada asignada por el sistema en una VM de Azure
- Agregar y quitar una identidad administrada asignada por el usuario en una VM de Azure
Si aún no tiene una cuenta de Azure, regístrese para una cuenta gratuita antes de continuar.
Prerrequisitos
- Si no está familiarizado con las identidades administradas para los recursos de Azure, vea ¿Qué son las identidades administradas para recursos de Azure?. Para obtener información sobre los tipos de identidad administrada asignados por el sistema y asignados por el usuario, consulte Tipos de identidad administrada.
Use el entorno de Bash en Azure Cloud Shell. Para más información, consulte Inicio rápido para Bash en Azure Cloud Shell.
Si prefiere ejecutar comandos de referencia de la CLI localmente, instale la CLI de Azure. Si utiliza Windows o macOS, considere la posibilidad de ejecutar la CLI de Azure en un contenedor Docker. Para más información, vea Ejecución de la CLI de Azure en un contenedor de Docker.
Si usa una instalación local, inicie sesión en la CLI de Azure mediante el comando az login. Siga los pasos que se muestran en el terminal para completar el proceso de autenticación. Para ver otras opciones de inicio de sesión, consulte Inicio de sesión con la CLI de Azure.
En caso de que se le solicite, instale las extensiones de la CLI de Azure la primera vez que la use. Para más información sobre las extensiones, consulte Uso de extensiones con la CLI de Azure.
Ejecute az version para buscar cuál es la versión y las bibliotecas dependientes que están instaladas. Para realizar la actualización a la versión más reciente, ejecute az upgrade.
Identidad administrada asignada por el sistema
En esta sección, aprenderá a habilitar y deshabilitar la identidad administrada asignada por el sistema en una VM de Azure mediante la CLI de Azure.
Habilitación de una identidad administrada asignada por el sistema durante la creación de una VM de Azure
Para crear una máquina virtual de Azure que tenga habilitada la identidad administrada asignada por el sistema, la cuenta debe tener la asignación de roles Colaborador de la máquina Virtual. No se requiere ninguna otra asignación de roles de directorio de Microsoft Entra.
Cree un grupo de recursos para contener e implementar la máquina virtual y sus recursos relacionados, con az group create. Puede omitir este paso si ya tiene un grupo de recursos que le gustaría usar en su lugar:
az group create --name myResourceGroup --location westus
Cree una máquina virtual mediante az vm create. En el ejemplo siguiente, se crea una VM denominada myVM con una identidad administrada asignada por el sistema, como ha solicitado el parámetro
--assign-identity
con--role
y--scope
especificados. Los parámetros--admin-username
y--admin-password
especifican el nombre de usuario administrativo y la contraseña de la cuenta para el inicio de sesión en la máquina virtual. Actualice estos valores según convenga para su entorno:az vm create --resource-group myResourceGroup --name myVM --image win2016datacenter --generate-ssh-keys --assign-identity --role contributor --scope mySubscription --admin-username azureuser --admin-password myPassword12
Habilitación de una identidad administrada asignada por el sistema en una VM de Azure existente
Para habilitar una identidad administrada asignada por el sistema en una máquina virtual, la cuenta necesita la asignación de roles Colaborador de la máquina virtual. No se requiere ninguna otra asignación de roles de directorio de Microsoft Entra.
Si usa la CLI de Azure en una consola local, lo primero que debe hacer es iniciar sesión en Azure mediante el inicio de sesión de az. Use una cuenta asociada a la suscripción de Azure que contenga la máquina virtual.
az login
Use az vm identity assign con el comando
identity assign
para habilitar la identidad asignada por el sistema en una VM existente:az vm identity assign -g myResourceGroup -n myVm
Deshabilitación de una identidad asignada por el sistema desde una VM de Azure
Para deshabilitar una identidad administrada asignada por el sistema en una máquina virtual, la cuenta necesita la asignación de roles Colaborador de la máquina virtual. No se requiere ninguna otra asignación de roles de directorio de Microsoft Entra.
Si tiene una máquina virtual que ya no necesita la identidad asignada por el sistema, pero aún necesita identidades asignadas por el usuario, use el siguiente comando:
az vm update -n myVM -g myResourceGroup --set identity.type='UserAssigned'
Si tiene una máquina virtual que ya no necesita la identidad asignada por el sistema y no tiene identidades asignadas por el usuario, use el siguiente comando:
Nota:
El valor none
no distingue mayúsculas de minúsculas. Debe estar en minúscula.
az vm update -n myVM -g myResourceGroup --set identity.type="none"
Identidad administrada asignada por el usuario
En esta sección, aprenderá a agregar y quitar una identidad administrada asignada por el usuario de una VM de Azure con la CLI de Azure. Si crea la identidad administrada asignada por el usuario en un RG diferente al de la máquina virtual. Tendrá que usar la dirección URL de la identidad administrada para asignarla a la máquina virtual. Por ejemplo:
--identities "/subscriptions/<SUBID>/resourcegroups/<RESROURCEGROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER_ASSIGNED_ID_NAME>"
Asignación de una identidad administrada asignada por el usuario durante la creación de una VM de Azure
Para asignar una identidad asignada por el usuario a una máquina virtual durante su creación, la cuenta debe tener las asignaciones de roles Colaborador de la máquina virtual y Operador de identidades administradas. No se requiere ninguna otra asignación de roles de directorio de Microsoft Entra.
Puede omitir este paso si ya tiene un grupo de recursos que le gustaría usar. Cree un grupo de recursos para contener e implementar la identidad administrada asignada por el usuario mediante az group create. Asegúrese de reemplazar los valores de los parámetros
<RESOURCE GROUP>
y<LOCATION>
con sus propios valores. :az group create --name <RESOURCE GROUP> --location <LOCATION>
Cree una identidad administrada asignada por el usuario mediante az identity create. El parámetro
-g
especifica el grupo de recursos en el que se crea la identidad administrada asignada por el usuario, mientras que el parámetro-n
especifica su nombre.Importante
Al crear identidades administradas asignadas por el usuario, el nombre debe comenzar con una letra o un número, y puede incluir una combinación de caracteres alfanuméricos, guiones (-) y guiones bajos (_). Para que la asignación a una máquina virtual o un conjunto de escalado de máquinas virtuales funcione correctamente, el nombre está limitado a 24 caracteres. Para más información, consulte Preguntas más frecuentes y problemas conocidos.
az identity create -g myResourceGroup -n myUserAssignedIdentity
La respuesta contiene detalles de la identidad administrada asignada por el usuario que se ha creado, de forma similar a lo siguiente. El valor del identificador del recurso asignado a la identidad administrada asignada por el usuario se usa en el paso siguiente.
{ "clientId": "00001111-aaaa-2222-bbbb-3333cccc4444", "clientSecretUrl": "https://control-westcentralus.identity.azure.net/subscriptions/<SUBSCRIPTON ID>/resourcegroups/<RESOURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<myUserAssignedIdentity>/credentials?tid=5678&oid=9012&aid=aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb", "id": "/subscriptions/<SUBSCRIPTON ID>/resourcegroups/<RESOURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY NAME>", "location": "westcentralus", "name": "<USER ASSIGNED IDENTITY NAME>", "principalId": "aaaaaaaa-bbbb-cccc-1111-222222222222", "resourceGroup": "<RESOURCE GROUP>", "tags": {}, "tenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee", "type": "Microsoft.ManagedIdentity/userAssignedIdentities" }
Cree una máquina virtual mediante az vm create. En el ejemplo siguiente, se crea una VM asociada a la nueva identidad asignada por el usuario, según lo especificado por el parámetro
--assign-identity
, con--role
y--scope
especificados. Asegúrese de reemplazar los valores de los parámetros<RESOURCE GROUP>
,<VM NAME>
,<USER NAME>
,<PASSWORD>
,<USER ASSIGNED IDENTITY NAME>
,<ROLE>
y<SUBSCRIPTION>
por sus propios valores.az vm create --resource-group <RESOURCE GROUP> --name <VM NAME> --image <SKU linux image> --admin-username <USER NAME> --admin-password <PASSWORD> --assign-identity <USER ASSIGNED IDENTITY NAME> --role <ROLE> --scope <SUBSCRIPTION>
Asignación de una identidad administrada asignada por el usuario a una VM de Azure existente
Para asignar una identidad asignada por un usuario a una máquina virtual, la cuenta debe tener las asignaciones de roles Colaborador de la máquina virtual y Operador de identidades administradas. No se requiere ninguna otra asignación de roles de directorio de Microsoft Entra.
Cree una identidad asignada por el usuario mediante el cmdlet az identity create. El parámetro
-g
especifica el grupo de recursos donde se crea la identidad asignada por el usuario, mientras que el parámetro-n
especifica su nombre. Asegúrese de reemplazar los valores de los parámetros<RESOURCE GROUP>
y<USER ASSIGNED IDENTITY NAME>
por sus propios valores:Importante
Actualmente, no se admite la creación de identidades administradas asignadas por el usuario con caracteres especiales (por ejemplo, guion bajo) en el nombre. Use caracteres alfanuméricos. Compruebe si hay actualizaciones. Para más información, consulte Preguntas más frecuentes y problemas conocidos.
az identity create -g <RESOURCE GROUP> -n <USER ASSIGNED IDENTITY NAME>
La respuesta contiene detalles de la identidad administrada asignada por el usuario que se ha creado, de forma similar a lo siguiente.
{ "clientId": "00001111-aaaa-2222-bbbb-3333cccc4444", "clientSecretUrl": "https://control-westcentralus.identity.azure.net/subscriptions/<SUBSCRIPTON ID>/resourcegroups/<RESOURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY NAME>/credentials?tid=5678&oid=9012&aid=aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb", "id": "/subscriptions/<SUBSCRIPTON ID>/resourcegroups/<RESOURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY NAME>", "location": "westcentralus", "name": "<USER ASSIGNED IDENTITY NAME>", "principalId": "aaaaaaaa-bbbb-cccc-1111-222222222222", "resourceGroup": "<RESOURCE GROUP>", "tags": {}, "tenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee", "type": "Microsoft.ManagedIdentity/userAssignedIdentities" }
Asignar a su VM la identidad asignada por el usuario mediante az vm identity assign. Asegúrese de reemplazar los valores de los parámetros
<RESOURCE GROUP>
y<VM NAME>
con sus propios valores. El parámetro<USER ASSIGNED IDENTITY NAME>
es la propiedadname
del recurso de la identidad administrada asignar por el usuario, tal como se creó en el paso anterior. Si ha creado la identidad administrada asignada por el usuario en un RG diferente al de la máquina virtual. Tendrá que usar la dirección URL de la identidad administrada.az vm identity assign -g <RESOURCE GROUP> -n <VM NAME> --identities <USER ASSIGNED IDENTITY>
Eliminación de una identidad administrada asignada por el usuario de una VM de Azure
Para quitar una identidad asignada por un usuario de una máquina virtual, la cuenta necesita la asignación de roles Colaborador de la máquina virtual.
Si se trata de la única identidad administrada asignada por el usuario que se ha asignado a una máquina virtual, UserAssigned
se quitará del valor de tipo de identidad. Asegúrese de reemplazar los valores de los parámetros <RESOURCE GROUP>
y <VM NAME>
con sus propios valores. El parámetro <USER ASSIGNED IDENTITY>
será la propiedad name
de la identidad asignada por el usuario, que se puede encontrar en la sección de identidad de la máquina virtual mediante az vm identity show
:
az vm identity remove -g <RESOURCE GROUP> -n <VM NAME> --identities <USER ASSIGNED IDENTITY>
Si la VM no tiene una identidad administrada asignada por el sistema y desea quitar de ella todas las identidades asignadas por el usuario, utilice el siguiente comando:
Nota:
El valor none
no distingue mayúsculas de minúsculas. Debe estar en minúscula.
az vm update -n myVM -g myResourceGroup --set identity.type="none" identity.userAssignedIdentities=null
Si la VM tiene identidades asignadas tanto por el sistema como por el usuario, puede quitar todas las identidades asignadas por el usuario si cambia para usar solo las asignadas por el sistema. Use el comando siguiente:
az vm update -n myVM -g myResourceGroup --set identity.type='SystemAssigned' identity.userAssignedIdentities=null
Pasos siguientes
- Información general sobre las identidades administradas de recursos de Azure
- Para ver guías de inicio rápido completas acerca de la creación de máquinas virtuales de Azure, consulte:
En este artículo, con PowerShell, aprenderá a usar las siguientes identidades administradas para operaciones de recursos de Azure en una máquina virtual de Azure.
Nota:
Se recomienda usar el módulo Azure Az de PowerShell para interactuar con Azure. Consulte Instalación de Azure PowerShell para empezar. Para más información sobre cómo migrar al módulo Az de PowerShell, consulte Migración de Azure PowerShell de AzureRM a Az.
Prerrequisitos
- Si no está familiarizado con las identidades administradas de los recursos de Azure, consulte la sección de introducción. No olvide revisar la diferencia entre una identidad administrada asignada por el sistema y una identidad administrada asignada por el usuario .
- Si aún no tiene una cuenta de Azure, regístrese para una cuenta gratuita antes de continuar.
- Para ejecutar los scripts de ejemplo, tiene dos opciones:
- Use el servicio Azure Cloud Shell, que puede abrir mediante el botón Probar, ubicado en la esquina superior derecha de los bloques de código.
- Ejecute scripts localmente instalando la versión más reciente de Azure PowerShell y, a continuación, inicie sesión en Azure con
Connect-AzAccount
.
Identidad administrada asignada por el sistema
En esta sección, se describe cómo habilitar y deshabilitar la identidad administrada asignada por el sistema con Azure PowerShell.
Habilitación de una identidad administrada asignada por el sistema durante la creación de una VM de Azure
Para crear una máquina virtual de Azure que tenga habilitada la identidad administrada asignada por el sistema, la cuenta debe tener la asignación de roles Colaborador de la máquina Virtual. No se requiere ninguna otra asignación de roles de directorio de Microsoft Entra.
Consulte una de las siguientes guías de inicio rápido sobre máquinas virtuales de Azure y finalice solo las secciones necesarias ("Iniciar sesión en Azure", "Creación de un grupo de recursos", "Creación de un grupo de red", "Creación de la máquina virtual").
Cuando llegue a la sección "Creación de la máquina virtual", realice una pequeña modificación en la sintaxis del cmdlet New-AzVMConfig. Asegúrese de agregar un parámetro
-IdentityType SystemAssigned
para aprovisionar la máquina virtual con la identidad asignada por el sistema habilitada, por ejemplo:$vmConfig = New-AzVMConfig -VMName myVM -IdentityType SystemAssigned ...
Habilitación de una identidad administrada asignada por el sistema en una VM de Azure existente
Para habilitar una identidad administrada asignada por el sistema en una máquina virtual que en un principio se aprovisionó sin dicha identidad, la cuenta necesita la asignación de roles Colaborador de la máquina virtual. No se requiere ninguna otra asignación de roles de directorio de Microsoft Entra.
Recupere las propiedades de la máquina virtual mediante el cmdlet
Get-AzVM
. Después, para habilitar una identidad administrada asignada por el sistema, use el modificador-IdentityType
en el cmdlet Update-AzVM:$vm = Get-AzVM -ResourceGroupName myResourceGroup -Name myVM Update-AzVM -ResourceGroupName myResourceGroup -VM $vm -IdentityType SystemAssigned
Adición de una identidad asignada por el sistema de una VM a un grupo
Después de haber habilitado la identidad asignada por el sistema en una VM, puede agregarla a un grupo. Con el siguiente procedimiento se agrega la identidad asignada por el sistema de la VM a un grupo.
Recupere y anote el
ObjectID
(según lo especificado en el campoId
de valores devueltos) de la entidad de servicio de la VM:Get-AzADServicePrincipal -displayname "myVM"
Recupere y anote el
ObjectID
(según lo especificado en el campoId
de valores devueltos) del grupo:Get-AzADGroup -searchstring "myGroup"
Agregue la entidad de servicio de la VM al grupo:
New-MgGroupMember -GroupId "<Id of group>" -DirectoryObjectId "<Id of VM service principal>"
Deshabilitación de una identidad administrada asignada por el sistema de una VM de Azure
Para deshabilitar una identidad administrada asignada por el sistema en una máquina virtual, la cuenta necesita la asignación de roles Colaborador de la máquina virtual. No se requiere ninguna otra asignación de roles de directorio de Microsoft Entra.
Si tiene una máquina virtual que ya no necesita la identidad administrada asignada por el sistema, pero aún necesita identidades administradas asignadas por el usuario, use el siguiente cmdlet:
Recupere las propiedades de la máquina virtual mediante el cmdlet
Get-AzVM
y establezca el parámetro-IdentityType
enUserAssigned
:$vm = Get-AzVM -ResourceGroupName myResourceGroup -Name myVM Update-AzVm -ResourceGroupName myResourceGroup -VM $vm -IdentityType "UserAssigned" -IdentityID "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/<RESROURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY NAME>..."
Si tiene una máquina virtual que ya no necesita la identidad administrada asignada por el sistema y no tiene identidades administradas asignadas por el usuario, use los siguientes comandos:
$vm = Get-AzVM -ResourceGroupName myResourceGroup -Name myVM
Update-AzVm -ResourceGroupName myResourceGroup -VM $vm -IdentityType None
Identidad administrada asignada por el usuario
En esta sección, aprenderá a agregar y quitar una identidad administrada asignada por el usuario de una máquina virtual con Azure PowerShell.
Asignación de una identidad administrada asignada por el usuario a una máquina virtual durante la creación
Para asignar una identidad asignada por un usuario a una máquina virtual, la cuenta debe tener las asignaciones de roles Colaborador de la máquina virtual y Operador de identidades administradas. No se requiere ninguna otra asignación de roles de directorio de Microsoft Entra.
Consulte una de las siguientes guías de inicio rápido sobre máquinas virtuales de Azure y finalice solo las secciones necesarias ("Iniciar sesión en Azure", "Creación de un grupo de recursos", "Creación de un grupo de red", "Creación de la máquina virtual").
Cuando llegue a la sección "Creación de la máquina virtual", realice una pequeña modificación en la sintaxis del cmdlet
New-AzVMConfig
. Agregue los parámetros-IdentityType UserAssigned
y-IdentityID
para aprovisionar la máquina virtual con una identidad asignada por el usuario. Reemplace<VM NAME>
,<SUBSCRIPTION ID>
,<RESROURCE GROUP>
y<USER ASSIGNED IDENTITY NAME>
con sus propios valores. Por ejemplo:$vmConfig = New-AzVMConfig -VMName <VM NAME> -IdentityType UserAssigned -IdentityID "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/<RESROURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY NAME>..."
Asignación de una identidad administrada asignada por el usuario a una VM de Azure existente
Para asignar una identidad asignada por un usuario a una máquina virtual, la cuenta debe tener las asignaciones de roles Colaborador de la máquina virtual y Operador de identidades administradas. No se requiere ninguna otra asignación de roles de directorio de Microsoft Entra.
Cree una identidad administrada asignada por el usuario mediante el cmdlet New-AzUserAssignedIdentity. Anote
Id
en la salida, porque necesitará esta información en el paso siguiente.Importante
La creación de identidades administradas asignadas por el usuario solo admite caracteres alfanuméricos, subrayados y guiones (0-9, a-z, A-Z, _ o -). Además, el nombre debe limitarse a una longitud de entre 3 y 128 caracteres para que la asignación a VM/VMSS funcione correctamente. Para más información, consulte Preguntas más frecuentes y problemas conocidos.
New-AzUserAssignedIdentity -ResourceGroupName <RESOURCEGROUP> -Name <USER ASSIGNED IDENTITY NAME>
Recupere las propiedades de la máquina virtual mediante el cmdlet
Get-AzVM
. A continuación, para asignar una identidad administrada asignada por el usuario a la máquina virtual de Azure, use los modificadores-IdentityType
y-IdentityID
en el cmdlet Update-AzVM. El valor del parámetro-IdentityId
es elId
que ha anotado en el paso anterior. Reemplace<VM NAME>
,<SUBSCRIPTION ID>
,<RESROURCE GROUP>
y<USER ASSIGNED IDENTITY NAME>
con sus propios valores.Advertencia
Para conservar las identidades administradas previamente asignadas al usuario, pero asignadas ahora a la máquina virtual, consulte la propiedad
Identity
del objeto de la máquina virtual (por ejemplo,$vm.Identity
). Si se devuelven identidades administradas asignadas al usuario, inclúyalas en el siguiente comando junto con la nueva identidad administrada asignada por el usuario que desea asignar a la máquina virtual.$vm = Get-AzVM -ResourceGroupName <RESOURCE GROUP> -Name <VM NAME> # Get the list of existing identity IDs and then append to it $identityIds = $vm.Identity.UserAssignedIdentities.Keys $uid = "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/<RESROURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY NAME>" $identityIds = $identityIds + $uid # Update the VM with added identity IDs Update-AzVM -ResourceGroupName <RESOURCE GROUP> -VM $vm -IdentityType UserAssigned -IdentityID $uid
Eliminación de una identidad administrada asignada por el usuario de una VM de Azure
Para quitar una identidad asignada por un usuario de una máquina virtual, la cuenta necesita la asignación de roles Colaborador de la máquina virtual.
Si la máquina virtual tiene varias identidades administradas asignadas por el usuario, puede quitar todas, menos la última, mediante los comandos siguientes. Asegúrese de reemplazar los valores de los parámetros <RESOURCE GROUP>
y <VM NAME>
con sus propios valores. <USER ASSIGNED IDENTITY NAME>
es la propiedad de nombre de la identidad administrada asignada por el usuario, que debe permanecer en la máquina virtual. Esta información se puede detectar mediante una consulta para buscar la propiedad Identity
del objeto de máquina virtual. Por ejemplo, $vm.Identity
:
$vm = Get-AzVm -ResourceGroupName myResourceGroup -Name myVm
Update-AzVm -ResourceGroupName myResourceGroup -VirtualMachine $vm -IdentityType UserAssigned -IdentityID <USER ASSIGNED IDENTITY NAME>
Si la máquina virtual no tiene una identidad administrada asignada por el sistema y desea quitar de ella todas las identidades administradas asignadas por el usuario, utilice el siguiente comando:
$vm = Get-AzVm -ResourceGroupName myResourceGroup -Name myVm
Update-AzVm -ResourceGroupName myResourceGroup -VM $vm -IdentityType None
Si la máquina virtual tiene identidades administradas asignadas tanto por el sistema como por el usuario, puede quitar todas las identidades administradas asignadas por el usuario si cambia para usar solo las identidades administradas asignadas por el sistema.
$vm = Get-AzVm -ResourceGroupName myResourceGroup -Name myVm
Update-AzVm -ResourceGroupName myResourceGroup -VirtualMachine $vm -IdentityType "SystemAssigned"
Pasos siguientes
Información general sobre las identidades administradas de recursos de Azure
Para ver guías de inicio rápido completas acerca de la creación de máquinas virtuales de Azure, consulte:
En este artículo, con la plantilla de implementación de Azure Resource Manager, aprenderá a usar las siguientes entidades administradas para operaciones de recursos de Azure en una VM de Azure:
Prerrequisitos
- Si no está familiarizado con el uso de la plantilla de implementación de Azure Resource Manager, consulte la sección de información general. No olvide revisar la diferencia entre una identidad administrada asignada por el sistema y una identidad administrada asignada por el usuario .
- Si aún no tiene una cuenta de Azure, regístrese para una cuenta gratuita antes de continuar.
Plantillas del Administrador de recursos de Azure
Al igual que con Azure Portal y los scripts, las plantillas de Azure Resource Manager le permiten implementar recursos nuevos o modificados definidos por un grupo de recursos de Azure. Existen varias opciones para la edición e implementación de plantillas, tanto localmente como basadas en el portal, incluidas:
- Usar una plantilla personalizada de Azure Marketplace, que permite crear una plantilla desde cero, o bien basada en una plantilla común existente o en una plantilla de inicio rápido.
- Derivar a partir de un grupo de recursos existente, exportando una plantilla de la implementación original o del estado actual de la implementación.
- Usar un editor de JSON (por ejemplo, VS Code) local y, a continuación, cargarla e implementarla con PowerShell o la CLI.
- Usar el proyecto del grupo de recursos de Azure de Visual Studio tanto para crear como para implementar una plantilla.
Independientemente de la opción que elija, la sintaxis de la plantilla es la misma durante la implementación inicial y posteriores implementaciones. La habilitación de una identidad administrada asignada por el sistema o el usuario en una VM existente o nueva se realiza de la misma forma. Además, de forma predeterminada, Azure Resource Manager realiza una actualización incremental en las implementaciones.
Identidad administrada asignada por el sistema
En esta sección, se habilita y deshabilita una identidad administrada asignada por el sistema con una plantilla de Azure Resource Manager.
Habilitación de una identidad administrada asignada por el sistema durante la creación de una VM o en una VM existente de Azure
Para habilitar una identidad administrada asignada por el sistema en una máquina virtual, la cuenta necesita la asignación de roles Colaborador de la máquina virtual. No se requiere ninguna otra asignación de roles de directorio de Microsoft Entra.
Independientemente de que inicie sesión localmente en Azure o mediante Azure Portal, use una cuenta que esté asociada a la suscripción de Azure que contiene la máquina virtual.
Para habilitar la identidad administrada asignada por el sistema, cargue la plantilla en un editor, busque el recurso de interés
Microsoft.Compute/virtualMachines
en la secciónresources
y agregue la propiedad"identity"
en el mismo nivel que la propiedad"type": "Microsoft.Compute/virtualMachines"
. Use la sintaxis siguiente:"identity": { "type": "SystemAssigned" },
Cuando haya terminado, deben agregarse las siguientes secciones a la sección
resource
de la plantilla para que se parezca a la siguiente:"resources": [ { //other resource provider properties... "apiVersion": "2018-06-01", "type": "Microsoft.Compute/virtualMachines", "name": "[variables('vmName')]", "location": "[resourceGroup().location]", "identity": { "type": "SystemAssigned", } } ]
Asignación de un rol a la identidad administrada asignada por el sistema de la VM
Después de haber habilitado la identidad administrada asignada por el sistema en la máquina virtual, quizá quiera concederle un rol con el acceso de lector al grupo de recursos en el que se creó. En el artículo Asignación de roles de Azure mediante plantillas de Azure Resource Manager encontrará información detallada que le ayudará con este paso.
Deshabilitación de una identidad administrada asignada por el sistema en una VM de Azure
Para eliminar una identidad administrada asignada por el sistema de una máquina virtual, la cuenta necesita la asignación de roles Colaborador de la máquina virtual. No se requiere ninguna otra asignación de roles de directorio de Microsoft Entra.
Independientemente de que inicie sesión localmente en Azure o mediante Azure Portal, use una cuenta que esté asociada a la suscripción de Azure que contiene la máquina virtual.
Cargue la plantilla en un editor y busque el
Microsoft.Compute/virtualMachines
recurso de interés dentro de la secciónresources
. Si dispone de una VM que solo tenga una identidad administrada asignada por el sistema, puede deshabilitarla cambiando el tipo de identidad aNone
.Microsoft.Compute/virtualMachines versión 2018-06-01 de la API
Si la VM tiene identidades administradas asignadas tanto por el usuario como por el sistema, quite
SystemAssigned
del tipo de identidad y conserveUserAssigned
junto con los valores de diccionariouserAssignedIdentities
.Microsoft.Compute/virtualMachines versión 2018-06-01 de la API
Si
apiVersion
es2017-12-01
y la VM tiene identidades administradas asignadas tanto por el usuario como por el sistema, quiteSystemAssigned
del tipo de identidad y conserveUserAssigned
junto con la matrizidentityIds
de identidades administradas asignadas por el usuario.
En el ejemplo siguiente se muestra cómo quitar una identidad administrada asignada por el sistema de una VM sin identidades administradas asignadas por el usuario:
{
"apiVersion": "2018-06-01",
"type": "Microsoft.Compute/virtualMachines",
"name": "[parameters('vmName')]",
"location": "[resourceGroup().location]",
"identity": {
"type": "None"
}
}
Identidad administrada asignada por el usuario
En esta sección, asignará una identidad administrada asignada por el usuario a una VM de Azure mediante la plantilla de Azure Resource Manager.
Nota:
Para crear una identidad administrada asignada por el usuario mediante una plantilla de Azure Resource Manager, consulte Create a user-assigned managed identity (Creación de una identidad administrada asignada por el usuario).
Asignación de una identidad administrada asignada por el usuario a una VM de Azure
Para asignar una identidad asignada por un usuario a una máquina virtual, la cuenta debe tener la asignación del rol Operador de identidades administradas. No se requiere ninguna otra asignación de roles de directorio de Microsoft Entra.
En el elemento
resources
, agregue la siguiente entrada para asignar una identidad administrada asignada por el usuario a la VM. No olvide reemplazar<USERASSIGNEDIDENTITY>
con el nombre de la identidad administrada asignada por el usuario que ha creado.Microsoft.Compute/virtualMachines versión 2018-06-01 de la API
Si
apiVersion
es2018-06-01
, las identidades administradas asignadas por el usuario se almacenan en el formato de diccionariouserAssignedIdentities
y el valor<USERASSIGNEDIDENTITYNAME>
debe almacenarse en una variable definida en la secciónvariables
de la plantilla.{ "apiVersion": "2018-06-01", "type": "Microsoft.Compute/virtualMachines", "name": "[variables('vmName')]", "location": "[resourceGroup().location]", "identity": { "type": "userAssigned", "userAssignedIdentities": { "[resourceID('Microsoft.ManagedIdentity/userAssignedIdentities/',variables('<USERASSIGNEDIDENTITYNAME>'))]": {} } } }
Microsoft.Compute/virtualMachines versión 2017-12-01 de la API
Si
apiVersion
es2017-12-01
, las identidades administradas asignadas por el usuario se almacenan en la matrizidentityIds
y el valor<USERASSIGNEDIDENTITYNAME>
debe almacenarse en una variable definida en la secciónvariables
de la plantilla.{ "apiVersion": "2017-12-01", "type": "Microsoft.Compute/virtualMachines", "name": "[variables('vmName')]", "location": "[resourceGroup().location]", "identity": { "type": "userAssigned", "identityIds": [ "[resourceID('Microsoft.ManagedIdentity/userAssignedIdentities/',variables('<USERASSIGNEDIDENTITYNAME>'))]" ] } }
Cuando haya terminado, deben agregarse las siguientes secciones a la sección
resource
de la plantilla para que se parezca a la siguiente:Microsoft.Compute/virtualMachines versión 2018-06-01 de la API
"resources": [ { //other resource provider properties... "apiVersion": "2018-06-01", "type": "Microsoft.Compute/virtualMachines", "name": "[variables('vmName')]", "location": "[resourceGroup().location]", "identity": { "type": "userAssigned", "userAssignedIdentities": { "[resourceID('Microsoft.ManagedIdentity/userAssignedIdentities/',variables('<USERASSIGNEDIDENTITYNAME>'))]": {} } } } ]
Microsoft.Compute/virtualMachines versión 2017-12-01 de la API
"resources": [ { //other resource provider properties... "apiVersion": "2017-12-01", "type": "Microsoft.Compute/virtualMachines", "name": "[variables('vmName')]", "location": "[resourceGroup().location]", "identity": { "type": "userAssigned", "identityIds": [ "[resourceID('Microsoft.ManagedIdentity/userAssignedIdentities/',variables('<USERASSIGNEDIDENTITYNAME>'))]" ] } } ]
Eliminación de una identidad administrada asignada por el usuario de una VM de Azure
Para eliminar una identidad asignada por el usuario de una máquina virtual, la cuenta necesita la asignación de roles Colaborador de la máquina virtual. No se requiere ninguna otra asignación de roles de directorio de Microsoft Entra.
Independientemente de que inicie sesión localmente en Azure o mediante Azure Portal, use una cuenta que esté asociada a la suscripción de Azure que contiene la máquina virtual.
Cargue la plantilla en un editor y busque el
Microsoft.Compute/virtualMachines
recurso de interés dentro de la secciónresources
. Si dispone de una máquina virtual que solo tenga una identidad administrada asignada por el usuario, puede deshabilitarla cambiando el tipo de identidad aNone
.En el ejemplo siguiente se muestra cómo quitar todas las identidades administradas asignadas por un usuario de una VM sin identidades administradas asignadas por el sistema:
{ "apiVersion": "2018-06-01", "type": "Microsoft.Compute/virtualMachines", "name": "[parameters('vmName')]", "location": "[resourceGroup().location]", "identity": { "type": "None" }, }
Microsoft.Compute/virtualMachines versión 2018-06-01 de la API
Para quitar una identidad administrada asignada por un usuario único de una VM, elimínela del diccionario
useraAssignedIdentities
.Si tiene una identidad administrada asignada por el sistema, consérvela en el valor
type
deidentity
.Microsoft.Compute/virtualMachines versión 2017-12-01 de la API
Para quitar una identidad administrada asignada por un usuario único de una máquina virtual, elimínela de la matriz
identityIds
.Si tiene una identidad administrada asignada por el sistema, consérvela en el valor
type
deidentity
.
Pasos siguientes
En este artículo, mediante CURL para llamar al punto de conexión REST de Azure Resource Manager, aprenderá a realizar las siguientes operaciones de identidades administradas de recursos de Azure en una VM de Azure:
- Habilitar y deshabilitar la identidad administrada asignada por el sistema en una VM de Azure
- Agregar y quitar una identidad administrada asignada por el usuario en una VM de Azure
Si aún no tiene una cuenta de Azure, regístrese para una cuenta gratuita antes de continuar.
Prerrequisitos
- Si no está familiarizado con las identidades administradas para los recursos de Azure, vea ¿Qué son las identidades administradas para recursos de Azure?. Para obtener información sobre los tipos de identidad administrada asignados por el sistema y asignados por el usuario, consulte Tipos de identidad administrada.
Use el entorno de Bash en Azure Cloud Shell. Para más información, consulte Inicio rápido para Bash en Azure Cloud Shell.
Si prefiere ejecutar comandos de referencia de la CLI localmente, instale la CLI de Azure. Si utiliza Windows o macOS, considere la posibilidad de ejecutar la CLI de Azure en un contenedor Docker. Para más información, vea Ejecución de la CLI de Azure en un contenedor de Docker.
Si usa una instalación local, inicie sesión en la CLI de Azure mediante el comando az login. Siga los pasos que se muestran en el terminal para completar el proceso de autenticación. Para ver otras opciones de inicio de sesión, consulte Inicio de sesión con la CLI de Azure.
En caso de que se le solicite, instale las extensiones de la CLI de Azure la primera vez que la use. Para más información sobre las extensiones, consulte Uso de extensiones con la CLI de Azure.
Ejecute az version para buscar cuál es la versión y las bibliotecas dependientes que están instaladas. Para realizar la actualización a la versión más reciente, ejecute az upgrade.
Identidad administrada asignada por el sistema
En esta sección, aprenderá a habilitar y deshabilitar una identidad administrada asignada por el sistema en una máquina virtual de Azure mediante CURL para llamar al punto de conexión de REST de Azure Resource Manager.
Habilitación de una identidad administrada asignada por el sistema durante la creación de una VM de Azure
Para crear una máquina virtual de Azure que tenga habilitada la identidad administrada asignada por el sistema, la cuenta debe tener la asignación de roles Colaborador de la máquina Virtual. No se requiere ninguna otra asignación de roles de directorio de Microsoft Entra.
Cree un grupo de recursos para contener e implementar la máquina virtual y sus recursos relacionados, con az group create. Puede omitir este paso si ya tiene un grupo de recursos que le gustaría usar en su lugar:
az group create --name myResourceGroup --location westus
Cree una interfaz de red para la máquina virtual:
az network nic create -g myResourceGroup --vnet-name myVnet --subnet mySubnet -n myNic
Recupere un token de acceso de portador, que utilizará en el siguiente paso en el encabezado de autorización para crear la máquina virtual con una identidad administrada asignada por el sistema.
az account get-access-token
Utilice Azure Cloud Shell para crear una máquina virtual mediante CURL para llamar al punto de conexión REST de Azure Resource Manager. En el ejemplo siguiente, se crea una máquina virtual denominada myVM con una identidad administrada asignada por el sistema, como ha identificado en el cuerpo de la solicitud el valor
"identity":{"type":"SystemAssigned"}
. Reemplace<ACCESS TOKEN>
por el valor que ha recibido en el paso anterior cuando solicitó un token de acceso de portador y el valor<SUBSCRIPTION ID>
según sea apropiado para su entorno.curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01' -X PUT -d '{"location":"westus","name":"myVM","identity":{"type":"SystemAssigned"},"properties":{"hardwareProfile":{"vmSize":"Standard_D2_v2"},"storageProfile":{"imageReference":{"sku":"2016-Datacenter","publisher":"MicrosoftWindowsServer","version":"latest","offer":"WindowsServer"},"osDisk":{"caching":"ReadWrite","managedDisk":{"storageAccountType":"StandardSSD_LRS"},"name":"myVM3osdisk","createOption":"FromImage"},"dataDisks":[{"diskSizeGB":1023,"createOption":"Empty","lun":0},{"diskSizeGB":1023,"createOption":"Empty","lun":1}]},"osProfile":{"adminUsername":"azureuser","computerName":"myVM","adminPassword":"<SECURE PASSWORD STRING>"},"networkProfile":{"networkInterfaces":[{"id":"/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/myNic","properties":{"primary":true}}]}}}' -H "Content-Type: application/json" -H "Authorization: Bearer <ACCESS TOKEN>"
PUT https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01 HTTP/1.1
Encabezados de solicitud
Encabezado de solicitud Descripción Content-Type Necesario. Establézcalo en application/json
.Autorización Necesario. Establézcalo en un token de acceso Bearer
válido.Cuerpo de la solicitud
{ "location":"westus", "name":"myVM", "identity":{ "type":"SystemAssigned" }, "properties":{ "hardwareProfile":{ "vmSize":"Standard_D2_v2" }, "storageProfile":{ "imageReference":{ "sku":"2016-Datacenter", "publisher":"MicrosoftWindowsServer", "version":"latest", "offer":"WindowsServer" }, "osDisk":{ "caching":"ReadWrite", "managedDisk":{ "storageAccountType":"StandardSSD_LRS" }, "name":"myVM3osdisk", "createOption":"FromImage" }, "dataDisks":[ { "diskSizeGB":1023, "createOption":"Empty", "lun":0 }, { "diskSizeGB":1023, "createOption":"Empty", "lun":1 } ] }, "osProfile":{ "adminUsername":"azureuser", "computerName":"myVM", "adminPassword":"myPassword12" }, "networkProfile":{ "networkInterfaces":[ { "id":"/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/myNic", "properties":{ "primary":true } } ] } } }
Habilitación de la identidad asignada por el sistema en una máquina virtual de Azure existente
Para habilitar una identidad administrada asignada por el sistema en una máquina virtual que en un principio se aprovisionó sin dicha identidad, la cuenta necesita la asignación de roles Colaborador de la máquina virtual. No se requiere ninguna otra asignación de roles de directorio de Microsoft Entra.
Recupere un token de acceso de portador, que utilizará en el siguiente paso en el encabezado de autorización para crear la máquina virtual con una identidad administrada asignada por el sistema.
az account get-access-token
Use el comando CURL siguiente para llamar al punto de conexión REST de Azure Resource Manager para habilitar la identidad administrada asignada por el sistema en la máquina virtual, como se identifica en el cuerpo de la solicitud por el valor
{"identity":{"type":"SystemAssigned"}
para una máquina virtual denominada myVM. Reemplace<ACCESS TOKEN>
por el valor que ha recibido en el paso anterior cuando solicitó un token de acceso de portador y el valor<SUBSCRIPTION ID>
según sea apropiado para su entorno.Importante
Para asegurarse de que no elimina ninguna de las identidades administradas asignadas por el usuario que están asignadas a la máquina virtual, necesita enumerar las identidades administradas asignadas por el usuario mediante este comando CURL:
curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.Compute/virtualMachines/<VM NAME>?api-version=2018-06-01' -H "Authorization: Bearer <ACCESS TOKEN>"
. Si tiene asignadas identidades administradas asignadas por el usuario a la máquina virtual como se identifica en el valoridentity
de la respuesta, vaya al paso 3 que muestra cómo conservar las identidades administradas asignadas por el usuario mientras se habilita la identidad administrada asignada por el sistema en la máquina virtual.curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01' -X PATCH -d '{"identity":{"type":"SystemAssigned"}}' -H "Content-Type: application/json" -H "Authorization:Bearer <ACCESS TOKEN>"
PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01 HTTP/1.1
Encabezados de solicitud
Encabezado de solicitud Descripción Content-Type Necesario. Establézcalo en application/json
.Autorización Necesario. Establézcalo en un token de acceso Bearer
válido.Cuerpo de la solicitud
{ "identity":{ "type":"SystemAssigned" } }
Para habilitar la identidad administrada asignada por el sistema en una máquina virtual con identidades administradas existentes asignadas por el usuario, debe agregar
SystemAssigned
al valortype
.Por ejemplo, si la máquina virtual tiene asignadas las identidades administradas asignadas por el usuario
ID1
yID2
, y desea agregar una identidad administrada asignada por el sistema a dicha máquina virtual, utilice la siguiente llamada CURL. Reemplace<ACCESS TOKEN>
y<SUBSCRIPTION ID>
por los valores adecuados para su entorno.La versión de API
2018-06-01
almacena las identidades administradas asignadas por el usuario en el valoruserAssignedIdentities
en un formato de diccionario, en contraposición con el valoridentityIds
en formato de matriz que se usaba en la versión2017-12-01
de la API.VERSIÓN DE API 2018-06-01
curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01' -X PATCH -d '{"identity":{"type":"SystemAssigned, UserAssigned", "userAssignedIdentities":{"/subscriptions/<<SUBSCRIPTION ID>>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1":{},"/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2":{}}}}' -H "Content-Type: application/json" -H "Authorization:Bearer <ACCESS TOKEN>"
PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01 HTTP/1.1
Encabezados de solicitud
Encabezado de solicitud Descripción Content-Type Necesario. Establézcalo en application/json
.Autorización Necesario. Establézcalo en un token de acceso Bearer
válido.Cuerpo de la solicitud
{ "identity":{ "type":"SystemAssigned, UserAssigned", "userAssignedIdentities":{ "/subscriptions/<<SUBSCRIPTION ID>>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1":{ }, "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2":{ } } } }
VERSIÓN DE API 2017-12-01
curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2017-12-01' -X PATCH -d '{"identity":{"type":"SystemAssigned, UserAssigned", "identityIds":["/subscriptions/<<SUBSCRIPTION ID>>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1","/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2"]}}' -H "Content-Type: application/json" -H "Authorization:Bearer <ACCESS TOKEN>"
PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2017-12-01 HTTP/1.1
Encabezados de solicitud
Encabezado de solicitud Descripción Content-Type Necesario. Establézcalo en application/json
.Autorización Necesario. Establézcalo en un token de acceso Bearer
válido.Cuerpo de la solicitud
{ "identity":{ "type":"SystemAssigned, UserAssigned", "identityIds":[ "/subscriptions/<<SUBSCRIPTION ID>>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1", "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2" ] } }
Deshabilitación de una identidad administrada asignada por el sistema de una VM de Azure
Para deshabilitar una identidad administrada asignada por el sistema en una máquina virtual, la cuenta necesita la asignación de roles Colaborador de la máquina virtual. No se requiere ninguna otra asignación de roles de directorio de Microsoft Entra.
Recupere un token de acceso de portador, que utilizará en el siguiente paso en el encabezado de autorización para crear la máquina virtual con una identidad administrada asignada por el sistema.
az account get-access-token
Actualice la máquina virtual mediante CURL para llamar al punto de conexión REST de Azure Resource Manager para deshabilitar la identidad administrada asignada por el sistema. En el ejemplo siguiente, se deshabilita una identidad administrada asignada por el sistema en el cuerpo de la solicitud por el valor
{"identity":{"type":"None"}}
desde una máquina virtual denominada myVM. Reemplace<ACCESS TOKEN>
por el valor que ha recibido en el paso anterior cuando solicitó un token de acceso de portador y el valor<SUBSCRIPTION ID>
según sea apropiado para su entorno.Importante
Para asegurarse de que no elimina ninguna de las identidades administradas asignadas por el usuario que están asignadas a la máquina virtual, necesita enumerar las identidades administradas asignadas por el usuario mediante este comando CURL:
curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.Compute/virtualMachines/<VM NAME>?api-version=2018-06-01' -H "Authorization: Bearer <ACCESS TOKEN>"
. Si tiene asignadas identidades administradas asignadas por el usuario a la máquina virtual como se identifica en el valoridentity
de la respuesta, vaya al paso 3 que muestra cómo conservar las identidades administradas asignadas por el usuario mientras se deshabilita la identidad administrada asignada por el sistema en la máquina virtual.curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01' -X PATCH -d '{"identity":{"type":"None"}}' -H "Content-Type: application/json" -H "Authorization:Bearer <ACCESS TOKEN>"
PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01 HTTP/1.1
Encabezados de solicitud
Encabezado de solicitud Descripción Content-Type Necesario. Establézcalo en application/json
.Autorización Necesario. Establézcalo en un token de acceso Bearer
válido.Cuerpo de la solicitud
{ "identity":{ "type":"None" } }
Para quitar la identidad administrada asignada por el sistema de una máquina virtual que tiene identidades administradas asignadas por el usuario, quite
SystemAssigned
del valor{"identity":{"type:" "}}
mientras mantiene el valorUserAssigned
y los valores de diccionariouserAssignedIdentities
, si está utilizando la versión de API 2018-06-01. Si está usando la versión de API 2017-12-01 o versiones anteriores, mantenga la matrizidentityIds
.
Identidad administrada asignada por el usuario
En esta sección, aprenderá a agregar y a quitar una identidad administrada asignada por el usuario en una máquina virtual de Azure mediante CURL para llamar al punto de conexión de REST de Azure Resource Manager.
Asignación de una identidad administrada asignada por el usuario durante la creación de una VM de Azure
Para asignar una identidad asignada por un usuario a una máquina virtual, la cuenta debe tener las asignaciones de roles Colaborador de la máquina virtual y Operador de identidades administradas. No se requiere ninguna otra asignación de roles de directorio de Microsoft Entra.
Recupere un token de acceso de portador, que utilizará en el siguiente paso en el encabezado de autorización para crear la máquina virtual con una identidad administrada asignada por el sistema.
az account get-access-token
Cree una interfaz de red para la máquina virtual:
az network nic create -g myResourceGroup --vnet-name myVnet --subnet mySubnet -n myNic
Recupere un token de acceso de portador, que utilizará en el siguiente paso en el encabezado de autorización para crear la máquina virtual con una identidad administrada asignada por el sistema.
az account get-access-token
Cree una identidad asignada por el usuario mediante las instrucciones que se encuentran aquí: Creación de una identidad administrada asignada por el usuario.
Cree una máquina virtual con CURL para llamar al punto de conexión REST de Azure Resource Manager. En el ejemplo siguiente se crea una máquina virtual denominada myVM en el grupo de recursos myResourceGroup con una identidad administrada asignada por el usuario
ID1
, como se identificó en el cuerpo de la solicitud por el valor"identity":{"type":"UserAssigned"}
. Reemplace<ACCESS TOKEN>
por el valor que ha recibido en el paso anterior cuando solicitó un token de acceso de portador y el valor<SUBSCRIPTION ID>
según sea apropiado para su entorno.VERSIÓN DE API 2018-06-01
curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01' -X PUT -d '{"location":"westus","name":"myVM","identity":{"type":"UserAssigned","identityIds":["/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1"]},"properties":{"hardwareProfile":{"vmSize":"Standard_D2_v2"},"storageProfile":{"imageReference":{"sku":"2016-Datacenter","publisher":"MicrosoftWindowsServer","version":"latest","offer":"WindowsServer"},"osDisk":{"caching":"ReadWrite","managedDisk":{"storageAccountType":"StandardSSD_LRS"},"name":"myVM3osdisk","createOption":"FromImage"},"dataDisks":[{"diskSizeGB":1023,"createOption":"Empty","lun":0},{"diskSizeGB":1023,"createOption":"Empty","lun":1}]},"osProfile":{"adminUsername":"azureuser","computerName":"myVM","adminPassword":"myPassword12"},"networkProfile":{"networkInterfaces":[{"id":"/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/myNic","properties":{"primary":true}}]}}}' -H "Content-Type: application/json" -H "Authorization: Bearer <ACCESS TOKEN>"
PUT https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01 HTTP/1.1
Encabezados de solicitud
Encabezado de solicitud Descripción Content-Type Necesario. Establézcalo en application/json
.Autorización Necesario. Establézcalo en un token de acceso Bearer
válido.Cuerpo de la solicitud
{ "location":"westus", "name":"myVM", "identity":{ "type":"UserAssigned", "identityIds":[ "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1" ] }, "properties":{ "hardwareProfile":{ "vmSize":"Standard_D2_v2" }, "storageProfile":{ "imageReference":{ "sku":"2016-Datacenter", "publisher":"MicrosoftWindowsServer", "version":"latest", "offer":"WindowsServer" }, "osDisk":{ "caching":"ReadWrite", "managedDisk":{ "storageAccountType":"StandardSSD_LRS" }, "name":"myVM3osdisk", "createOption":"FromImage" }, "dataDisks":[ { "diskSizeGB":1023, "createOption":"Empty", "lun":0 }, { "diskSizeGB":1023, "createOption":"Empty", "lun":1 } ] }, "osProfile":{ "adminUsername":"azureuser", "computerName":"myVM", "adminPassword":"myPassword12" }, "networkProfile":{ "networkInterfaces":[ { "id":"/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/myNic", "properties":{ "primary":true } } ] } } }
VERSIÓN DE API 2017-12-01
curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2017-12-01' -X PUT -d '{"location":"westus","name":"myVM","identity":{"type":"UserAssigned","identityIds":["/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1"]},"properties":{"hardwareProfile":{"vmSize":"Standard_D2_v2"},"storageProfile":{"imageReference":{"sku":"2016-Datacenter","publisher":"MicrosoftWindowsServer","version":"latest","offer":"WindowsServer"},"osDisk":{"caching":"ReadWrite","managedDisk":{"storageAccountType":"StandardSSD_LRS"},"name":"myVM3osdisk","createOption":"FromImage"},"dataDisks":[{"diskSizeGB":1023,"createOption":"Empty","lun":0},{"diskSizeGB":1023,"createOption":"Empty","lun":1}]},"osProfile":{"adminUsername":"azureuser","computerName":"myVM","adminPassword":"myPassword12"},"networkProfile":{"networkInterfaces":[{"id":"/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/myNic","properties":{"primary":true}}]}}}' -H "Content-Type: application/json" -H "Authorization: Bearer <ACCESS TOKEN>"
PUT https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2017-12-01 HTTP/1.1
Encabezados de solicitud
Encabezado de solicitud Descripción Content-Type Necesario. Establézcalo en application/json
.Autorización Necesario. Establézcalo en un token de acceso Bearer
válido.Cuerpo de la solicitud
{ "location":"westus", "name":"myVM", "identity":{ "type":"UserAssigned", "identityIds":[ "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1" ] }, "properties":{ "hardwareProfile":{ "vmSize":"Standard_D2_v2" }, "storageProfile":{ "imageReference":{ "sku":"2016-Datacenter", "publisher":"MicrosoftWindowsServer", "version":"latest", "offer":"WindowsServer" }, "osDisk":{ "caching":"ReadWrite", "managedDisk":{ "storageAccountType":"StandardSSD_LRS" }, "name":"myVM3osdisk", "createOption":"FromImage" }, "dataDisks":[ { "diskSizeGB":1023, "createOption":"Empty", "lun":0 }, { "diskSizeGB":1023, "createOption":"Empty", "lun":1 } ] }, "osProfile":{ "adminUsername":"azureuser", "computerName":"myVM", "adminPassword":"myPassword12" }, "networkProfile":{ "networkInterfaces":[ { "id":"/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/myNic", "properties":{ "primary":true } } ] } } }
Asignación de una identidad administrada asignada por el usuario a una VM de Azure existente
Para asignar una identidad asignada por un usuario a una máquina virtual, la cuenta debe tener las asignaciones de roles Colaborador de la máquina virtual y Operador de identidades administradas. No se requiere ninguna otra asignación de roles de directorio de Microsoft Entra.
Recupere un token de acceso de portador, que utilizará en el siguiente paso en el encabezado de autorización para crear la máquina virtual con una identidad administrada asignada por el sistema.
az account get-access-token
Cree una identidad administrada asignada por el usuario mediante las instrucciones que se encuentran aquí: Creación de una identidad administrada asignada por el usuario.
Para asegurarse de que no elimina las identidades administradas asignadas por el usuario o por el sistema que están asignadas a la máquina virtual, necesita enumerar los tipos de identidades asignados a la máquina virtual mediante el comando CURL siguiente. Si ha administrado identidades asignadas al conjunto de escalado de máquinas virtuales, se enumeran en el valor
identity
.curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.Compute/virtualMachines/<VM NAME>?api-version=2018-06-01' -H "Authorization: Bearer <ACCESS TOKEN>"
GET https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.Compute/virtualMachines/<VM NAME>?api-version=2018-06-01 HTTP/1.1
Encabezados de solicitud
Encabezado de solicitud Descripción Autorización Necesario. Establézcalo en un token de acceso Bearer
válido.Si tiene identidades administradas asignadas por el usuario o por el sistema asignadas a la máquina virtual como se identifica en el valor
identity
de la respuesta, vaya al paso 5, en el que se muestra cómo conservar la identidad administrada asignada por el sistema mientras se agrega una identidad administrada asignada por el usuario en la máquina virtual.Si no tiene ninguna identidad administrada asignada por el usuario en la máquina virtual, use el siguiente comando CURL para llamar al punto de conexión REST de Azure Resource Manager para asignar la primera identidad administrada asignada por el usuario a la máquina virtual.
En el ejemplo siguiente, se asigna una identidad administrada asignada por el usuario,
ID1
, a una máquina virtual llamada myVM en el grupo de recursos myResourceGroup. Reemplace<ACCESS TOKEN>
por el valor que ha recibido en el paso anterior cuando solicitó un token de acceso de portador y el valor<SUBSCRIPTION ID>
según sea apropiado para su entorno.VERSIÓN DE API 2018-06-01
curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01' -X PATCH -d '{"identity":{"type":"UserAssigned", "userAssignedIdentities":{"/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1":{}}}}' -H "Content-Type: application/json" -H "Authorization:Bearer <ACCESS TOKEN>"
PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01 HTTP/1.1
Encabezados de solicitud
Encabezado de solicitud Descripción Content-Type Necesario. Establézcalo en application/json
.Autorización Necesario. Establézcalo en un token de acceso Bearer
válido.Cuerpo de la solicitud
{ "identity":{ "type":"UserAssigned", "userAssignedIdentities":{ "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1":{ } } } }
VERSIÓN DE API 2017-12-01
curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2017-12-01' -X PATCH -d '{"identity":{"type":"userAssigned", "identityIds":["/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1"]}}' -H "Content-Type: application/json" -H "Authorization:Bearer <ACCESS TOKEN>"
PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2017-12-01 HTTP/1.1
Encabezados de solicitud
Encabezado de solicitud Descripción Content-Type Necesario. Establézcalo en application/json
.Autorización Necesario. Establézcalo en un token de acceso Bearer
válido.Cuerpo de la solicitud
{ "identity":{ "type":"userAssigned", "identityIds":[ "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1" ] } }
Si dispone ya de una identidad asignada por el usuario o por el sistema asignada a la máquina virtual:
VERSIÓN DE API 2018-06-01
Agregue la identidad administrada asignada por el usuario al valor de diccionario
userAssignedIdentities
.Por ejemplo, si tiene una identidad administrada asignada por el sistema y una identidad administrada asignada por el usuario
ID1
actualmente asignadas a la máquina virtual y quiere agregarles la identidad administrada asignada por el usuarioID2
:curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01' -X PATCH -d '{"identity":{"type":"SystemAssigned, UserAssigned", "userAssignedIdentities":{"/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1":{},"/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2":{}}}}' -H "Content-Type: application/json" -H "Authorization:Bearer <ACCESS TOKEN>"
PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01 HTTP/1.1
Encabezados de solicitud
Encabezado de solicitud Descripción Content-Type Necesario. Establézcalo en application/json
.Autorización Necesario. Establézcalo en un token de acceso Bearer
válido.Cuerpo de la solicitud
{ "identity":{ "type":"SystemAssigned, UserAssigned", "userAssignedIdentities":{ "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1":{ }, "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2":{ } } } }
VERSIÓN DE API 2017-12-01
Conserve las identidades administradas asignadas por el usuario y que le gustaría mantener en el valor de matriz
identityIds
al tiempo que agrega la nueva identidad administrada asignada por el usuario.Por ejemplo, si tiene una identidad administrada asignada por el sistema y una identidad administrada asignada por el usuario
ID1
actualmente asignadas a la máquina virtual y quiere agregarles la identidad administrada asignada por el usuarioID2
:curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2017-12-01' -X PATCH -d '{"identity":{"type":"SystemAssigned,UserAssigned", "identityIds":["/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1","/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2"]}}' -H "Content-Type: application/json" -H "Authorization:Bearer <ACCESS TOKEN>"
PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2017-12-01 HTTP/1.1
Encabezados de solicitud
Encabezado de solicitud Descripción Content-Type Necesario. Establézcalo en application/json
.Autorización Necesario. Establézcalo en un token de acceso Bearer
válido.Cuerpo de la solicitud
{ "identity":{ "type":"SystemAssigned,UserAssigned", "identityIds":[ "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1", "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2" ] } }
Eliminación de una identidad administrada asignada por el usuario de una VM de Azure
Para quitar una identidad asignada por un usuario de una máquina virtual, la cuenta necesita la asignación de roles Colaborador de la máquina virtual.
Recupere un token de acceso de portador, que utilizará en el siguiente paso en el encabezado de autorización para crear la máquina virtual con una identidad administrada asignada por el sistema.
az account get-access-token
Para asegurarse de que no elimina ninguna identidad administrada asignada por el usuario o por el sistema que está asignada a la máquina virtual y de que no quita la identidad administrada asignada por el sistema, necesita enumerar las identidades administradas mediante el comando CURL siguiente:
curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.Compute/virtualMachines/<VM NAME>?api-version=2018-06-01' -H "Authorization: Bearer <ACCESS TOKEN>"
GET https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.Compute/virtualMachines/<VM NAME>?api-version=2018-06-01 HTTP/1.1
Encabezados de solicitud
Encabezado de solicitud Descripción Content-Type Necesario. Establézcalo en application/json
.Autorización Necesario. Establézcalo en un token de acceso Bearer
válido.Si ha administrado identidades asignadas a la máquina virtual, se enumeran en la respuesta del valor
identity
.Por ejemplo, si tiene identidades administradas asignadas por el usuario
ID1
yID2
asignadas a la máquina virtual, y solo desea mantenerID1
asignada y conservar la identidad asignada por el sistema:VERSIÓN DE API 2018-06-01
Agregue
null
a la identidad administrada asignada por el usuario que quiere quitar:curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01' -X PATCH -d '{"identity":{"type":"SystemAssigned, UserAssigned", "userAssignedIdentities":{"/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2":null}}}' -H "Content-Type: application/json" -H "Authorization:Bearer <ACCESS TOKEN>"
PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01 HTTP/1.1
Encabezados de solicitud
Encabezado de solicitud Descripción Content-Type Necesario. Establézcalo en application/json
.Autorización Necesario. Establézcalo en un token de acceso Bearer
válido.Cuerpo de la solicitud
{ "identity":{ "type":"SystemAssigned, UserAssigned", "userAssignedIdentities":{ "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2":null } } }
VERSIÓN DE API 2017-12-01
Conserve solo las identidades administradas asignadas por el usuario que le gustaría mantener en la matriz
identityIds
:curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2017-12-01' -X PATCH -d '{"identity":{"type":"SystemAssigned, UserAssigned", "identityIds":["/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1"]}}' -H "Content-Type: application/json" -H "Authorization:Bearer <ACCESS TOKEN>"
PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2017-12-01 HTTP/1.1
Encabezados de solicitud
Encabezado de solicitud Descripción Content-Type Necesario. Establézcalo en application/json
.Autorización Necesario. Establézcalo en un token de acceso Bearer
válido.Cuerpo de la solicitud
{ "identity":{ "type":"SystemAssigned, UserAssigned", "identityIds":[ "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1" ] } }
Si la máquina virtual tiene identidades administradas asignadas tanto por el sistema como por el usuario, puede quitar todas las identidades administradas asignadas por el usuario si cambia para usar solo las identidades administradas asignadas por el sistema mediante el siguiente comando:
curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01' -X PATCH -d '{"identity":{"type":"SystemAssigned"}}' -H "Content-Type: application/json" -H "Authorization:Bearer <ACCESS TOKEN>"
PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01 HTTP/1.1
Encabezados de solicitud
Encabezado de solicitud | Descripción |
---|---|
Content-Type | Necesario. Establézcalo en application/json . |
Autorización | Necesario. Establézcalo en un token de acceso Bearer válido. |
Cuerpo de la solicitud
{
"identity":{
"type":"SystemAssigned"
}
}
Si la máquina virtual solo tiene identidades administradas asignadas por el usuario y desea quitarlas todas, utilice el comando siguiente:
curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01' -X PATCH -d '{"identity":{"type":"None"}}' -H "Content-Type: application/json" -H Authorization:"Bearer <ACCESS TOKEN>"
PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01 HTTP/1.1
Encabezados de solicitud
Encabezado de solicitud | Descripción |
---|---|
Content-Type | Necesario. Establézcalo en application/json . |
Autorización | Necesario. Establézcalo en un token de acceso Bearer válido. |
Cuerpo de la solicitud
{
"identity":{
"type":"None"
}
}
Pasos siguientes
Para obtener información sobre cómo crear, enumerar o eliminar identidades administradas asignadas por el usuario mediante REST, consulte:
En este artículo, aprenderá a habilitar y eliminar identidades administradas de recursos de Azure mediante un SDK de Azure.
Prerrequisitos
- Si no está familiarizado con la característica Managed Identities for Azure Resources, consulte esta introducción. Si no tiene una cuenta de Azure, regístrese para obtener una cuenta gratuita antes de continuar.
Compatibilidad de SDK de Azure con identidades administradas de recursos de Azure
Azure admite varias plataformas de programación a través de una serie de SDK de Azure. Varias de ellas se han actualizado para ser compatibles con identidades administradas de recursos de Azure y proporcionan los ejemplos correspondientes para mostrar el uso. Esta lista se actualiza a medida que se agrega otra compatibilidad:
Pasos siguientes
- Consulte los artículos relacionados en Configuración de identidad para una máquina virtual de Azure para obtener información sobre cómo puede usar también Azure Portal, PowerShell, la CLI y las plantillas de recursos.