Configurar identidades gerenciadas para recursos do Azure em um conjunto de dimensionamento de máquinas virtuais usando a CLI do Azure
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, você aprenderá a executar as seguintes operações para identidades gerenciadas para recursos do Azure em um conjunto de dimensionamento de máquinas virtuais do Azure usando a CLI do Azure:
- Habilitar e desabilitar a identidade gerenciada atribuída ao sistema em um conjunto de dimensionamento de máquinas virtuais do Azure
- Adicionar e remover uma identidade gerenciada atribuída ao usuário em um conjunto de dimensionamento de máquinas virtuais do Azure
Se você ainda não tiver uma conta do Azure, inscreva-se em uma conta gratuita antes de continuar.
Pré-requisitos
Se você não estiver familiarizado com as identidades gerenciadas dos recursos do Azure, confira O que são as identidades gerenciadas dos recursos do Azure?. Para saber mais sobre tipos de identidade gerenciada atribuída pelo sistema e pelo usuário, confira Tipos de identidade gerenciada.
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:
Colaborador da Máquina Virtual para criar um conjunto de dimensionamento de máquinas virtuais e habilitar e remover identidade gerenciada atribuída ao usuário e/ou ao sistema de um conjunto de dimensionamento de máquinas virtuais.
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.
Observação
Não são necessárias atribuições de função do diretório adicionais do Microsoft Entra.
Use o ambiente Bash no Azure Cloud Shell. Para obter mais informações, confira Início Rápido para Bash no Azure Cloud Shell.
Se preferir executar os comandos de referência da CLI localmente, instale a CLI do Azure. Para execuções no Windows ou no macOS, considere executar a CLI do Azure em um contêiner do Docker. Para obter mais informações, confira Como executar a CLI do Azure em um contêiner do Docker.
Se estiver usando uma instalação local, entre com a CLI do Azure usando o comando az login. Para concluir o processo de autenticação, siga as etapas exibidas no terminal. Para ver outras opções de entrada, confira Conectar-se com a CLI do Azure.
Quando solicitado, instale a extensão da CLI do Azure no primeiro uso. Para obter mais informações sobre extensões, confira Usar extensões com a CLI do Azure.
Execute az version para localizar a versão e as bibliotecas dependentes que estão instaladas. Para fazer a atualização para a versão mais recente, execute az upgrade.
Identidade gerenciada atribuída pelo sistema
Nesta seção, você aprenderá a habilitar e desabilitar a identidade gerenciada atribuída ao sistema em um conjunto de dimensionamento de máquinas virtuais do Azure usando a CLI do Azure.
Habilitar a identidade gerenciada atribuída ao sistema durante a criação de um conjunto de dimensionamento de máquinas virtuais do Azure
Para criar um conjunto de dimensionamento de máquinas virtuais com a identidade gerenciada atribuída ao sistema habilitada:
Crie um grupo de recursos para confinamento e implantação do conjunto de dimensionamento de máquinas virtuais e os recursos relacionados, usando az group create. Se você já tiver um grupo de recursos e quiser usá-lo, ignore esta etapa:
az group create --name myResourceGroup --location westus
Crie um conjunto de dimensionamento de máquinas virtuais. O exemplo a seguir cria um conjunto de dimensionamento de máquinas virtuais nomeado myVMSS com uma identidade gerenciada atribuída ao sistema, conforme solicitado pelo parâmetro
--assign-identity
, com--role
e--scope
especificados. Os parâmetros--admin-username
e--admin-password
especificam o nome de usuário e a senha do usuário administrativo para a entrada na máquina virtual. Atualize esses valores como adequado ao seu ambiente: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
Ativar identidade gerenciada atribuída pelo sistema em um conjunto de dimensionamento de máquina virtual do Azure existente
Se você precisar Habilitar a identidade gerenciada atribuída pelo sistema em um conjunto de dimensionamento de máquinas virtuais do Azure existente:
az vmss identity assign -g myResourceGroup -n myVMSS
Desabilitar identidade gerenciada atribuída ao sistema de um conjunto de dimensionamento de máquinas virtuais do Azure
Se você tiver um conjunto de dimensionamento de máquinas virtuais que não precise mais da identidade gerenciada atribuída ao sistema, mas ainda precisar de identidades gerenciadas atribuídas ao usuário, use o comando a seguir:
az vmss update -n myVM -g myResourceGroup --set identity.type='UserAssigned'
Se você tiver uma máquina virtual que não precise mais da identidade gerenciada atribuída ao sistema e não tiver identidades gerenciadas atribuídas ao usuário, use o comando a seguir:
Observação
O valor none
diferencia maiúsculas de minúsculas. Deve estar em letras minúsculas.
az vmss update -n myVM -g myResourceGroup --set identity.type="none"
Identidade gerenciada atribuída pelo usuário
Nesta seção, você aprende como habilitar e remover uma identidade gerenciada atribuída ao usuário usando a CLI do Azure.
Atribuir uma identidade gerenciada atribuída ao usuário durante a criação de um conjunto de dimensionamento de máquinas virtuais
Esta seção descreve a criação de um conjunto de dimensionamento de máquinas virtuais e a atribuição de uma identidade gerenciada atribuída ao usuário ao conjunto de dimensionamento de máquinas virtuais. Se você já tiver um conjunto de dimensionamento de máquinas virtuais que deseje usar, ignore esta seção e prossiga para a próxima.
Se você já tiver um grupo de recursos e quiser usá-lo, ignore esta etapa. Crie um grupo de recursos para independência e implantação da identidade gerenciada atribuída ao usuário, usando az group create . Substitua os valores de parâmetro
<RESOURCE GROUP>
e<LOCATION>
pelos seus próprios valores. :az group create --name <RESOURCE GROUP> --location <LOCATION>
Crie uma identidade gerenciada atribuída ao usuário usando az identity create. O parâmetro
-g
especifica o grupo de recursos em que a identidade gerenciada atribuída pelo usuário é criada e o parâmetro-n
especifica o nome. Substitua os valores de parâmetro<RESOURCE GROUP>
e<USER ASSIGNED IDENTITY NAME>
pelos seus próprios valores:Importante
Ao criar 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
az identity create -g <RESOURCE GROUP> -n <USER ASSIGNED IDENTITY NAME>
A resposta contém detalhes para a identidade gerenciada atribuída ao usuário criada, semelhante à seguinte. O valor do recurso
id
atribuído à identidade gerenciada atribuída ao usuário é usado na etapa a seguir.{ "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" }
Crie um conjunto de dimensionamento de máquinas virtuais. O exemplo a seguir cria um conjunto de dimensionamento de máquinas virtuais associado à nova identidade gerenciada atribuída ao usuário, conforme especificado pelo parâmetro
--assign-identity
, com--role
e--scope
especificados. Substitua os valores de parâmetro<RESOURCE GROUP>
,<VMSS NAME>
,<USER NAME>
,<PASSWORD>
,<USER ASSIGNED IDENTITY>
,<ROLE>
e<SUBSCRIPTION>
pelos seus 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>
Atribuir uma identidade gerenciada atribuída ao usuário a um conjunto de dimensionamento de máquinas virtuais existente
Crie uma identidade gerenciada atribuída ao usuário usando az identity create. O parâmetro
-g
especifica o grupo de recursos em que a identidade gerenciada atribuída pelo usuário é criada e o parâmetro-n
especifica o nome. Substitua os valores de parâmetro<RESOURCE GROUP>
e<USER ASSIGNED IDENTITY NAME>
pelos seus próprios valores:az identity create -g <RESOURCE GROUP> -n <USER ASSIGNED IDENTITY NAME>
A resposta contém detalhes para a identidade gerenciada atribuída ao usuário criada, semelhante à seguinte.
{ "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" }
Atribua uma identidade gerenciada atribuída ao usuário ao seu conjunto de dimensionamento de máquinas virtuais. Substitua os valores de parâmetro
<RESOURCE GROUP>
e<VIRTUAL MACHINE SCALE SET NAME>
pelos seus próprios valores. O<USER ASSIGNED IDENTITY>
é um recurso da identidade de usuário atribuídaname
propriedade, conforme criado na etapa anterior:az vmss identity assign -g <RESOURCE GROUP> -n <VIRTUAL MACHINE SCALE SET NAME> --identities <USER ASSIGNED IDENTITY>
Remover uma identidade gerenciada atribuída pelo usuário de um conjunto de dimensionamento da máquina virtual do Azure
Para remover uma identidade gerenciada atribuída ao usuário de um conjunto de dimensionamento de máquinas virtuais, use az vmss identity remove
. Se esta for a única identidade gerenciada atribuída ao usuário atribuída ao conjunto de dimensionamento de máquinas virtuais, UserAssigned
será removido do valor do tipo de identidade. Substitua os valores de parâmetro <RESOURCE GROUP>
e <VIRTUAL MACHINE SCALE SET NAME>
pelos seus próprios valores. O <USER ASSIGNED IDENTITY>
será a propriedade name
da identidade gerenciada atribuída ao usuário, que pode ser localizada na seção de identidade do conjunto de dimensionamento de máquinas virtuais usando az vmss identity show
:
az vmss identity remove -g <RESOURCE GROUP> -n <VIRTUAL MACHINE SCALE SET NAME> --identities <USER ASSIGNED IDENTITY>
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:
Observação
O valor none
diferencia maiúsculas de minúsculas. Deve estar em letras minúsculas.
az vmss update -n myVMSS -g myResourceGroup --set identity.type="none" identity.userAssignedIdentities=null
Se o conjunto de dimensionamento de máquinas virtuais tiver identidades gerenciadas atribuídas ao sistema e atribuídas ao usuário, você poderá remover todas as identidades atribuídas ao usuário, alternando para usar somente a identidade gerenciada atribuída ao sistema. Use o seguinte comando:
az vmss update -n myVMSS -g myResourceGroup --set identity.type='SystemAssigned' identity.userAssignedIdentities=null
Próximas etapas
- Identidades gerenciadas para visão geral de recursos do Azure
- Para o Início Rápido da criação do conjunto de dimensionamento de máquinas virtuais do Azure completo, confira: Criar um conjunto de dimensionamento de máquinas virtuais com a CLI