Configurar identidades gerenciadas para recursos do Azure em conjuntos de escala de máquina virtual usando o PowerShell
Identidades gerenciadas para recursos do Azure é um recurso do Microsoft Entra ID. Cada um dos serviços do Azure que dão suporte a identidades gerenciadas para recursos do Azure está sujeito à própria linha do tempo. Não deixe de examinar o status de disponibilidade das identidades gerenciadas do seu recurso e os problemas conhecidos antes de começar.
As identidades gerenciadas dos recursos do Azure fornecem aos serviços do Azure uma identidade gerenciada automaticamente na ID do Microsoft Entra. Use essa identidade para autenticar qualquer serviço que dê suporte à autenticação do Microsoft Entra, sem a necessidade de ter as credenciais no código.
Neste artigo, usando o PowerShell, você aprende como executar as identidades gerenciadas para operações de recursos do Azure em um conjunto de dimensionamento de máquina virtual:
- Ativar e desativar a identidade gerenciada designada pelo sistema em um conjunto de dimensionamento de máquina virtual
- Adicionar e remover uma identidade gerenciada atribuída pelo usuário em um conjunto de dimensionamento de máquina virtual
Observação
Recomendamos que você use o módulo Az PowerShell do Azure para interagir com o Azure. Confira Instalar o Azure PowerShell para começar. Para saber como migrar para o módulo Az PowerShell, confira Migrar o Azure PowerShell do AzureRM para o Az.
Pré-requisitos
Se você não estiver familiarizado com identidades gerenciadas para recursos do Azure, confira a seção de visão geral. Lembre-se de revisar a diferença entre uma identidade atribuída designada pelo sistema e gerenciada pelo usuário.
Se você ainda não tiver uma conta do Azure, inscreva-se em uma conta gratuita antes de continuar.
Para realizar as operações de gerenciamento descritas neste artigo, sua conta precisará das seguintes atribuições de controle de acesso baseado em função do Azure:
Observação
Não são necessárias atribuições de função do diretório adicionais do Microsoft Entra.
- Colaborador da Máquina Virtual para criar um conjunto de dimensionamento de máquina virtual e habilitar e remover a identidade gerenciada pelo usuário e / ou atribuída pelo usuário de um conjunto de dimensionamento de máquina virtual.
- Função de Contratada de Identidade Gerenciada para criar uma identidade gerenciada atribuída pelo usuário.
- Papel de Operador de Identidade Gerenciado para atribuir e remover uma identidade gerenciada atribuída pelo usuário de e para um conjunto de dimensionamento de máquina virtual.
Para executar os scripts de exemplo, você tem duas opções:
- Use o Azure Cloud Shell, que você pode abrir usando o botão Experimentar no canto superior direito dos blocos de código.
- Execute os scripts localmente instalando a versão mais recente do Azure PowerShell e, em seguida, entre no Azure usando
Connect-AzAccount
.
Identidade gerenciada atribuída pelo sistema
Nesta seção, você aprenderá como habilitar e remover uma identidade gerenciada atribuída pelo sistema usando o Azure PowerShell.
Ativar a identidade gerenciada atribuída pelo sistema durante a criação de um conjunto de dimensionamento da máquina virtual do Azure
Para criar um conjunto de dimensionamento de máquinas virtuais com a identidade gerenciada atribuída ao sistema habilitada:
Veja o Exemplo 1 no artigo de referência do cmdlet New-AzVmssConfig para criar um conjunto de dimensionamento de máquinas virtuais com uma identidade gerenciada atribuída ao sistema. Adicione o parâmetro
-IdentityType SystemAssigned
ao cmdletNew-AzVmssConfig
:$VMSS = New-AzVmssConfig -Location $Loc -SkuCapacity 2 -SkuName "Standard_A0" -UpgradePolicyMode "Automatic" -NetworkInterfaceConfiguration $NetCfg -IdentityType SystemAssigned`
Ativar identidade gerenciada atribuída pelo sistema em um conjunto de dimensionamento de máquina virtual do Azure existente
Se você precisar ativar uma identidade gerenciada atribuída pelo sistema em um conjunto de dimensionamento de máquina virtual do Azure existente:
Verifique se a conta do Azure que você está usando pertence a uma função que fornece permissões de gravação no conjunto de dimensionamento de máquinas virtuais, como "Colaborador da Máquina Virtual".
Recupere as propriedades do conjunto de dimensionamento de máquinas virtuais usando o cmdlet
Get-AzVmss
. Em seguida, para habilitar uma identidade gerenciada atribuída pelo sistema, use a opção-IdentityType
no cmdlet Update-AzVmss:Update-AzVmss -ResourceGroupName myResourceGroup -Name -myVmss -IdentityType "SystemAssigned"
Desativar a identidade gerenciada atribuída pelo sistema de um conjunto de dimensionamento da máquina virtual do Azure
Se você tiver um conjunto de dimensionamento de máquina virtual que não precise mais da identidade gerenciada atribuída pelo sistema, mas ainda precisar de identidades gerenciadas atribuídas pelo usuário, use o seguinte cmdlet:
Verifique se sua conta pertence a uma função que fornece permissões de gravação no conjunto de dimensionamento de máquinas virtuais, como "Colaborador da Máquina Virtual".
Execute o cmdlet a seguir:
Update-AzVmss -ResourceGroupName myResourceGroup -Name myVmss -IdentityType "UserAssigned"
Se você tiver um conjunto de dimensionamento de máquinas virtuais que não precise mais de identidade gerenciada atribuída pelo sistema e não tenha identidades gerenciadas atribuídas pelo usuário, use o seguinte comando:
Update-AzVmss -ResourceGroupName myResourceGroup -Name myVmss -IdentityType None
Identidade gerenciada atribuída pelo usuário
Nesta seção, você aprenderá como adicionar e remover uma identidade gerenciada atribuída pelo usuário de um conjunto de dimensionamento de máquina virtual usando o Azure PowerShell.
Atribuir uma identidade gerenciada atribuída pelo usuário durante a criação de um conjunto de dimensionamento da máquina virtual do Azure
Criar uma nova escala de máquina virtual definida com uma identidade gerenciada atribuída pelo usuário não é atualmente suportada pelo PowerShell. Consulte a próxima seção sobre como adicionar uma identidade gerenciada atribuída pelo usuário a um conjunto de dimensionamento de máquina virtual existente. Procure novamente por atualizações.
Atribuir uma identidade gerenciada usuário atribuído a um conjunto de dimensionamento de máquina virtual do Azure existente
Para atribuir uma identidade gerenciada usuário atribuído a um conjunto de dimensionamento de máquina virtual do Azure existente:
Verifique se sua conta pertence a uma função que fornece permissões de gravação no conjunto de dimensionamento de máquinas virtuais, como "Colaborador da Máquina Virtual".
Recupere as propriedades do conjunto de dimensionamento de máquinas virtuais usando o cmdlet
Get-AzVM
. Em seguida, para atribuir uma identidade gerenciada atribuída pelo usuário ao conjunto de dimensionamento de máquinas virtuais, use as opções-IdentityType
e-IdentityID
no cmdlet Update-AzVmss. Substitua<VM NAME>
,<SUBSCRIPTION ID>
,<RESROURCE GROUP>
,<USER ASSIGNED ID1>
eUSER ASSIGNED ID2
pelos seus próprios valores.Importante
Quando você cria identidades gerenciadas atribuídas pelo usuário, o nome deve começar com uma letra ou número e pode incluir uma combinação de caracteres alfanuméricos, hifens (-) e sublinhados (_). Para que a atribuição a uma máquina virtual ou um conjunto de dimensionamento de máquinas virtuais funcione corretamente, o nome é limitado a 24 caracteres. Para mais informações, consulte Perguntas frequentes e problemas conhecidos
Update-AzVmss -ResourceGroupName <RESOURCE GROUP> -Name <VMSS NAME> -IdentityType UserAssigned -IdentityID "<USER ASSIGNED ID1>","<USER ASSIGNED ID2>"
Remover uma identidade gerenciada atribuída pelo usuário de um conjunto de dimensionamento da máquina virtual do Azure
Se o seu conjunto de dimensionamento de máquina virtual tiver várias identidades gerenciadas atribuídas pelo usuário, você poderá remover todas, exceto a última, usando os seguintes comandos. Substitua os valores de parâmetro <RESOURCE GROUP>
e <VIRTUAL MACHINE SCALE SET NAME>
pelos seus próprios valores. O <USER ASSIGNED IDENTITY NAME>
é a propriedade de nome da identidade gerenciada atribuída pelo usuário, que deve permanecer no conjunto de dimensionamento da máquina virtual. Essas informações podem ser encontradas na seção de identidade do conjunto de dimensionamento de máquinas virtuais usando az vmss show
:
Update-AzVmss -ResourceGroupName myResourceGroup -Name myVmss -IdentityType UserAssigned -IdentityID "<USER ASSIGNED IDENTITY NAME>"
Se o seu conjunto de dimensionamento de máquina virtual não tiver uma identidade gerenciada atribuída pelo sistema e você quiser remover todas as identidades gerenciadas atribuídas pelo usuário, use o seguinte comando:
Update-AzVmss -ResourceGroupName myResourceGroup -Name myVmss -IdentityType None
Se o seu conjunto de dimensionamento de máquina virtual tiver identidades gerenciadas atribuídas pelo sistema e atribuídas pelo usuário, você poderá remover todas as identidades gerenciadas atribuídas pelo usuário alternando para usar somente a identidade gerenciada atribuída pelo sistema.
Update-AzVmss -ResourceGroupName myResourceGroup -Name myVmss -IdentityType "SystemAssigned"
Próximas etapas
Identidades gerenciadas para visão geral de recursos do Azure
Para os guias de início rápido completos sobre VM do Azure, consulte: