Configuración de identidades administradas de recursos de Azure en un conjunto de escalado de máquinas virtuales mediante la CLI de Azure
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.
En este artículo obtendrá más información sobre cómo realizar las siguientes operaciones de identidades administradas de recursos de Azure en un conjunto de escalado de máquinas virtuales de Azure mediante la CLI de Azure:
- Habilitación y deshabilitación de la identidad administrada asignada por el sistema en un conjunto de escalado de máquinas virtuales de Azure
- Adición y eliminación de una identidad asignada por el usuario un conjunto de escalado de máquinas virtuales 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.
Para realizar las operaciones de administración de este artículo, su cuenta debe tener las siguientes asignaciones de control de acceso basado en rol:
Colaborador de máquina virtual para crear un conjunto de escalado de máquinas virtuales y habilitar y quitar la identidad administrada asignada por el usuario o por el sistema desde un conjunto de escalado de máquinas virtuales.
Rol Colaborador de identidad administrada para crear una identidad administrada asignada por el usuario.
Rol Operador de identidad administrada para asignar y quitar una identidad administrada asignada por el usuario en un conjunto de escalado de máquinas virtuales.
Nota:
No se requiere ninguna otra asignación de roles de directorio de Microsoft Entra.
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, obtendrá información sobre cómo habilitar y deshabilitar la identidad administrada asignada por el sistema para un conjunto de escalado de máquinas virtuales de Azure mediante la CLI de Azure.
Habilitación de la identidad administrada asignada por el sistema durante la creación de un conjunto de escalado de máquinas virtuales de Azure
Para crear un conjunto de escalado de máquinas virtuales con la identidad administrada asignada por el sistema habilitada:
Cree un grupo de recursos para contener e implementar el conjunto de escalado de máquinas virtuales 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 un conjunto de escalado de máquinas virtuales. En el ejemplo siguiente se crea un conjunto de escalado de máquinas virtuales denominado myVMSS con una identidad administrada asignada por el sistema, como solicitó 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 vmss create --resource-group myResourceGroup --name myVMSS --image win2016datacenter --upgrade-policy-mode automatic --custom-data cloud-init.txt --admin-username azureuser --admin-password myPassword12 --assign-identity --generate-ssh-keys --role contributor --scope mySubscription
Habilitación de la identidad administrada asignada por el sistema en un conjunto de escalado de máquinas virtuales de Azure existente
Si necesita habilitar la identidad administrada asignada por el sistema en un conjunto de escalado de máquinas virtuales de Azure existente:
az vmss identity assign -g myResourceGroup -n myVMSS
Deshabilitación de la identidad administrada asignada por el sistema de un conjunto de escalado de máquinas virtuales de Azure
Si tiene un conjunto de escalado de máquinas virtuales que ya no necesita la identidad administrada asignada por el sistema, pero aún necesita identidades administradas asignadas por el usuario, use el siguiente comando:
az vmss update -n myVM -g myResourceGroup --set identity.type='UserAssigned'
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 el siguiente comando:
Nota:
El valor none
no distingue mayúsculas de minúsculas. Debe estar en minúscula.
az vmss update -n myVM -g myResourceGroup --set identity.type="none"
Identidad administrada asignada por el usuario
En esta sección obtendrá más información sobre cómo habilitar y quitar una identidad administrada asignada por el usuario mediante la CLI de Azure.
Asignación de una identidad administrada asignada por el usuario durante la creación de un conjunto de escalado de máquinas virtuales
En esta sección se explica el proceso de creación de un conjunto de escalado de máquinas virtuales y de asignación de una identidad administrada asignada por el usuario al conjunto de escalado de máquinas virtuales. Si ya tiene un conjunto de escalado de máquinas virtuales que quiera usar, omita esta sección y vaya a la siguiente.
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. Asegúrese de reemplazar los valores de los parámetros<RESOURCE GROUP>
y<USER ASSIGNED IDENTITY NAME>
por sus propios valores: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 <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. El valor del recurso
id
asignado a la identidad administrada asignada por el usuario se usa en el paso siguiente.{ "clientId": "73444643-8088-4d70-9532-c3a0fdc190fz", "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=73444643-8088-4d70-9532-c3a0fdc190fz", "id": "/subscriptions/<SUBSCRIPTON ID>/resourcegroups/<RESOURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY NAME>", "location": "westcentralus", "name": "<USER ASSIGNED IDENTITY NAME>", "principalId": "e5fdfdc1-ed84-4d48-8551-fe9fb9dedfll", "resourceGroup": "<RESOURCE GROUP>", "tags": {}, "tenantId": "733a8f0e-ec41-4e69-8ad8-971fc4b533bl", "type": "Microsoft.ManagedIdentity/userAssignedIdentities" }
Cree un conjunto de escalado de máquinas virtuales. En el ejemplo siguiente se crea un conjunto de escalado de máquinas virtuales asociado a la nueva identidad administrada 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>
,<VMSS NAME>
,<USER NAME>
,<PASSWORD>
,<USER ASSIGNED IDENTITY>
,<ROLE>
y<SUBSCRIPTION>
por sus propios valores.az vmss create --resource-group <RESOURCE GROUP> --name <VMSS NAME> --image <SKU Linux Image> --admin-username <USER NAME> --admin-password <PASSWORD> --assign-identity <USER ASSIGNED IDENTITY> --role <ROLE> --scope <SUBSCRIPTION>
Asignación de una identidad administrada asignada por el usuario a un conjunto de escalado de máquinas virtuales existente
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. Asegúrese de reemplazar los valores de los parámetros<RESOURCE GROUP>
y<USER ASSIGNED IDENTITY NAME>
por sus propios valores: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": "73444643-8088-4d70-9532-c3a0fdc190fz", "clientSecretUrl": "https://control-westcentralus.identity.azure.net/subscriptions/<SUBSCRIPTON ID>/resourcegroups/<RESOURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY >/credentials?tid=5678&oid=9012&aid=73444643-8088-4d70-9532-c3a0fdc190fz", "id": "/subscriptions/<SUBSCRIPTON ID>/resourcegroups/<RESOURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY>", "location": "westcentralus", "name": "<USER ASSIGNED IDENTITY>", "principalId": "e5fdfdc1-ed84-4d48-8551-fe9fb9dedfll", "resourceGroup": "<RESOURCE GROUP>", "tags": {}, "tenantId": "733a8f0e-ec41-4e69-8ad8-971fc4b533bl", "type": "Microsoft.ManagedIdentity/userAssignedIdentities" }
Asigne la identidad administrada asignada por el usuario al conjunto de escalado de máquinas virtuales. Asegúrese de reemplazar los valores de los parámetros
<RESOURCE GROUP>
y<VIRTUAL MACHINE SCALE SET NAME>
con sus propios valores. El parámetro<USER ASSIGNED IDENTITY>
es la propiedadname
del recurso de la identidad asignada por el usuario, tal como se creó en el paso anterior:az vmss identity assign -g <RESOURCE GROUP> -n <VIRTUAL MACHINE SCALE SET NAME> --identities <USER ASSIGNED IDENTITY>
Eliminación de una identidad administrada asignada por el usuario de un conjunto de escalado de máquinas virtuales de Azure
Para eliminar una identidad administrada asignada por el usuario de un conjunto de escalado de máquinas virtuales, use az vmss identity remove
. Si se trata de la única identidad administrada asignada por el usuario asignada al conjunto de escalado de máquinas virtuales, UserAssigned
se quitará del valor de tipo de identidad. Asegúrese de reemplazar los valores de los parámetros <RESOURCE GROUP>
y <VIRTUAL MACHINE SCALE SET NAME>
con sus propios valores. El parámetro <USER ASSIGNED IDENTITY>
será la propiedad name
de la identidad administrada asignada por el usuario, que se puede encontrar en la sección de identidades del conjunto de escalado de máquinas virtuales mediante az vmss identity show
:
az vmss identity remove -g <RESOURCE GROUP> -n <VIRTUAL MACHINE SCALE SET NAME> --identities <USER ASSIGNED IDENTITY>
Si desea quitar todas las identidades administradas asignadas por el usuario de un conjunto de escalado de máquinas virtuales pero este no tiene una identidad administrada asignada por el sistema, utilice el siguiente comando:
Nota:
El valor none
no distingue mayúsculas de minúsculas. Debe estar en minúscula.
az vmss update -n myVMSS -g myResourceGroup --set identity.type="none" identity.userAssignedIdentities=null
Si el conjunto de escalado de máquinas virtuales tiene identidades administradas asignadas tanto por el sistema como por el usuario, puede quitar todas las identidades asignadas por el usuario si cambia para usar solo las identidades administradas asignadas por el sistema. Use el comando siguiente:
az vmss update -n myVMSS -g myResourceGroup --set identity.type='SystemAssigned' identity.userAssignedIdentities=null
Pasos siguientes
- Información general sobre las identidades administradas de recursos de Azure
- Si desea consultar el inicio rápido completo sobre creación de un conjunto de escalado de máquinas virtuales de Azure, consulte Creación de un conjunto de escalado de máquinas virtuales con la CLI.