Configurar identidades gerenciadas para recursos do Azure em um conjunto de dimensionamento de máquina virtual 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 suportam as identidades geridas para os recursos do Azure estão sujeitos à sua própria linha de tempo. Certifique-se de que revê o estado de disponibilidade das identidades geridas para o seu recurso e problemas conhecidos antes de começar.

As identidades geridas para os recursos do Azure proporcionam aos recursos do Azure uma identidade gerida automaticamente no Microsoft Entra ID. Pode utilizar esta identidade para se autenticar em qualquer serviço que suporte a autenticação do Microsoft Entra sem ter credenciais no código.

Neste artigo, você aprenderá a executar as seguintes identidades gerenciadas para operações de recursos do Azure em um conjunto de escala de máquina virtual do Azure, usando a CLI do Azure:

  • Habilitar e desabilitar a identidade gerenciada atribuída ao sistema em um conjunto de dimensionamento de máquina virtual do Azure
  • Adicionar e remover uma identidade gerenciada atribuída pelo usuário em um conjunto de escala de máquina virtual do Azure

Se ainda não tem uma conta do Azure, inscreva-se numa conta gratuita antes de continuar.

Pré-requisitos

  • Se você não estiver familiarizado com identidades gerenciadas para recursos do Azure, consulte O que são identidades gerenciadas para recursos do Azure?. Para saber mais sobre os tipos de identidade gerenciada atribuídos pelo sistema e pelo usuário, consulte Tipos de identidade gerenciada.

  • Para executar as operações de gerenciamento neste artigo, sua conta precisa das seguintes atribuições de controle de acesso baseadas em função do Azure:

    • Colaborador de Máquina Virtual para criar um conjunto de dimensionamento de máquina virtual e habilitar e remover identidade gerenciada atribuída ao sistema e/ou usuário de um conjunto de dimensionamento de máquina virtual.

    • Função de Colaborador de Identidade Gerenciada para criar uma identidade gerenciada atribuída pelo usuário.

    • Função de Operador de Identidade Gerenciada para atribuir e remover uma identidade gerenciada atribuída pelo usuário de e para um conjunto de dimensionamento de máquina virtual.

    Nota

    Não são necessárias atribuições adicionais de função de diretório do Microsoft Entra.

  • Use o ambiente Bash no Azure Cloud Shell. Para obter mais informações, consulte Guia de início rápido para Bash no Azure Cloud Shell.

  • Se preferir executar comandos de referência da CLI localmente, instale a CLI do Azure. Se estiver a utilizar o Windows ou macOS, considere executar a CLI do Azure num contentor Docker. Para obter mais informações, consulte Como executar a CLI do Azure em um contêiner do Docker.

    • Se estiver a utilizar uma instalação local, inicie sessão no CLI do Azure ao utilizar o comando az login. Para concluir o processo de autenticação, siga os passos apresentados no seu terminal. Para outras opções de entrada, consulte Entrar com a CLI do Azure.

    • Quando solicitado, instale a extensão da CLI do Azure na primeira utilização. Para obter mais informações sobre as extensões, veja Utilizar extensões com o CLI do Azure.

    • Execute o comando az version para localizar a versão e as bibliotecas dependentes instaladas. Para atualizar para a versão mais recente, execute o comando az upgrade.

Identidade gerida atribuída pelo sistema

Nesta seção, você aprenderá a habilitar e desabilitar a identidade gerenciada atribuída ao sistema para um conjunto de dimensionamento de máquina virtual do Azure usando a CLI do Azure.

Habilitar a identidade gerenciada atribuída ao sistema durante a criação de um conjunto de escala de máquina virtual do Azure

Para criar um conjunto de dimensionamento de máquina virtual com a identidade gerenciada atribuída ao sistema habilitada:

  1. Crie um grupo de recursos para contenção e implantação de seu conjunto de escala de máquina virtual e seus recursos relacionados, usando az group create. Você pode pular esta etapa se já tiver um grupo de recursos que gostaria de usar:

    az group create --name myResourceGroup --location westus
    
  2. Crie um conjunto de dimensionamento de máquina virtual. O exemplo a seguir cria um conjunto de escala de máquina virtual chamado myVMSS com uma identidade gerenciada atribuída ao sistema, conforme solicitado pelo --assign-identity parâmetro, com o especificado --role e --scope. Os parâmetros --admin-username e --admin-password especificam o nome e a palavra-passe da conta de utilizador administrativo para início de sessão na máquina virtual. Atualize estes valores conforme adequado para o 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
    

Habilitar a identidade gerenciada atribuída ao sistema em um conjunto de escala de máquina virtual do Azure existente

Se você precisar Habilitar a identidade gerenciada atribuída ao sistema em um conjunto de escala de máquina virtual do Azure existente:

az vmss identity assign -g myResourceGroup -n myVMSS

Desabilitar a identidade gerenciada atribuída ao sistema a partir de um conjunto de dimensionamento de máquina virtual do Azure

Se você tiver um conjunto de dimensionamento de máquina virtual que não precisa mais da identidade gerenciada atribuída ao sistema, mas ainda precisa de identidades gerenciadas atribuídas pelo usuário, use o seguinte comando:

az vmss update -n myVM -g myResourceGroup --set identity.type='UserAssigned' 

Se você tiver uma máquina virtual que não precisa mais de identidade gerenciada atribuída ao sistema e não tiver identidades gerenciadas atribuídas pelo usuário, use o seguinte comando:

Nota

O valor none diferencia maiúsculas de minúsculas. Deve ser minúscula.

az vmss update -n myVM -g myResourceGroup --set identity.type="none"

Identidade gerida atribuída pelo utilizador

Nesta seção, você aprenderá a habilitar e remover uma identidade gerenciada atribuída pelo usuário usando a CLI do Azure.

Atribuir uma identidade gerenciada atribuída pelo usuário durante a criação de um conjunto de dimensionamento de máquina virtual

Esta seção orienta você pela criação de um conjunto de escala de máquina virtual e atribuição de uma identidade gerenciada atribuída pelo usuário ao conjunto de dimensionamento de máquina virtual. Se você já tiver um conjunto de dimensionamento de máquina virtual que deseja usar, ignore esta seção e prossiga para a próxima.

  1. Pode ignorar este passo se já tiver um grupo de recursos que gostaria de utilizar. Crie um grupo de recursos para contenção e implantação de sua identidade gerenciada atribuída pelo usuário, usando az group create. Certifique-se de que substitui os valores de parâmetros <RESOURCE GROUP> e <LOCATION> pelos seus próprios valores. :

    az group create --name <RESOURCE GROUP> --location <LOCATION>
    
  2. Crie uma identidade gerida atribuída pelo utilizador com az identity create. O parâmetro -g especifica o grupo de recursos onde a identidade gerida atribuída pelo utilizador é criada e o parâmetro -n especifica o respetivo nome. Certifique-se de que substitui os valores de parâmetros <RESOURCE GROUP>e <USER ASSIGNED IDENTITY NAME> 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, hífenes (-) e sublinhados (_). Para que a atribuição a uma máquina virtual ou a uma escala de máquina virtual funcione corretamente, o nome é limitado a 24 caracteres. Para obter mais informações, veja FAQs 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 pelo usuário criada, semelhante à seguinte. O valor do recurso id atribuído à identidade gerenciada atribuída pelo 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"    
    }
    
  3. Crie um conjunto de dimensionamento de máquina virtual. O exemplo a seguir cria um conjunto de escala de máquina virtual associado à nova identidade gerenciada atribuída pelo usuário, conforme especificado pelo --assign-identity parâmetro, com o especificado --role e --scope. Certifique-se de substituir os <RESOURCE GROUP>valores , <VMSS NAME>, , <PASSWORD><USER NAME>, <ROLE><USER ASSIGNED IDENTITY>, e <SUBSCRIPTION> parâmetro por seus próprios 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 pelo usuário a um conjunto de dimensionamento de máquina virtual existente

  1. Crie uma identidade gerida atribuída pelo utilizador com az identity create. O parâmetro -g especifica o grupo de recursos onde a identidade gerida atribuída pelo utilizador é criada e o parâmetro -n especifica o respetivo nome. Certifique-se de que substitui os valores de parâmetros <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 pelo 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"    
    }
    
  2. Atribua a identidade gerenciada atribuída pelo usuário ao seu conjunto de dimensionamento de máquina virtual. Certifique-se de que substitui os valores de parâmetros <RESOURCE GROUP> e <VIRTUAL MACHINE SCALE SET NAME> pelos seus próprios valores. A <USER ASSIGNED IDENTITY> é a propriedade de recurso name da identidade atribuída pelo usuário, conforme criada 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 escala de máquina virtual do Azure

Para remover uma identidade gerenciada atribuída pelo usuário de um conjunto de dimensionamento de máquina virtual, use az vmss identity remove. Se esta for a única identidade gerenciada atribuída pelo usuário atribuída ao conjunto de escala da máquina virtual, UserAssigned será removida do valor do tipo de identidade. Certifique-se de que substitui os valores de parâmetros <RESOURCE GROUP> e <VIRTUAL MACHINE SCALE SET NAME> pelos seus próprios valores. A <USER ASSIGNED IDENTITY> é a propriedade da name identidade gerenciada atribuída pelo usuário, que pode ser encontrada na seção identity do conjunto de escala da máquina virtual usando az vmss identity show:

az vmss identity remove -g <RESOURCE GROUP> -n <VIRTUAL MACHINE SCALE SET NAME> --identities <USER ASSIGNED IDENTITY>

Se o conjunto de dimensionamento da máquina virtual não tiver uma identidade gerenciada atribuída ao sistema e você quiser remover todas as identidades gerenciadas atribuídas pelo usuário dele, use o seguinte comando:

Nota

O valor none diferencia maiúsculas de minúsculas. Deve ser minúscula.

az vmss update -n myVMSS -g myResourceGroup --set identity.type="none" identity.userAssignedIdentities=null

Se o conjunto de dimensionamento da máquina virtual tiver identidades gerenciadas atribuídas pelo sistema e pelo usuário, você poderá remover todas as identidades atribuídas pelo usuário alternando para usar apenas a identidade gerenciada atribuída pelo sistema. Utilize o seguinte comando:

az vmss update -n myVMSS -g myResourceGroup --set identity.type='SystemAssigned' identity.userAssignedIdentities=null 

Próximos passos