Configuración de identidades administradas de recursos de Azure en conjuntos de escalado de máquinas virtuales mediante PowerShell
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.
En este artículo, mediante PowerShell, aprenderá a realizar las operaciones de identidades administradas de recursos de Azure en un conjunto de escalado de máquinas virtuales:
- Habilitación y deshabilitación de la identidad administrada asignada por el sistema en un conjunto de escalado de máquinas virtuales
- Adición y eliminación de una identidad administrada asignada por el usuario en un conjunto de escalado de máquinas virtuales
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.
Requisitos previos
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 asignada por el usuario .
Si aún no tiene una cuenta de Azure, regístrese para una cuenta gratuita antes de continuar.
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.
- 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.
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, aprenderá a habilitar y quitar una identidad administrada asignada por el sistema con Azure PowerShell.
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:
Consulte el ejemplo 1 en el artículo de referencia del cmdlet New-AzVmssConfig para crear un conjunto de escalado de máquinas virtuales con una identidad administrada asignada por el sistema. Agregue el parámetro
-IdentityType SystemAssigned
al cmdletNew-AzVmssConfig
:$VMSS = New-AzVmssConfig -Location $Loc -SkuCapacity 2 -SkuName "Standard_A0" -UpgradePolicyMode "Automatic" -NetworkInterfaceConfiguration $NetCfg -IdentityType SystemAssigned`
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 una identidad administrada asignada por el sistema en un conjunto de escalado de máquinas virtuales de Azure existente:
Asegúrese de que la cuenta que está usando pertenece a un rol que le conceda permisos de escritura en el conjunto de escalado de máquinas virtuales, como "Colaborador de la máquina virtual":
Recupere las propiedades del conjunto de escalado de máquinas virtuales mediante el cmdlet
Get-AzVmss
. Luego, para habilitar una identidad administrada asignada por el sistema, use el modificador-IdentityType
en el cmdlet Update-AzVmss:Update-AzVmss -ResourceGroupName myResourceGroup -Name -myVmss -IdentityType "SystemAssigned"
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 cmdlet:
Asegúrese de que la cuenta pertenece a un rol que le conceda permisos de escritura en el conjunto de escalado de máquinas virtuales, como "Colaborador de la máquina virtual":
Ejecute el siguiente cmdlet:
Update-AzVmss -ResourceGroupName myResourceGroup -Name myVmss -IdentityType "UserAssigned"
Si tiene un conjunto de escalado de máquinas virtuales que ya no necesita la identidad administrada asignada por el sistema y no tiene identidades administradas asignadas por el usuario, use el siguiente comando:
Update-AzVmss -ResourceGroupName myResourceGroup -Name myVmss -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 un conjunto de escalado de máquinas virtuales mediante Azure PowerShell.
Asignación de una identidad administrada asignada por el usuario durante la creación de un conjunto de escalado de máquinas virtuales de Azure
Actualmente, no se puede crear un conjunto de escalado de máquinas virtuales con una identidad administrada asignada por el usuario mediante PowerShell. Consulte la sección siguiente sobre cómo agregar una identidad administrada asignada por el usuario a un conjunto de escalado de máquinas virtuales existente. Compruebe si hay actualizaciones.
Asignación de una identidad administrada asignada por el usuario a un conjunto de escalado de máquinas virtuales de Azure existente
Para asignar una identidad administrada asignada por el usuario a un conjunto de escalado de máquinas virtuales de Azure existente:
Asegúrese de que la cuenta pertenece a un rol que le conceda permisos de escritura en el conjunto de escalado de máquinas virtuales, como "Colaborador de la máquina virtual":
Recupere las propiedades del conjunto de escalado de máquinas virtuales mediante el cmdlet
Get-AzVM
. A continuación, para asignar una identidad administrada asignada por el usuario al conjunto de escalado de máquinas virtuales, use los modificadores-IdentityType
y-IdentityID
en el cmdlet Update-AzVmss. Reemplace<VM NAME>
,<SUBSCRIPTION ID>
,<RESROURCE GROUP>
,<USER ASSIGNED ID1>
,USER ASSIGNED ID2
con 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.
Update-AzVmss -ResourceGroupName <RESOURCE GROUP> -Name <VMSS NAME> -IdentityType UserAssigned -IdentityID "<USER ASSIGNED ID1>","<USER ASSIGNED ID2>"
Eliminación de una identidad administrada asignada por el usuario de un conjunto de escalado de máquinas virtuales de Azure
Si el conjunto de escalado de máquinas virtuales tiene varias identidades administradas asignadas por el usuario, puede quitarlas todas, menos la última, utilizando los comandos siguientes. Asegúrese de reemplazar los valores de los parámetros <RESOURCE GROUP>
y <VIRTUAL MACHINE SCALE SET 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 el conjunto de escalado de máquinas virtuales. Esta información se puede encontrar en la sección de identidad del conjunto de escalado de máquinas virtuales mediante az vmss show
:
Update-AzVmss -ResourceGroupName myResourceGroup -Name myVmss -IdentityType UserAssigned -IdentityID "<USER ASSIGNED IDENTITY NAME>"
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:
Update-AzVmss -ResourceGroupName myResourceGroup -Name myVmss -IdentityType None
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 administradas asignadas por el usuario si cambia para usar solo las identidades administradas asignadas por el sistema.
Update-AzVmss -ResourceGroupName myResourceGroup -Name myVmss -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: