Partilhar via


Configurar identidades gerenciadas para recursos do Azure em um conjunto de dimensionamento de máquina virtual

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.

Para obter informações sobre a definição e os detalhes da Política do Azure, consulte Usar a Política do Azure para atribuir identidades gerenciadas (visualização).

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

  • Se você não estiver familiarizado com identidades gerenciadas para recursos do Azure, confira a seção de visão geral.

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

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

    Nota

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

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

Identidade gerida atribuída pelo sistema

Nesta seção, você aprenderá como habilitar e desabilitar a identidade gerenciada atribuída ao sistema usando o portal do Azure.

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

Atualmente, o portal do Azure não oferece suporte à habilitação da identidade gerenciada atribuída ao sistema durante a criação de um conjunto de dimensionamento de máquina virtual. Em vez disso, consulte o seguinte artigo de início rápido de criação de conjunto de escala de máquina virtual para primeiro criar um conjunto de dimensionamento de máquina virtual e, em seguida, prossiga para a próxima seção para obter detalhes sobre como habilitar a identidade gerenciada atribuída ao sistema em um conjunto de dimensionamento de máquina virtual:

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

Gorjeta

As etapas neste artigo podem variar ligeiramente com base no portal a partir do qual você começou.

Para habilitar a identidade gerenciada atribuída ao sistema em um conjunto de escala de máquina virtual que foi originalmente provisionado sem ela:

  1. Entre no portal do Azure usando uma conta associada à assinatura do Azure que contém o conjunto de dimensionamento da máquina virtual.

  2. Navegue até o conjunto de dimensionamento de máquina virtual desejado.

  3. Em Sistema atribuído, Estado, selecione Ativado e, em seguida, clique em Guardar:

    A captura de tela mostra a página

Remover identidade gerenciada atribuída ao sistema de um conjunto de dimensionamento de máquina virtual

Se você tiver um conjunto de dimensionamento de máquina virtual que não precise mais de uma identidade gerenciada atribuída ao sistema:

  1. Entre no portal do Azure usando uma conta associada à assinatura do Azure que contém o conjunto de dimensionamento da máquina virtual. Verifique também se sua conta pertence a uma função que lhe dá permissões de gravação no conjunto de escala da máquina virtual.

  2. Navegue até o conjunto de dimensionamento de máquina virtual desejado.

  3. Em Sistema atribuído, Estado, selecione Desativado e, em seguida, clique em Guardar:

    Captura de tela mostrando a página de configuração.

Identidade gerida atribuída pelo utilizador

Nesta seção, você aprenderá a adicionar e remover uma identidade gerenciada atribuída pelo usuário de um conjunto de dimensionamento de máquina virtual usando o portal do Azure.

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

Atualmente, o portal do Azure não oferece suporte à atribuição de uma identidade gerenciada atribuída pelo usuário durante a criação de um conjunto de escala de máquina virtual. Em vez disso, consulte o seguinte artigo de início rápido de criação de conjunto de escala de máquina virtual para primeiro criar um conjunto de dimensionamento de máquina virtual e, em seguida, prossiga para a próxima seção para obter detalhes sobre como atribuir uma identidade gerenciada atribuída pelo usuário a ele:

Atribuir uma identidade gerenciada atribuída pelo usuário a um conjunto de dimensionamento de máquina virtual existente

  1. Entre no portal do Azure usando uma conta associada à assinatura do Azure que contém o conjunto de dimensionamento da máquina virtual.

  2. Navegue até o conjunto de escala de máquina virtual desejado e clique em Identidade, Usuário atribuído e, em seguida, em +Adicionar.

    Captura de tela que mostra adicionar identidade atribuída pelo usuário ao conjunto de dimensionamento da máquina virtual.

  3. Clique na identidade atribuída pelo usuário que você deseja adicionar ao conjunto de dimensionamento da máquina virtual e clique em Adicionar.

    Captura de tela mostrando como adicionar uma identidade atribuída pelo usuário a um conjunto de dimensionamento de máquina virtual.

Remover uma identidade gerenciada atribuída pelo usuário de um conjunto de dimensionamento de máquina virtual

  1. Entre no portal do Azure usando uma conta associada à assinatura do Azure que contém a VM.

  2. Navegue até o conjunto de escala de máquina virtual desejado e clique em Identidade, Usuário atribuído, o nome da identidade gerenciada atribuída pelo usuário que você deseja excluir e, em seguida, clique em Remover (clique em Sim no painel de confirmação).

    Uma captura de tela mostrando como remover a identidade atribuída pelo usuário de um conjunto de dimensionamento de máquina virtual.

Próximos passos

  • Usando o portal do Azure, conceda a um conjunto de dimensionamento de máquina virtual do Azure acesso gerenciado de identidade a outro recurso do Azure.

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": "00001111-aaaa-2222-bbbb-3333cccc4444",
         "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=00001111-aaaa-2222-bbbb-3333cccc4444",
         "id": "/subscriptions/<SUBSCRIPTON ID>/resourcegroups/<RESOURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY NAME>",
         "location": "westcentralus",
         "name": "<USER ASSIGNED IDENTITY NAME>",
         "principalId": "aaaaaaaa-bbbb-cccc-1111-222222222222",
         "resourceGroup": "<RESOURCE GROUP>",
         "tags": {},
         "tenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
         "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": "00001111-aaaa-2222-bbbb-3333cccc4444",
         "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=aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb",
         "id": "/subscriptions/<SUBSCRIPTON ID>/resourcegroups/<RESOURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY>",
         "location": "westcentralus",
         "name": "<USER ASSIGNED IDENTITY>",
         "principalId": "aaaaaaaa-bbbb-cccc-1111-222222222222",
         "resourceGroup": "<RESOURCE GROUP>",
         "tags": {},
         "tenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
         "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

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

  • Habilitar e desabilitar a identidade gerenciada atribuída ao 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

Nota

Recomendamos que utilize o módulo do Azure Az PowerShell para interagir com o Azure. Veja Instalar o Azure PowerShell para começar. Para saber como migrar para o módulo do Az PowerShell, veja 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. Certifique-se de revisar a diferença entre uma identidade atribuída pelo sistema e gerenciada pelo usuário.

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

  • 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:

    Nota

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

    • Colaborador de Máquina Virtual para criar um conjunto de dimensionamento de máquina virtual e habilitar e remover identidade gerenciada atribuída pelo sistema e/ou atribuída pelo 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.
  • 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 scripts localmente instalando a versão mais recente do Azure PowerShell e, em seguida, entre no Azure usando Connect-AzAccounto .

Identidade gerida atribuída pelo sistema

Nesta seção, você aprenderá a habilitar e remover uma identidade gerenciada atribuída ao sistema usando o Azure PowerShell.

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. Consulte o Exemplo 1 no artigo de referência do cmdlet New-AzVmssConfig para criar um conjunto de dimensionamento de máquina virtual com uma identidade gerenciada atribuída ao sistema. Adicione o parâmetro -IdentityType SystemAssigned ao New-AzVmssConfig cmdlet:

    $VMSS = New-AzVmssConfig -Location $Loc -SkuCapacity 2 -SkuName "Standard_A0" -UpgradePolicyMode "Automatic" -NetworkInterfaceConfiguration $NetCfg -IdentityType SystemAssigned`
    

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

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

  1. Verifique se a conta do Azure que você está usando pertence a uma função que lhe dá permissões de gravação no conjunto de escala da máquina virtual, como "Colaborador de Máquina Virtual".

  2. Recupere as propriedades do conjunto de escala da máquina virtual usando o Get-AzVmss cmdlet. Em seguida, para habilitar uma identidade gerenciada atribuída ao sistema, use a -IdentityType opção no cmdlet Update-AzVmss :

    Update-AzVmss -ResourceGroupName myResourceGroup -Name -myVmss -IdentityType "SystemAssigned"
    

Desabilitar a identidade gerenciada atribuída ao sistema 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 cmdlet:

  1. Verifique se sua conta pertence a uma função que lhe dá permissões de gravação no conjunto de escala da máquina virtual, como "Colaborador de Máquina Virtual".

  2. Execute o seguinte cmdlet:

    Update-AzVmss -ResourceGroupName myResourceGroup -Name myVmss -IdentityType "UserAssigned"
    
  3. Se você tiver um conjunto de dimensionamento de máquina virtual que não precise mais de identidade gerenciada atribuída ao 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 gerida atribuída pelo utilizador

Nesta seção, você aprenderá a 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 escala de máquina virtual do Azure

Atualmente, não há suporte para a criação de um novo conjunto de dimensionamento de máquina virtual com uma identidade gerenciada atribuída pelo usuário por meio do PowerShell. Consulte a próxima seção sobre como adicionar uma identidade gerenciada atribuída pelo usuário a um conjunto de escala de máquina virtual existente. Volte mais tarde para obter atualizações.

Atribuir uma identidade gerenciada atribuída pelo usuário a um conjunto de escala de máquina virtual do Azure existente

Para atribuir uma identidade gerenciada atribuída pelo usuário a um conjunto de escala de máquina virtual do Azure existente:

  1. Verifique se sua conta pertence a uma função que lhe dá permissões de gravação no conjunto de escala da máquina virtual, como "Colaborador de Máquina Virtual".

  2. Recupere as propriedades do conjunto de escala da máquina virtual usando o Get-AzVM cmdlet. Em seguida, para atribuir uma identidade gerenciada atribuída pelo usuário ao conjunto de dimensionamento da máquina virtual, use o -IdentityType cmdlet Update-AzVmss e -IdentityID ative a opção. Substitua <VM NAME>, <SUBSCRIPTION ID>, <RESROURCE GROUP>, <USER ASSIGNED ID1>, por USER ASSIGNED ID2 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.

    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 escala de máquina virtual do Azure

Se o conjunto de dimensionamento da máquina virtual tiver várias identidades gerenciadas atribuídas pelo usuário, você poderá remover todas, exceto a última, usando os comandos a seguir. 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 NAME> é a propriedade name da identidade gerenciada atribuída pelo usuário, que deve permanecer no conjunto de escala da máquina virtual. Essas informações podem ser encontradas na seção de identidade do conjunto de dimensionamento de máquina virtual usando az vmss show:

Update-AzVmss -ResourceGroupName myResourceGroup -Name myVmss -IdentityType UserAssigned -IdentityID "<USER ASSIGNED IDENTITY NAME>"

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:

Update-AzVmss -ResourceGroupName myResourceGroup -Name myVmss -IdentityType None

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 gerenciadas atribuídas pelo usuário alternando para usar apenas a identidade gerenciada atribuída pelo sistema.

Update-AzVmss -ResourceGroupName myResourceGroup -Name myVmss -IdentityType "SystemAssigned"

Próximos passos

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 o modelo de implantação do Azure Resource Manager:

  • 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

Pré-requisitos

  • Se você não estiver familiarizado com identidades gerenciadas para recursos do Azure, confira a seção de visão geral. Certifique-se de revisar a diferença entre uma identidade gerenciada atribuída pelo sistema e atribuída pelo usuário.

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

  • 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:

    Nota

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

    • 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.

Modelos do Azure Resource Manager

Tal como acontece com o portal e os scripts do Azure, os modelos do Azure Resource Manager fornecem a capacidade de implementar recursos novos ou modificados definidos por um grupo de recursos do Azure. Várias opções estão disponíveis para edição e implantação de modelos, tanto locais quanto baseadas em portal, incluindo:

Independentemente da opção escolhida, a sintaxe do modelo é a mesma durante a implantação inicial e a reimplantação. A habilitação de identidades gerenciadas para recursos do Azure em uma VM nova ou existente é feita da mesma maneira. Além disso, por padrão, o Azure Resource Manager faz uma atualização incremental para implantações.

Identidade gerida atribuída pelo sistema

Nesta seção, você habilitará e desabilitará a identidade gerenciada atribuída ao sistema usando um modelo do Azure Resource Manager.

Habilitar a identidade gerenciada atribuída ao sistema durante a criação de um conjunto de dimensionamento de máquinas virtuais ou de um conjunto de dimensionamento de máquina virtual existente

  1. Quer inicie sessão no Azure localmente ou através do portal do Azure, utilize uma conta associada à subscrição do Azure que contém o conjunto de dimensionamento da máquina virtual.

  2. Para habilitar a identidade gerenciada atribuída ao sistema, carregue o modelo em um editor, localize o Microsoft.Compute/virtualMachinesScaleSets recurso de interesse na seção de recursos e adicione a identity propriedade no mesmo nível da "type": "Microsoft.Compute/virtualMachinesScaleSets" propriedade. Utilize a seguinte sintaxe:

    "identity": {
        "type": "SystemAssigned"
    }
    
  3. Quando terminar, as seguintes seções devem ser adicionadas à seção de recursos do seu modelo e devem ser semelhantes ao exemplo mostrado abaixo:

     "resources": [
         {
             //other resource provider properties...
             "apiVersion": "2018-06-01",
             "type": "Microsoft.Compute/virtualMachineScaleSets",
             "name": "[variables('vmssName')]",
             "location": "[resourceGroup().location]",
             "identity": {
                 "type": "SystemAssigned",
             },
            "properties": {
                 //other resource provider properties...
                 "virtualMachineProfile": {
                     //other virtual machine profile properties...
    
                 }
             }
         }
     ]
    

Desabilitar uma identidade gerenciada atribuída ao sistema 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 precise mais de uma identidade gerenciada atribuída ao sistema:

  1. Quer inicie sessão no Azure localmente ou através do portal do Azure, utilize uma conta associada à subscrição do Azure que contém o conjunto de dimensionamento da máquina virtual.

  2. Carregue o modelo em um editor e localize o Microsoft.Compute/virtualMachineScaleSets recurso de interesse dentro da resources seção. Se você tiver uma VM que tenha apenas identidade gerenciada atribuída ao sistema, poderá desativá-la alterando o tipo de identidade para None.

    Microsoft.Compute/virtualMachineScaleSets API versão 2018-06-01

    Se sua apiVersion for 2018-06-01 e sua VM tiver identidades gerenciadas atribuídas pelo sistema e pelo usuário, remova SystemAssigned do tipo de identidade e mantenha UserAssigned junto com os valores do dicionário userAssignedIdentities.

    Microsoft.Compute/virtualMachineScaleSets API versão 2018-06-01

    Se sua apiVersion for 2017-12-01 e seu conjunto de dimensionamento de máquina virtual tiver identidades gerenciadas atribuídas ao sistema e ao usuário, remova SystemAssigned do tipo de identidade e mantenha UserAssigned junto com a identityIds matriz das identidades gerenciadas atribuídas pelo usuário.

    O exemplo a seguir mostra como remover uma identidade gerenciada atribuída ao sistema de um conjunto de dimensionamento de máquina virtual sem identidades gerenciadas atribuídas pelo usuário:

    {
        "name": "[variables('vmssName')]",
        "apiVersion": "2018-06-01",
        "location": "[parameters(Location')]",
        "identity": {
            "type": "None"
         }
    
    }
    

Identidade gerida atribuída pelo utilizador

Nesta seção, você atribui uma identidade gerenciada atribuída pelo usuário a um conjunto de dimensionamento de máquina virtual usando o modelo do Azure Resource Manager.

Nota

Para criar uma identidade gerenciada atribuída pelo usuário usando um Modelo do Azure Resource Manager, consulte Criar uma identidade gerenciada atribuída pelo usuário.

Atribuir uma identidade gerenciada atribuída pelo usuário a um conjunto de dimensionamento de máquina virtual

  1. Sob o resources elemento , adicione a seguinte entrada para atribuir uma identidade gerenciada atribuída pelo usuário ao seu conjunto de escala de máquina virtual. Certifique-se de substituir <USERASSIGNEDIDENTITY> pelo nome da identidade gerenciada atribuída ao usuário que você criou.

    Microsoft.Compute/virtualMachineScaleSets API versão 2018-06-01

    Se sua apiVersion for 2018-06-01, suas identidades gerenciadas atribuídas pelo userAssignedIdentities usuário serão armazenadas no formato de dicionário e o <USERASSIGNEDIDENTITYNAME> valor deverá ser armazenado em uma variável definida na variables seção do seu modelo.

    {
        "name": "[variables('vmssName')]",
        "apiVersion": "2018-06-01",
        "location": "[parameters(Location')]",
        "identity": {
            "type": "userAssigned",
            "userAssignedIdentities": {
                "[resourceID('Microsoft.ManagedIdentity/userAssignedIdentities/',variables('<USERASSIGNEDIDENTITYNAME>'))]": {}
            }
        }
    
    }
    

    Microsoft.Compute/virtualMachineScaleSets API versão 2017-12-01

    Se você apiVersion for 2017-12-01 ou anterior, suas identidades gerenciadas atribuídas pelo identityIds usuário serão armazenadas na matriz e o <USERASSIGNEDIDENTITYNAME> valor deverá ser armazenado em uma variável definida na seção de variáveis do modelo.

    {
        "name": "[variables('vmssName')]",
        "apiVersion": "2017-03-30",
        "location": "[parameters(Location')]",
        "identity": {
            "type": "userAssigned",
            "identityIds": [
                "[resourceID('Microsoft.ManagedIdentity/userAssignedIdentities/',variables('<USERASSIGNEDIDENTITY>'))]"
            ]
        }
    }
    
  2. Quando terminar, seu modelo deverá ser semelhante ao seguinte:

    Microsoft.Compute/virtualMachineScaleSets API versão 2018-06-01

    "resources": [
         {
             //other resource provider properties...
             "apiVersion": "2018-06-01",
             "type": "Microsoft.Compute/virtualMachineScaleSets",
             "name": "[variables('vmssName')]",
             "location": "[resourceGroup().location]",
             "identity": {
                 "type": "UserAssigned",
                 "userAssignedIdentities": {
                     "[resourceID('Microsoft.ManagedIdentity/userAssignedIdentities/',variables('<USERASSIGNEDIDENTITYNAME>'))]": {}
                 }
             },
            "properties": {
                 //other virtual machine properties...
                 "virtualMachineProfile": {
                     //other virtual machine profile properties...
                 }
             }
         }
     ]
    

    Microsoft.Compute/virtualMachines API versão 2017-12-01

    "resources": [
         {
             //other resource provider properties...
             "apiVersion": "2017-12-01",
             "type": "Microsoft.Compute/virtualMachineScaleSets",
             "name": "[variables('vmssName')]",
             "location": "[resourceGroup().location]",
             "identity": {
                 "type": "UserAssigned",
                 "identityIds": [
                     "[resourceID('Microsoft.ManagedIdentity/userAssignedIdentities/',variables('<USERASSIGNEDIDENTITYNAME>'))]"
                 ]
             },
            "properties": {
                 //other virtual machine properties...
                 "virtualMachineProfile": {
                     //other virtual machine profile properties...
                 }
             }
         }
     ]
    

Remover identidade gerenciada atribuída pelo usuário 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 de uma identidade gerenciada atribuída pelo usuário:

  1. Quer inicie sessão no Azure localmente ou através do portal do Azure, utilize uma conta associada à subscrição do Azure que contém o conjunto de dimensionamento da máquina virtual.

  2. Carregue o modelo em um editor e localize o Microsoft.Compute/virtualMachineScaleSets recurso de interesse dentro da resources seção. Se você tiver um conjunto de dimensionamento de máquina virtual que tenha apenas identidade gerenciada atribuída pelo usuário, poderá desativá-lo alterando o tipo de identidade para None.

    O exemplo a seguir mostra como remover todas as identidades gerenciadas atribuídas pelo usuário de uma VM sem identidades gerenciadas atribuídas pelo sistema:

    {
        "name": "[variables('vmssName')]",
        "apiVersion": "2018-06-01",
        "location": "[parameters(Location')]",
        "identity": {
            "type": "None"
         }
    }
    

    Microsoft.Compute/virtualMachineScaleSets API versão 2018-06-01

    Para remover uma única identidade gerenciada atribuída pelo usuário de um conjunto de dimensionamento de máquina virtual, remova-a do userAssignedIdentities dicionário.

    Se você tiver uma identidade atribuída ao sistema, mantenha-a type no valor abaixo do identity valor.

    Microsoft.Compute/virtualMachineScaleSets API versão 2017-12-01

    Para remover uma única identidade gerenciada atribuída pelo usuário de um conjunto de dimensionamento de máquina virtual, remova-a da identityIds matriz.

    Se você tiver uma identidade gerenciada atribuída ao sistema, mantenha-a type no valor abaixo do identity valor.

Próximos passos

  • Visão geral de identidades gerenciadas para recursos do Azure.

Neste artigo, usando CURL para fazer chamadas para o ponto de extremidade REST do Azure Resource Manager, você aprenderá a executar as seguintes identidades gerenciadas para operações de recursos do Azure em um conjunto de escala de máquina virtual:

  • 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 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 Gerenciado para atribuir e remover uma identidade 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 em um conjunto de escala de máquina virtual usando CURL para fazer chamadas para o ponto de extremidade REST do Azure Resource Manager.

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

Para criar um conjunto de dimensionamento de máquina virtual com a identidade gerenciada atribuída ao sistema habilitada, você precisa criar um conjunto de dimensionamento de máquina virtual e recuperar um token de acesso para usar CURL para chamar o ponto de extremidade do Gerenciador de Recursos com o valor do tipo de identidade gerenciada atribuído pelo sistema.

  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. Pode ignorar este passo se já tiver o grupo de recursos que pretende utilizar em vez disso:

    az group create --name myResourceGroup --location westus
    
  2. Crie uma interface de rede para seu conjunto de dimensionamento de máquina virtual:

     az network nic create -g myResourceGroup --vnet-name myVnet --subnet mySubnet -n myNic
    
  3. Recupere um token de acesso ao portador, que você usará na próxima etapa no cabeçalho Autorização para criar seu conjunto de escala de máquina virtual com uma identidade gerenciada atribuída pelo sistema.

    az account get-access-token
    
  4. Usando o Azure Cloud Shell, crie um conjunto de escala de máquina virtual usando CURL para chamar o ponto de extremidade REST do Azure Resource Manager. O exemplo a seguir cria um conjunto de escala de máquina virtual chamado myVMSS no myResourceGroup com uma identidade gerenciada atribuída ao sistema, conforme identificado no corpo da solicitação pelo valor "identity":{"type":"SystemAssigned"}. Substitua <ACCESS TOKEN> pelo valor que você recebeu na etapa anterior quando solicitou um token de acesso ao portador e o <SUBSCRIPTION ID> valor conforme apropriado para seu ambiente.

    curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2018-06-01' -X PUT -d '{"sku":{"tier":"Standard","capacity":3,"name":"Standard_D1_v2"},"location":"eastus","identity":{"type":"SystemAssigned"},"properties":{"overprovision":true,"virtualMachineProfile":{"storageProfile":{"imageReference":{"sku":"2016-Datacenter","publisher":"MicrosoftWindowsServer","version":"latest","offer":"WindowsServer"},"osDisk":{"caching":"ReadWrite","managedDisk":{"storageAccountType":"StandardSSD_LRS"},"createOption":"FromImage"}},"osProfile":{"computerNamePrefix":"myVMSS","adminUsername":"azureuser","adminPassword":"myPassword12"},"networkProfile":{"networkInterfaceConfigurations":[{"name":"myVMSS","properties":{"primary":true,"enableIPForwarding":true,"ipConfigurations":[{"name":"myVMSS","properties":{"subnet":{"id":"/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet"}}}]}}]}},"upgradePolicy":{"mode":"Manual"}}}' -H "Content-Type: application/json" -H "Authorization: Bearer <ACCESS TOKEN>"
    
    PUT https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2018-06-01 HTTP/1.1
    

    Cabeçalhos de solicitação

    Cabeçalho do pedido Description
    Tipo de conteúdo Obrigatório. Definido como application/json.
    Autorização Obrigatório. Defina como um token de acesso válido Bearer .

    Corpo do pedido

     {
        "sku":{
           "tier":"Standard",
           "capacity":3,
           "name":"Standard_D1_v2"
        },
        "location":"eastus",
        "identity":{
           "type":"SystemAssigned"
        },
        "properties":{
           "overprovision":true,
           "virtualMachineProfile":{
              "storageProfile":{
                 "imageReference":{
                    "sku":"2016-Datacenter",
                    "publisher":"MicrosoftWindowsServer",
                    "version":"latest",
                    "offer":"WindowsServer"
                 },
                 "osDisk":{
                    "caching":"ReadWrite",
                    "managedDisk":{
                       "storageAccountType":"StandardSSD_LRS"
                    },
                    "createOption":"FromImage"
                 }
              },
              "osProfile":{
                 "computerNamePrefix":"myVMSS",
                 "adminUsername":"azureuser",
                 "adminPassword":"myPassword12"
              },
              "networkProfile":{
                 "networkInterfaceConfigurations":[
                    {
                       "name":"myVMSS",
                       "properties":{
                          "primary":true,
                          "enableIPForwarding":true,
                          "ipConfigurations":[
                             {
                                "name":"myVMSS",
                                "properties":{
                                   "subnet":{
                                      "id":"/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet"
                                   }
                                }
                             }
                          ]
                       }
                    }
                 ]
              }
           },
           "upgradePolicy":{
              "mode":"Manual"
           }
        }
     }  
    

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

Para habilitar a identidade gerenciada atribuída ao sistema em um conjunto de escala de máquina virtual existente, você precisa adquirir um token de acesso e, em seguida, usar CURL para chamar o ponto de extremidade REST do Gerenciador de Recursos para atualizar o tipo de identidade.

  1. Recupere um token de acesso ao portador, que você usará na próxima etapa no cabeçalho Autorização para criar seu conjunto de escala de máquina virtual com uma identidade gerenciada atribuída pelo sistema.

    az account get-access-token
    
  2. Use o seguinte comando CURL para chamar o ponto de extremidade REST do Azure Resource Manager para habilitar a identidade gerenciada atribuída ao sistema em seu conjunto de escala de máquina virtual, conforme identificado no corpo da solicitação pelo valor {"identity":{"type":"SystemAssigned"} de um conjunto de escala de máquina virtual chamado myVMSS. Substitua <ACCESS TOKEN> pelo valor que você recebeu na etapa anterior quando solicitou um token de acesso ao portador e o <SUBSCRIPTION ID> valor conforme apropriado para seu ambiente.

    Importante

    Para garantir que você não exclua nenhuma identidade gerenciada atribuída pelo usuário que esteja atribuída ao conjunto de dimensionamento da máquina virtual, você precisa listar as identidades gerenciadas atribuídas pelo usuário usando este comando CURL: curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.Compute/virtualMachineScaleSets/<VMSS NAME>?api-version=2018-06-01' -H "Authorization: Bearer <ACCESS TOKEN>". Se você tiver quaisquer identidades gerenciadas atribuídas pelo usuário atribuídas ao conjunto de escala da máquina virtual, conforme identificado no valor na resposta, pule para a identity etapa 3 que mostra como manter as identidades gerenciadas atribuídas pelo usuário enquanto habilita a identidade gerenciada atribuída ao sistema no conjunto de dimensionamento da máquina virtual.

     curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2018-06-01' -X PATCH -d '{"identity":{"type":"SystemAssigned"}}' -H "Content-Type: application/json" -H Authorization:"Bearer <ACCESS TOKEN>"
    
    PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2018-06-01 HTTP/1.1
    

    Cabeçalhos de solicitação

    Cabeçalho do pedido Description
    Tipo de conteúdo Obrigatório. Definido como application/json.
    Autorização Obrigatório. Defina como um token de acesso válido Bearer .

    Corpo do pedido

     {
        "identity":{
           "type":"SystemAssigned"
        }
     }
    
  3. Para habilitar a type identidade gerenciada atribuída ao sistema em um conjunto de dimensionamento de máquina virtual com identidades gerenciadas atribuídas pelo usuário existentes, você precisa adicionar SystemAssigned ao valor.

    Por exemplo, se o conjunto de dimensionamento da máquina virtual tiver as identidades ID1 gerenciadas atribuídas pelo usuário e ID2 atribuídas a ele, e você quiser adicionar a identidade gerenciada atribuída ao sistema ao conjunto de dimensionamento da máquina virtual, use a seguinte chamada CURL. Substitua <ACCESS TOKEN> e <SUBSCRIPTION ID> com valores apropriados ao seu ambiente.

    A versão 2018-06-01 da API armazena identidades gerenciadas atribuídas pelo usuário no userAssignedIdentities valor em um formato de dicionário, em oposição ao identityIds valor em um formato de matriz usado na versão 2017-12-01da API.

    VERSÃO DA API 2018-06-01

    curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2018-06-01' -X PATCH -d '{"identity":{"type":"SystemAssigned,UserAssigned", "userAssignedIdentities":{"/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1":{},"/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2":{}}}}' -H "Content-Type: application/json" -H Authorization:"Bearer <ACCESS TOKEN>"
    
    PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2018-06-01 HTTP/1.1
    

    Cabeçalhos de solicitação

    Cabeçalho do pedido Description
    Tipo de conteúdo Obrigatório. Definido como application/json.
    Autorização Obrigatório. Defina como um token de acesso válido Bearer .

    Corpo do pedido

     {
        "identity":{
           "type":"SystemAssigned,UserAssigned",
           "userAssignedIdentities":{
              "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1":{
              },
              "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2":{
    
              }
           }
        }
     }
    

    VERSÃO DA API 2017-12-01

    curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2017-12-01' -X PATCH -d '{"identity":{"type":"SystemAssigned,UserAssigned", "identityIds":["/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1","/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2"]}}' -H "Content-Type: application/json" -H Authorization:"Bearer <ACCESS TOKEN>"
    
    PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2017-12-01 HTTP/1.1
    

    Cabeçalhos de solicitação

    Cabeçalho do pedido Description
    Tipo de conteúdo Obrigatório. Definido como application/json.
    Autorização Obrigatório. Defina como um token de acesso válido Bearer .

    Corpo do pedido

     {
        "identity":{
           "type":"SystemAssigned,UserAssigned",
           "identityIds":[
              "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1",
              "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2"
           ]
        }
     }
    

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

Para desabilitar uma identidade atribuída pelo sistema em um conjunto de escala de máquina virtual existente, você precisa adquirir um token de acesso e, em seguida, usar CURL para chamar o ponto de extremidade REST do Gerenciador de Recursos para atualizar o tipo de identidade para None.

  1. Recupere um token de acesso ao portador, que você usará na próxima etapa no cabeçalho Autorização para criar seu conjunto de escala de máquina virtual com uma identidade gerenciada atribuída pelo sistema.

    az account get-access-token
    
  2. Atualize o conjunto de escala da máquina virtual usando CURL para chamar o ponto de extremidade REST do Azure Resource Manager para desabilitar a identidade gerenciada atribuída ao sistema. O exemplo a seguir desabilita a identidade gerenciada atribuída ao sistema conforme identificada no corpo da solicitação pelo valor {"identity":{"type":"None"}} de um conjunto de escala de máquina virtual chamado myVMSS. Substitua <ACCESS TOKEN> pelo valor que você recebeu na etapa anterior quando solicitou um token de acesso ao portador e o <SUBSCRIPTION ID> valor conforme apropriado para seu ambiente.

    Importante

    Para garantir que você não exclua nenhuma identidade gerenciada atribuída pelo usuário que esteja atribuída ao conjunto de dimensionamento da máquina virtual, você precisa listar as identidades gerenciadas atribuídas pelo usuário usando este comando CURL: curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.Compute/virtualMachineScaleSets/<VMSS NAME>?api-version=2018-06-01' -H "Authorization: Bearer <ACCESS TOKEN>". Se você tiver qualquer identidade gerenciada atribuída pelo usuário atribuída ao conjunto de dimensionamento da máquina virtual, pule para a etapa 3 que mostra como manter as identidades gerenciadas atribuídas pelo usuário enquanto remove a identidade gerenciada atribuída pelo sistema do conjunto de dimensionamento da máquina virtual.

    curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2018-06-01' -X PATCH -d '{"identity":{"type":"None"}}' -H "Content-Type: application/json" -H Authorization:"Bearer <ACCESS TOKEN>"
    
    PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2018-06-01 HTTP/1.1
    

    Cabeçalhos de solicitação

    Cabeçalho do pedido Description
    Tipo de conteúdo Obrigatório. Definido como application/json.
    Autorização Obrigatório. Defina como um token de acesso válido Bearer .

    Corpo do pedido

     {
        "identity":{
           "type":"None"
        }
     }
    

    Para remover a identidade gerenciada atribuída pelo sistema de um conjunto de escala de máquina virtual que tenha identidades gerenciadas atribuídas pelo usuário, remova SystemAssigned do valor mantendo o valor e os valores de dicionário se estiver usando a UserAssigned userAssignedIdentities API versão 2018-06-01{"identity":{"type:" "}}. Se você estiver usando a API versão 2017-12-01 ou anterior, mantenha a identityIds matriz.

Identidade gerida atribuída pelo utilizador

Nesta seção, você aprenderá a adicionar e remover a identidade gerenciada atribuída pelo usuário em um conjunto de escala de máquina virtual usando CURL para fazer chamadas para o ponto de extremidade REST do Azure Resource Manager.

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

  1. Recupere um token de acesso ao portador, que você usará na próxima etapa no cabeçalho Autorização para criar seu conjunto de escala de máquina virtual com uma identidade gerenciada atribuída pelo sistema.

    az account get-access-token
    
  2. Crie uma interface de rede para seu conjunto de dimensionamento de máquina virtual:

     az network nic create -g myResourceGroup --vnet-name myVnet --subnet mySubnet -n myNic
    
  3. Recupere um token de acesso ao portador, que você usará na próxima etapa no cabeçalho Autorização para criar seu conjunto de escala de máquina virtual com uma identidade gerenciada atribuída pelo sistema.

    az account get-access-token
    
  4. Crie uma identidade gerenciada atribuída pelo usuário usando as instruções encontradas aqui: Criar uma identidade gerenciada atribuída pelo usuário.

  5. Crie um conjunto de dimensionamento de máquina virtual usando CURL para chamar o ponto de extremidade REST do Azure Resource Manager. O exemplo a seguir cria um conjunto de escala de máquina virtual chamado myVMSS no grupo de recursos myResourceGroup com uma identidade ID1gerenciada atribuída pelo usuário, conforme identificado no corpo da solicitação pelo valor "identity":{"type":"UserAssigned"}. Substitua <ACCESS TOKEN> pelo valor que você recebeu na etapa anterior quando solicitou um token de acesso ao portador e o <SUBSCRIPTION ID> valor conforme apropriado para seu ambiente.

    VERSÃO DA API 2018-06-01

    curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2018-06-01' -X PUT -d '{"sku":{"tier":"Standard","capacity":3,"name":"Standard_D1_v2"},"location":"eastus","identity":{"type":"UserAssigned","userAssignedIdentities":{"/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1":{}}},"properties":{"overprovision":true,"virtualMachineProfile":{"storageProfile":{"imageReference":{"sku":"2016-Datacenter","publisher":"MicrosoftWindowsServer","version":"latest","offer":"WindowsServer"},"osDisk":{"caching":"ReadWrite","managedDisk":{"storageAccountType":"StandardSSD_LRS"},"createOption":"FromImage"}},"osProfile":{"computerNamePrefix":"myVMSS","adminUsername":"azureuser","adminPassword":"myPassword12"},"networkProfile":{"networkInterfaceConfigurations":[{"name":"myVMSS","properties":{"primary":true,"enableIPForwarding":true,"ipConfigurations":[{"name":"myVMSS","properties":{"subnet":{"id":"/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet"}}}]}}]}},"upgradePolicy":{"mode":"Manual"}}}' -H "Content-Type: application/json" -H "Authorization: Bearer <ACCESS TOKEN>"
    
    PUT https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2018-06-01 HTTP/1.1
    

    Cabeçalhos de solicitação

    Cabeçalho do pedido Description
    Tipo de conteúdo Obrigatório. Definido como application/json.
    Autorização Obrigatório. Defina como um token de acesso válido Bearer .

    Corpo do pedido

     {
        "sku":{
           "tier":"Standard",
           "capacity":3,
           "name":"Standard_D1_v2"
        },
        "location":"eastus",
        "identity":{
           "type":"UserAssigned",
           "userAssignedIdentities":{
              "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1":{
    
              }
           }
        },
        "properties":{
           "overprovision":true,
           "virtualMachineProfile":{
              "storageProfile":{
                 "imageReference":{
                    "sku":"2016-Datacenter",
                    "publisher":"MicrosoftWindowsServer",
                    "version":"latest",
                    "offer":"WindowsServer"
                 },
                 "osDisk":{
                    "caching":"ReadWrite",
                    "managedDisk":{
                       "storageAccountType":"StandardSSD_LRS"
                    },
                    "createOption":"FromImage"
                 }
              },
              "osProfile":{
                 "computerNamePrefix":"myVMSS",
                 "adminUsername":"azureuser",
                 "adminPassword":"myPassword12"
              },
              "networkProfile":{
                 "networkInterfaceConfigurations":[
                    {
                       "name":"myVMSS",
                       "properties":{
                          "primary":true,
                          "enableIPForwarding":true,
                          "ipConfigurations":[
                             {
                                "name":"myVMSS",
                                "properties":{
                                   "subnet":{
                                      "id":"/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet"
                                   }
                                }
                             }
                          ]
                       }
                    }
                 ]
              }
           },
           "upgradePolicy":{
              "mode":"Manual"
           }
        }
     }
    

    VERSÃO DA API 2017-12-01

    curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2017-12-01' -X PUT -d '{"sku":{"tier":"Standard","capacity":3,"name":"Standard_D1_v2"},"location":"eastus","identity":{"type":"UserAssigned","identityIds":["/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1"]},"properties":{"overprovision":true,"virtualMachineProfile":{"storageProfile":{"imageReference":{"sku":"2016-Datacenter","publisher":"MicrosoftWindowsServer","version":"latest","offer":"WindowsServer"},"osDisk":{"caching":"ReadWrite","managedDisk":{"storageAccountType":"StandardSSD_LRS"},"createOption":"FromImage"}},"osProfile":{"computerNamePrefix":"myVMSS","adminUsername":"azureuser","adminPassword":"myPassword12"},"networkProfile":{"networkInterfaceConfigurations":[{"name":"myVMSS","properties":{"primary":true,"enableIPForwarding":true,"ipConfigurations":[{"name":"myVMSS","properties":{"subnet":{"id":"/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet"}}}]}}]}},"upgradePolicy":{"mode":"Manual"}}}' -H "Content-Type: application/json" -H "Authorization: Bearer <ACCESS TOKEN>"
    
    PUT https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2017-12-01 HTTP/1.1
    

    Cabeçalhos de solicitação

    Cabeçalho do pedido Description
    Tipo de conteúdo Obrigatório. Definido como application/json.
    Autorização Obrigatório. Defina como um token de acesso válido Bearer .

    Corpo do pedido

     {
        "sku":{
           "tier":"Standard",
           "capacity":3,
           "name":"Standard_D1_v2"
        },
        "location":"eastus",
        "identity":{
           "type":"UserAssigned",
           "identityIds":[
              "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1"
           ]
        },
        "properties":{
           "overprovision":true,
           "virtualMachineProfile":{
              "storageProfile":{
                 "imageReference":{
                    "sku":"2016-Datacenter",
                    "publisher":"MicrosoftWindowsServer",
                    "version":"latest",
                    "offer":"WindowsServer"
                 },
                 "osDisk":{
                    "caching":"ReadWrite",
                    "managedDisk":{
                       "storageAccountType":"StandardSSD_LRS"
                    },
                    "createOption":"FromImage"
                 }
              },
              "osProfile":{
                 "computerNamePrefix":"myVMSS",
                 "adminUsername":"azureuser",
                 "adminPassword":"myPassword12"
              },
              "networkProfile":{
                 "networkInterfaceConfigurations":[
                    {
                       "name":"myVMSS",
                       "properties":{
                          "primary":true,
                          "enableIPForwarding":true,
                          "ipConfigurations":[
                             {
                                "name":"myVMSS",
                                "properties":{
                                   "subnet":{
                                      "id":"/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet"
                                   }
                                }
                             }
                          ]
                       }
                    }
                 ]
              }
           },
           "upgradePolicy":{
              "mode":"Manual"
           }
        }
     }
    

Atribuir uma identidade gerenciada atribuída pelo usuário a um conjunto de escala de máquina virtual do Azure existente

  1. Recupere um token de acesso ao portador, que você usará na próxima etapa no cabeçalho Autorização para criar seu conjunto de escala de máquina virtual com uma identidade gerenciada atribuída pelo sistema.

    az account get-access-token
    
  2. Crie uma identidade gerenciada atribuída pelo usuário usando as instruções encontradas aqui, Criar uma identidade gerenciada atribuída pelo usuário.

  3. Para garantir que você não exclua identidades gerenciadas atribuídas ao usuário ou ao sistema existentes que são atribuídas ao conjunto de escala da máquina virtual, você precisa listar os tipos de identidade atribuídos ao conjunto de escala da máquina virtual usando o seguinte comando CURL. Se você tiver identidades gerenciadas atribuídas ao conjunto de dimensionamento de máquina virtual, elas serão listadas identity no valor.

    curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.Compute/virtualMachineScaleSets/<VMSS NAME>?api-version=2018-06-01' -H "Authorization: Bearer <ACCESS TOKEN>"
    
    GET https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.Compute/virtualMachineScaleSets/<VMSS NAME>?api-version=2018-06-01 HTTP/1.1
    

    Cabeçalhos de solicitação

    Cabeçalho do pedido Description
    Autorização Obrigatório. Defina como um token de acesso válido Bearer .
  4. Se você não tiver nenhuma identidade gerenciada atribuída ao usuário ou ao sistema atribuída ao seu conjunto de dimensionamento de máquina virtual, use o seguinte comando CURL para chamar o ponto de extremidade REST do Azure Resource Manager para atribuir a primeira identidade gerenciada atribuída pelo usuário ao conjunto de escala da máquina virtual. Se você tiver uma identidade gerenciada atribuída ao usuário ou ao sistema atribuída ao conjunto de dimensionamento da máquina virtual, pule para a etapa 5 que mostra como adicionar várias identidades gerenciadas atribuídas pelo usuário a um conjunto de dimensionamento de máquina virtual e, ao mesmo tempo, manter a identidade gerenciada atribuída ao sistema.

    O exemplo a seguir atribui uma identidade ID1 gerenciada atribuída pelo usuário a um conjunto de escala de máquina virtual chamado myVMSS no grupo de recursos myResourceGroup. Substitua <ACCESS TOKEN> pelo valor que você recebeu na etapa anterior quando solicitou um token de acesso ao portador e o <SUBSCRIPTION ID> valor conforme apropriado para seu ambiente.

    VERSÃO DA API 2018-06-01

    curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2018-12-01' -X PATCH -d '{"identity":{"type":"userAssigned", "userAssignedIdentities":{"/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1":{}}}}' -H "Content-Type: application/json" -H Authorization:"Bearer <ACCESS TOKEN>"
    
    PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2018-12-01 HTTP/1.1
    

    Cabeçalhos de solicitação

    Cabeçalho do pedido Description
    Tipo de conteúdo Obrigatório. Definido como application/json.
    Autorização Obrigatório. Defina como um token de acesso válido Bearer .

    Corpo do pedido

     {
        "identity":{
           "type":"userAssigned",
           "userAssignedIdentities":{
              "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1":{
    
              }
           }
        }
     }
    

    VERSÃO DA API 2017-12-01

    curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2017-12-01' -X PATCH -d '{"identity":{"type":"userAssigned", "identityIds":["/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1"]}}' -H "Content-Type: application/json" -H Authorization:"Bearer <ACCESS TOKEN>"
    
    PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2017-12-01 HTTP/1.1
    

    Cabeçalhos de solicitação

    Cabeçalho do pedido Description
    Tipo de conteúdo Obrigatório. Definido como application/json.
    Autorização Obrigatório. Defina como um token de acesso válido Bearer .

    Corpo do pedido

     {
        "identity":{
           "type":"userAssigned",
           "identityIds":[
              "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1"
           ]
        }
     }
    
  5. Se você tiver uma identidade gerenciada atribuída pelo usuário ou pelo sistema atribuída ao seu conjunto de dimensionamento de máquina virtual:

    VERSÃO DA API 2018-06-01

    Adicione a identidade gerenciada atribuída pelo usuário ao valor do userAssignedIdentities dicionário.

    Por exemplo, se você tiver a identidade gerenciada atribuída ao sistema e a identidade ID1 gerenciada atribuída pelo usuário atualmente atribuída à sua escala de máquina virtual e quiser adicionar a identidade ID2 gerenciada atribuída pelo usuário a ela:

    curl  'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2018-06-01' -X PATCH -d '{"identity":{"type":"SystemAssigned, UserAssigned", "userAssignedIdentities":{"/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1":{},"/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2":{}}}}' -H "Content-Type: application/json" -H Authorization:"Bearer <ACCESS TOKEN>"
    
    PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2018-06-01 HTTP/1.1
    

    Cabeçalhos de solicitação

    Cabeçalho do pedido Description
    Tipo de conteúdo Obrigatório. Definido como application/json.
    Autorização Obrigatório. Defina como um token de acesso válido Bearer .

    Corpo do pedido

     {
        "identity":{
           "type":"SystemAssigned, UserAssigned",
           "userAssignedIdentities":{
              "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1":{
    
              },
              "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2":{
    
              }
           }
        }
     }
    

    VERSÃO DA API 2017-12-01

    Mantenha as identidades gerenciadas atribuídas pelo usuário que você gostaria de manter no valor da identityIds matriz enquanto adiciona a nova identidade gerenciada atribuída pelo usuário.

    Por exemplo, se você tiver a identidade atribuída ao sistema e a identidade ID1 gerenciada atribuída pelo usuário atualmente atribuída ao seu conjunto de dimensionamento de máquina virtual e quiser adicionar a identidade ID2 gerenciada atribuída pelo usuário a ela:

    curl  'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2017-12-01' -X PATCH -d '{"identity":{"type":"SystemAssigned, UserAssigned", "identityIds":["/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1","/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2"]}}' -H "Content-Type: application/json" -H Authorization:"Bearer <ACCESS TOKEN>"
    
    PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2017-12-01 HTTP/1.1
    

    Cabeçalhos de solicitação

    Cabeçalho do pedido Description
    Tipo de conteúdo Obrigatório. Definido como application/json.
    Autorização Obrigatório. Defina como um token de acesso válido Bearer .

    Corpo do pedido

     {
        "identity":{
           "type":"SystemAssigned, UserAssigned",
           "identityIds":[
              "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1",
              "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2"
           ]
        }
     }
    

Remover uma identidade gerenciada atribuída pelo usuário de um conjunto de dimensionamento de máquina virtual

  1. Recupere um token de acesso ao portador, que você usará na próxima etapa no cabeçalho Autorização para criar seu conjunto de escala de máquina virtual com uma identidade gerenciada atribuída pelo sistema.

    az account get-access-token
    
  2. Para garantir que você não exclua nenhuma identidade gerenciada atribuída pelo usuário existente que gostaria de manter atribuída ao conjunto de escala da máquina virtual ou remova a identidade gerenciada atribuída ao sistema, você precisa listar as identidades gerenciadas usando o seguinte comando CURL:

    curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.Compute/virtualMachineScaleSets/<VMSS NAME>?api-version=2018-06-01' -H "Authorization: Bearer <ACCESS TOKEN>" 
    
    GET https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.Compute/virtualMachineScaleSets/<VMSS NAME>?api-version=2018-06-01 HTTP/1.1
    

    Cabeçalhos de solicitação

    Cabeçalho do pedido Description
    Autorização Obrigatório. Defina como um token de acesso válido Bearer .

    Se você tiver identidades gerenciadas atribuídas à VM, elas serão listadas na resposta no identity valor.

    Por exemplo, se você tiver identidades ID1 gerenciadas atribuídas pelo usuário e ID2 atribuídas ao seu conjunto de dimensionamento de máquina virtual e quiser apenas manter ID1 atribuída e manter a identidade gerenciada atribuída ao sistema:

    VERSÃO DA API 2018-06-01

    Adicione null à identidade gerenciada atribuída pelo usuário que você gostaria de remover:

    curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2018-06-01' -X PATCH -d '{"identity":{"type":"SystemAssigned, UserAssigned", "userAssignedIdentities":{"/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2":null}}}' -H "Content-Type: application/json" -H Authorization:"Bearer <ACCESS TOKEN>"
    
    PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2018-06-01 HTTP/1.1
    

    Cabeçalhos de solicitação

    Cabeçalho do pedido Description
    Tipo de conteúdo Obrigatório. Definido como application/json.
    Autorização Obrigatório. Defina como um token de acesso válido Bearer .

    Corpo do pedido

     {
        "identity":{
           "type":"SystemAssigned, UserAssigned",
           "userAssignedIdentities":{
              "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2":null
           }
        }
     }
    

    VERSÃO DA API 2017-12-01

    Retenha apenas a(s) identidade(s) gerenciada(s) atribuída(s) ao usuário que você gostaria de manter na identityIds matriz:

    curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2017-12-01' -X PATCH -d '{"identity":{"type":"SystemAssigned,UserAssigned", "identityIds":["/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1"]}}' -H "Content-Type: application/json" -H Authorization:"Bearer <ACCESS TOKEN>"
    
    PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2017-12-01 HTTP/1.1
    

    Cabeçalhos de solicitação

    Cabeçalho do pedido Description
    Tipo de conteúdo Obrigatório. Definido como application/json.
    Autorização Obrigatório. Defina como um token de acesso válido Bearer .

    Corpo do pedido

     {
        "identity":{
           "type":"SystemAssigned,UserAssigned",
           "identityIds":[
              "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1"
           ]
        }
     }
    

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 gerenciadas atribuídas pelo usuário alternando para usar somente as identidades atribuídas pelo sistema usando o seguinte comando:

curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2018-06-01' -X PATCH -d '{"identity":{"type":"SystemAssigned"}}' -H "Content-Type: application/json" -H Authorization:"Bearer <ACCESS TOKEN>"
PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2018-06-01 HTTP/1.1

Cabeçalhos de solicitação

Cabeçalho do pedido Description
Tipo de conteúdo Obrigatório. Definido como application/json.
Autorização Obrigatório. Defina como um token de acesso válido Bearer .

Corpo do pedido

{
   "identity":{
      "type":"SystemAssigned"
   }
}

Se o conjunto de dimensionamento da máquina virtual tiver apenas identidades gerenciadas atribuídas pelo usuário e você quiser removê-las todas, use o seguinte comando:

curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2018-06-01' -X PATCH -d '{"identity":{"type":"None"}}' -H "Content-Type: application/json" -H Authorization:"Bearer <ACCESS TOKEN>"
PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2018-06-01 HTTP/1.1

Cabeçalhos de solicitação

Cabeçalho do pedido Description
Tipo de conteúdo Obrigatório. Definido como application/json.
Autorização Obrigatório. Defina como um token de acesso válido Bearer .

Corpo do pedido

{
   "identity":{
      "type":"None"
   }
}

Próximos passos

Para obter informações sobre como criar, listar ou excluir identidades gerenciadas atribuídas pelo usuário usando REST, consulte: