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:

    Nota:

    No se requiere ninguna otra asignación de roles de directorio de Microsoft Entra.

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:

  1. 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
    
  2. 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.

  1. 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>
    
  2. 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"    
    }
    
  3. 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

  1. 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"    
    }
    
  2. 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 propiedad name 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