Configurar identidades gerenciadas em VMs (máquinas virtuais) do Azure

Identidades gerenciadas para recursos do Azure é um recurso do Microsoft Entra ID. Cada um dos serviços do Azure que dão suporte a identidades gerenciadas para recursos do Azure está sujeito à própria linha do tempo. Não deixe de examinar o status de disponibilidade das identidades gerenciadas do seu recurso e os problemas conhecidos antes de começar.

As identidades gerenciadas dos recursos do Azure fornecem aos serviços do Azure uma identidade gerenciada automaticamente na ID do Microsoft Entra. Use essa identidade para autenticar qualquer serviço que dê suporte à autenticação do Microsoft Entra, sem a necessidade de ter as credenciais no código.

Para obter informações sobre a definição e os detalhes do Azure Policy, consulte Usar o Azure Policy para atribuir identidades gerenciadas (versão prévia).

Neste artigo, você aprende como habilitar e desabilitar identidades gerenciadas atribuídas ao usuário e ao sistema para uma VM (Máquina Virtual) do Azure, usando o portal do Azure.

Pré-requisitos

Identidade gerenciada atribuída pelo sistema

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

Habilitar identidade gerenciada atribuída ao sistema durante a criação de uma VM

Para habilitar a identidade gerenciada atribuída pelo sistema em uma VM durante sua criação, sua conta precisa da atribuição de função Colaboração da Máquina Virtual. Nenhuma outra atribuição de função do diretório do Microsoft Entra é necessária.

  • Na guia Gerenciamento da seção Identidade, mude Identidade do serviço gerenciado para Em.

Captura de tela mostrando como habilitar a identidade atribuída pelo sistema durante a criação da VM.

Consulte os seguintes Inícios Rápidos para criar uma VM:

Habilitar a identidade gerenciada atribuída ao sistema em uma VM existente

Dica

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

Para habilitar a identidade gerenciada atribuída ao sistema em uma VM que foi originalmente provisionada sem ela, a conta precisará da atribuição de função Colaborador da Máquina Virtual. Nenhuma outra atribuição de função do diretório do Microsoft Entra é necessária.

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

  2. Navegue até a Máquina Virtual desejada e selecione Identidade.

  3. Em Sistema atribuído, Status, selecione Ativado e, em seguida, clique em Salvar:

    Captura de tela que mostra a página

Remover identidade gerenciada atribuída ao sistema de uma VM

Para remover a identidade gerenciada atribuída pelo sistema de uma VM, sua conta precisa da atribuição de função Atribuída do Virtual Machine. Nenhuma outra atribuição de função do diretório do Microsoft Entra é necessária.

Se você tiver uma Máquina Virtual que não precisa mais de identidade gerenciada atribuída ao sistema:

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

  2. Navegue até a Máquina Virtual desejada e selecione Identidade.

  3. Em Sistema atribuído, Status, selecione Desativado e, em seguida, clique em Salvar:

    Captura de tela da página de configuração.

Identidade gerenciada atribuída pelo usuário

Nesta seção, você aprende como adicionar e remover uma identidade gerenciada atribuída ao usuário de uma VM usando o portal do Azure.

Atribuir uma identidade atribuída ao usuário durante a criação de uma VM

Para atribuir uma identidade atribuída pelo usuário a uma VM, sua conta precisa das atribuições de função Contribuidor de Máquina Virtual e Operador de Identidade Gerenciada. Nenhuma outra atribuição de função do diretório do Microsoft Entra é necessária.

Atualmente, o portal do Azure não dá suporte à atribuição de uma identidade gerenciada atribuída ao usuário durante a criação de uma VM. Em vez disso, consulte um dos seguintes artigos de Início Rápido de criação de VM para primeiro criar uma VM e, em seguida, vá para a próxima seção para obter detalhes sobre como atribuir uma identidade gerenciada atribuída ao usuário à VM:

Atribuir uma identidade gerenciada atribuída ao usuário a uma VM existente

Para atribuir uma identidade atribuída pelo usuário a uma VM, sua conta precisa das atribuições de função Contribuidor de Máquina Virtual e Operador de Identidade Gerenciada. Nenhuma outra atribuição de função do diretório do Microsoft Entra é necessária.

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

  2. Navegue até a VM desejada e clique em Identidade, Usuário atribuído e, em seguida, Adicionar.

    Captura de tela que mostra a página Identidade com Atribuído pelo usuário selecionado e o botão Adicionar realçado.

  3. Clique na identidade atribuída ao usuário que você quer adicionar à VM e, em seguida, clique em Adicionar.

    Captura de tela mostrando a adição de uma identidade gerenciada atribuída pelo usuário à VM.

Remover uma identidade gerenciada atribuída ao usuário de uma VM

Para remover uma identidade atribuída pelo usuário de uma VM, sua conta precisa da atribuição de função Atribuído do Virtual Machine. Nenhuma outra atribuição de função do diretório do Microsoft Entra é necessária.

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

  2. Navegue até a VM desejada e selecione Identidade, Atribuída pelo usuário, o nome da identidade gerenciada atribuída pelo usuário que deseja excluir e clique em Remover (clique em Sim no painel de confirmação).

    Captura de tela mostrando como remover a identidade gerenciada atribuída pelo usuário de uma VM

Próximas etapas

Neste artigo, usando a CLI do Azure, você aprenderá como executar as seguintes identidades gerenciadas para operações de recursos do Azure em uma VM do Azure:

  • Habilitar e desabilitar a identidade gerenciada atribuída pelo sistema em uma VM do Azure
  • Adicionar e remover uma identidade gerenciada atribuída pelo usuário em uma VM do Azure

Se você ainda não tiver uma conta do Azure, inscreva-se em uma conta gratuita antes de continuar.

Pré-requisitos

Identidade gerenciada atribuída pelo sistema

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

Ativar identidade gerenciada atribuída pelo sistema durante a criação de uma VM do Azure

Para criar uma VM do Azure com a identidade gerenciada atribuída ao sistema habilitada, a conta precisará da atribuição de função Colaborador da Máquina Virtual. Nenhuma outra atribuição de função do diretório do Microsoft Entra é necessária.

  1. Criar um grupo de recursos para contenção e implantação de VM e seus recursos relacionados usando az group create. Ignore esta etapa, se você já tiver o grupo de recursos que deseja usar:

    az group create --name myResourceGroup --location westus
    
  2. Crie uma VM usando az vm create. O exemplo a seguir cria uma VM nomeada myVM com uma identidade gerenciada atribuída ao sistema, conforme solicitado pelo parâmetro --assign-identity, com o --role e o --scope especificados. Os parâmetros --admin-username e --admin-password especificam o nome de usuário e a senha do usuário administrativo para a entrada na máquina virtual. Atualize esses valores como adequado ao seu ambiente:

    az vm create --resource-group myResourceGroup --name myVM --image win2016datacenter --generate-ssh-keys --assign-identity --role contributor --scope mySubscription --admin-username azureuser --admin-password myPassword12
    

Habilitar identidade gerenciada atribuída ao sistema em uma VM do Azure existente

Para habilitar a identidade gerenciada atribuída pelo sistema em uma VM, sua conta precisa da atribuição de função Colaboração da Máquina Virtual. Nenhuma outra atribuição de função do diretório do Microsoft Entra é necessária.

  1. Se você estiver usando a CLI do Azure em um console local, primeiro entre no Azure usando o logon az. Use uma conta que esteja associada com uma assinatura do Azure que contenha uma VM.

    az login
    
  2. Use az vm identity assign com identity assign para habilitar a identidade atribuída ao sistema para uma VM existente:

    az vm identity assign -g myResourceGroup -n myVm
    

Desabilitar uma identidade atribuída ao sistema de uma VM do Azure

Para desabilitar a identidade gerenciada atribuída ao sistema em uma VM, a conta precisará da atribuição de função Colaborador da Máquina Virtual. Nenhuma outra atribuição de função do diretório do Microsoft Entra é necessária.

Se você tiver uma Máquina Virtual que não precisa mais da identidade atribuída ao sistema, mas ainda precisar de identidades atribuídas ao usuário, use o comando a seguir:

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

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

Observação

O valor none diferencia maiúsculas de minúsculas. Deve estar em letras minúsculas.

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

Identidade gerenciada atribuída pelo usuário

Nesta seção, você aprenderá como adicionar e remover uma identidade gerenciada atribuída ao usuário de uma VM do Azure usando a CLI do Azure. Se você criar sua identidade gerenciada atribuída ao usuário em um RG diferente da VM. Você precisará usar a URL da sua identidade gerenciada para atribuí-la à VM. Por exemplo:

--identities "/subscriptions/<SUBID>/resourcegroups/<RESROURCEGROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER_ASSIGNED_ID_NAME>"

Atribuir uma identidade gerenciada atribuída pelo usuário durante a criação de uma VM do Azure

Para atribuir uma identidade atribuída pelo usuário a uma VM durante sua criação, sua conta precisa das atribuições de função Contribuinte virtual e Operador de identidade gerenciada. Nenhuma outra atribuição de função do diretório do Microsoft Entra é necessária.

  1. Se você já tiver um grupo de recursos e quiser usá-lo, ignore esta etapa. Crie um grupo de recursos para independência e implantação da identidade gerenciada atribuída ao usuário, usando az group create . Substitua os valores de parâmetro <RESOURCE GROUP> e <LOCATION> pelos seus próprios valores. :

    az group create --name <RESOURCE GROUP> --location <LOCATION>
    
  2. Crie uma identidade gerenciada atribuída ao usuário usando az identity create. O parâmetro -g especifica o grupo de recursos em que a identidade gerenciada atribuída pelo usuário é criada e o parâmetro -n especifica o nome.

    Importante

    Ao criar identidades gerenciadas atribuídas pelo usuário, o nome deve começar com uma letra ou número e pode incluir uma combinação de caracteres alfanuméricos, hifens (-) e sublinhados (_). Para que a atribuição a uma máquina virtual ou um conjunto de dimensionamento de máquinas virtuais funcione corretamente, o nome é limitado a 24 caracteres. Para mais informações, consulte Perguntas frequentes e problemas conhecidos

    az identity create -g myResourceGroup -n myUserAssignedIdentity
    

    A resposta contém detalhes para a identidade gerenciada atribuída ao usuário criada, semelhante à seguinte. O valor da ID do recurso atribuído à identidade gerenciada atribuída ao usuário será 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/<myUserAssignedIdentity>/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 uma VM usando az vm create. O exemplo a seguir cria uma VM associada à nova identidade atribuída ao usuário, conforme especificado pelo parâmetro --assign-identity, com o --role e o --scope especificados. Substitua os valores de parâmetro <RESOURCE GROUP>, <VM NAME>, <USER NAME>, <PASSWORD>, <USER ASSIGNED IDENTITY NAME>, <ROLE> e <SUBSCRIPTION> pelos seus valores.

    az vm create --resource-group <RESOURCE GROUP> --name <VM NAME> --image <SKU linux image>  --admin-username <USER NAME> --admin-password <PASSWORD> --assign-identity <USER ASSIGNED IDENTITY NAME> --role <ROLE> --scope <SUBSCRIPTION> 
    

Atribuir uma identidade gerenciada usuário atribuído a uma VM existente do Azure

Para atribuir uma identidade atribuída pelo usuário a uma VM, sua conta precisa das atribuições de função Contribuidor de Máquina Virtual e Operador de Identidade Gerenciada. Nenhuma outra atribuição de função do diretório do Microsoft Entra é necessária.

  1. Crie uma identidade atribuída pelo usuário usando az identity create. O parâmetro -g especifica o grupo de recursos em que a identidade atribuída ao usuário é criada e o parâmetro -n especifica o nome. Substitua os valores de parâmetro <RESOURCE GROUP> e <USER ASSIGNED IDENTITY NAME> pelos seus próprios valores:

    Importante

    A criação de identidades geridas atribuídas pelo utilizador com caracteres especiais (ou seja, sublinhado) no nome não é suportada atualmente. Use caracteres alfanuméricos. Procure novamente por atualizações. Para obter mais informações, consulte Perguntas frequentes e problemas conhecidos

    az identity create -g <RESOURCE GROUP> -n <USER ASSIGNED IDENTITY NAME>
    

    A resposta contém detalhes para a identidade gerenciada atribuída ao usuário criada, semelhante à seguinte.

    {
      "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"    
    }
    
  2. Atribua a identidade atribuída ao usuário à VM usando az vm identity assign. Substitua os valores de parâmetro <RESOURCE GROUP> e <VM NAME> pelos seus próprios valores. O <USER ASSIGNED IDENTITY NAME> é a propriedade name do recurso de identidade gerenciada atribuída ao usuário, conforme criado na etapa anterior. Se você criar sua identidade gerenciada atribuída ao usuário em um RG diferente da VM. Você precisará usar a URL da sua identidade gerenciada.

    az vm identity assign -g <RESOURCE GROUP> -n <VM NAME> --identities <USER ASSIGNED IDENTITY>
    

Remover uma identidade gerenciada atribuída pelo usuário de uma VM do Azure

Para remover uma identidade atribuída ao usuário a uma VM, a conta precisará da atribuição de função Colaborador da Máquina Virtual.

Se essa for a única identidade gerenciada atribuída ao usuário atribuída à máquina virtual, UserAssigned será removido do valor do tipo de identidade. Substitua os valores de parâmetro <RESOURCE GROUP> e <VM NAME> pelos seus próprios valores. O <USER ASSIGNED IDENTITY> será a propriedade name da identidade atribuída ao usuário, que pode ser localizada na seção de identidade da máquina virtual usando az vm identity show:

az vm identity remove -g <RESOURCE GROUP> -n <VM NAME> --identities <USER ASSIGNED IDENTITY>

Se a VM não tiver uma identidade gerenciada atribuída ao sistema e você quiser remover todas as identidades atribuídas ao usuário, use o comando a seguir:

Observação

O valor none diferencia maiúsculas de minúsculas. Deve estar em letras minúsculas.

az vm update -n myVM -g myResourceGroup --set identity.type="none" identity.userAssignedIdentities=null

Se a VM tiver identidades atribuídas ao sistema e atribuídas ao usuário, você poderá remover todas as identidades atribuídas ao usuário, alternando para usar somente atribuídas ao sistema. Use o seguinte comando:

az vm update -n myVM -g myResourceGroup --set identity.type='SystemAssigned' identity.userAssignedIdentities=null 

Próximas etapas

Neste artigo, usando o PowerShell, você aprenderá como executar as seguintes identidades gerenciadas para operações de recursos do Azure em uma VM do Azure.

Observação

Recomendamos que você use o módulo Az PowerShell do Azure para interagir com o Azure. Confira Instalar o Azure PowerShell para começar. Para saber como migrar para o módulo Az PowerShell, confira Migrar o Azure PowerShell do AzureRM para o Az.

Pré-requisitos

Identidade gerenciada atribuída pelo sistema

Nesta seção, veremos como ativar e desativar a identidade gerenciada atribuída pelo sistema usando o Azure PowerShell.

Ativar identidade gerenciada atribuída pelo sistema durante a criação de uma VM do Azure

Para criar uma VM do Azure com a identidade gerenciada atribuída ao sistema habilitada, a conta precisará da atribuição de função Colaborador da Máquina Virtual. Nenhuma outra atribuição de função do diretório do Microsoft Entra é necessária.

  1. Consulte um dos guias de início rápido de VM do Azure a seguir, concluindo apenas as seções necessárias ("Entrar no Azure", "Criar o grupo de recursos", "Criar grupo de rede", "Criar a máquina virtual").

    Quando você chegar à seção "Criar a VM", faça uma pequena modificação na sintaxe do cmdlet New-AzVMConfig. Certifique-se de adicionar um parâmetro -IdentityType SystemAssigned para provisionar a VM com a identidade atribuída ao sistema habilitada, por exemplo:

    $vmConfig = New-AzVMConfig -VMName myVM -IdentityType SystemAssigned ...
    

Habilitar identidade gerenciada atribuída ao sistema em uma VM do Azure existente

Para habilitar a identidade gerenciada atribuída ao sistema em uma VM que foi originalmente provisionada sem ela, a conta precisará da atribuição de função Colaborador da Máquina Virtual. Nenhuma outra atribuição de função do diretório do Microsoft Entra é necessária.

  1. Recupere as propriedades da VM usando o cmdlet Get-AzVM. Em seguida, para habilitar uma identidade gerenciada atribuída ao sistema, use a opção -IdentityType no cmdlet Update-AzVM:

    $vm = Get-AzVM -ResourceGroupName myResourceGroup -Name myVM
    Update-AzVM -ResourceGroupName myResourceGroup -VM $vm -IdentityType SystemAssigned
    

Adicionar uma identidade atribuída pelo sistema de uma VM a um grupo

Depois de habilitar a identidade atribuída pelo sistema em uma VM, você pode adicioná-la a um grupo. O procedimento a seguir adiciona uma identidade atribuída pelo sistema de uma VM a um grupo.

  1. Recupere e tome nota do ObjectID (conforme especificado no campo Id dos valores retornados) da entidade de serviço da VM:

    Get-AzADServicePrincipal -displayname "myVM"
    
  2. Recupere e tome nota do ObjectID (conforme especificado no campo Id dos valores retornados) do grupo:

    Get-AzADGroup -searchstring "myGroup"
    
  3. Adicionar a entidade de serviço da VM ao grupo:

    New-MgGroupMember -GroupId "<Id of group>" -DirectoryObjectId "<Id of VM service principal>" 
    

Desativar identidade gerenciada atribuída pelo sistema de uma VM do Azure

Para desabilitar a identidade gerenciada atribuída ao sistema em uma VM, a conta precisará da atribuição de função Colaborador da Máquina Virtual. Nenhuma outra atribuição de função do diretório do Microsoft Entra é necessária.

Se você tiver uma máquina virtual que não precise mais da identidade gerenciada atribuída ao sistema, mas ainda precisar de identidades gerenciadas atribuídas ao usuário, use o seguinte cmdlet:

  1. Recupere as propriedades da VM usando o cmdlet Get-AzVM e defina o parâmetro -IdentityType como UserAssigned:

    $vm = Get-AzVM -ResourceGroupName myResourceGroup -Name myVM
    Update-AzVm -ResourceGroupName myResourceGroup -VM $vm -IdentityType "UserAssigned" -IdentityID "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/<RESROURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY NAME>..."
    

Se você tiver uma máquina virtual que não precise mais da identidade gerenciada atribuída ao sistema e não tiver identidades gerenciadas atribuídas ao usuário, use os comandos a seguir:

$vm = Get-AzVM -ResourceGroupName myResourceGroup -Name myVM
Update-AzVm -ResourceGroupName myResourceGroup -VM $vm -IdentityType None

Identidade gerenciada atribuída pelo usuário

Nesta seção, você aprenderá como adicionar e remover uma identidade atribuída ao usuário de uma VM usando Azure PowerShell.

Atribuir uma identidade gerenciada atribuída ao usuário a uma VM durante a criação

Para atribuir uma identidade atribuída pelo usuário a uma VM, sua conta precisa das atribuições de função Contribuidor de Máquina Virtual e Operador de Identidade Gerenciada. Nenhuma outra atribuição de função do diretório do Microsoft Entra é necessária.

  1. Consulte um dos guias de início rápido de VM do Azure a seguir, concluindo apenas as seções necessárias ("Entrar no Azure", "Criar o grupo de recursos", "Criar grupo de rede", "Criar a máquina virtual").

    Quando você chegar à seção "Criar a VM", faça uma pequena modificação na New-AzVMConfigsintaxe do cmdlet. Adicione os parâmetros -IdentityType UserAssigned e -IdentityID para provisionar a VM com uma identidade atribuída ao usuário. Substitua <VM NAME>,<SUBSCRIPTION ID>, <RESROURCE GROUP>, e <USER ASSIGNED IDENTITY NAME> pelos seus próprios valores. Por exemplo:

    $vmConfig = New-AzVMConfig -VMName <VM NAME> -IdentityType UserAssigned -IdentityID "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/<RESROURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY NAME>..."
    

Atribuir uma identidade gerenciada usuário atribuído a uma VM existente do Azure

Para atribuir uma identidade atribuída pelo usuário a uma VM, sua conta precisa das atribuições de função Contribuidor de Máquina Virtual e Operador de Identidade Gerenciada. Nenhuma outra atribuição de função do diretório do Microsoft Entra é necessária.

  1. Crie uma identidade gerenciada atribuída ao usuário, usando o cmdlet New-AzUserAssignedIdentity. Observe o Id na saída porque você precisará dessas informações na próxima etapa.

    Importante

    A criação de identidades gerenciadas atribuídas pelo usuário dá suporte apenas a caracteres alfanuméricos, sublinhado e hífen (0-9, a-z, A-Z, _ ou -). Além disso, o nome deve ter um limite de 3 a 128 caracteres para que a atribuição a VM/VMSS funcione corretamente. Para obter mais informações, consulte Perguntas frequentes e problemas conhecidos

    New-AzUserAssignedIdentity -ResourceGroupName <RESOURCEGROUP> -Name <USER ASSIGNED IDENTITY NAME>
    
  2. Recupere as propriedades da VM usando o cmdlet Get-AzVM. Em seguida, para atribuir uma identidade gerenciada atribuída ao usuário à VM do Azure, use a opção -IdentityType e -IdentityID no cmdlet Update-AzVM. O valor para o-IdentityId parâmetro é o Id você anotou na etapa anterior. Substitua, , , e pelos seus próprios valores.

    Aviso

    Para manter qualquer identidades gerenciadas anteriormente atribuído ao usuário atribuídas à VM, consulte o Identity propriedade do objeto da VM (por exemplo, $vm.Identity). Se qualquer usuário atribuído identidades gerenciadas são retornadas, incluí-los no comando a seguir, juntamente com o novo usuário atribuído a identidade gerenciada que você deseja atribuir à VM.

    $vm = Get-AzVM -ResourceGroupName <RESOURCE GROUP> -Name <VM NAME>
    
    # Get the list of existing identity IDs and then append to it
    $identityIds = $vm.Identity.UserAssignedIdentities.Keys
    $uid = "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/<RESROURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY NAME>"
    $identityIds = $identityIds + $uid 
    
    # Update the VM with added identity IDs
    Update-AzVM -ResourceGroupName <RESOURCE GROUP> -VM $vm -IdentityType UserAssigned -IdentityID $uid 
    

Remover uma identidade gerenciada atribuída pelo usuário de uma VM do Azure

Para remover uma identidade atribuída ao usuário a uma VM, a conta precisará da atribuição de função Colaborador da Máquina Virtual.

Se a VM tiver várias identidades gerenciadas atribuídas ao usuário, será possível remover todas, exceto a última, usando os seguintes comandos. Substitua os valores de parâmetro <RESOURCE GROUP> e <VM NAME> pelos seus próprios valores. O <USER ASSIGNED IDENTITY NAME> é a propriedade do nome da identidade gerenciada atribuída ao usuário, que deve permanecer na VM. Essas informações são detectáveis usando uma consulta para pesquisar a propriedade Identity do objeto VM. Por exemplo $vm.Identity:

$vm = Get-AzVm -ResourceGroupName myResourceGroup -Name myVm
Update-AzVm -ResourceGroupName myResourceGroup -VirtualMachine $vm -IdentityType UserAssigned -IdentityID <USER ASSIGNED IDENTITY NAME>

Se a VM não tiver uma identidade gerenciada atribuída pelo sistema e você quiser remover todas as identidades gerenciadas atribuídas pelo usuário, use o seguinte comando:

$vm = Get-AzVm -ResourceGroupName myResourceGroup -Name myVm
Update-AzVm -ResourceGroupName myResourceGroup -VM $vm -IdentityType None

Se a VM tiver ambas as identidades gerenciadas atribuídas ao sistema e atribuídas ao usuário, será possível remover todas as identidades gerenciadas atribuídas ao usuário, alternando para usar apenas as identidades gerenciadas atribuídas ao sistema.

$vm = Get-AzVm -ResourceGroupName myResourceGroup -Name myVm
Update-AzVm -ResourceGroupName myResourceGroup -VirtualMachine $vm -IdentityType "SystemAssigned"

Próximas etapas

Neste artigo, usando o modelo de implantação do Azure Resource Manager, você aprende como executar as seguintes identidades gerenciadas para operações de recursos do Azure em uma VM do Azure:

Pré-requisitos

Modelos do Azure Resource Manager

Assim como com o portal do Azure e o script, os modelos do Azure Resource Manager permitem implantar recursos novos ou modificados definidos por um grupo de recursos do Azure. Há várias opções disponíveis para a edição e a implantação do modelo, tanto locais quanto baseadas em portal, incluindo:

Independentemente da opção escolhido, a sintaxe do modelo será a mesma durante a implantação inicial e a reimplantação. Habilitar uma identidade gerenciada atribuída ao usuário ou ao sistema 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 gerenciada atribuída pelo sistema

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

Habilitar identidade gerenciada atribuída ao sistema durante a criação de uma VM do Azure ou em uma VM existente

Para habilitar a identidade gerenciada atribuída pelo sistema em uma VM, sua conta precisa da atribuição de função Colaboração da Máquina Virtual. Nenhuma outra atribuição de função do diretório do Microsoft Entra é necessária.

  1. Se você entrar no Azure localmente ou por meio do portal do Azure, use uma conta que esteja associada com a assinatura do Azure que contenha a máquina virtual.

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

    "identity": {
        "type": "SystemAssigned"
    },
    
  3. Quando você terminar, as seguintes seções deverão ser adicionadas à seção resource do modelo e ela será semelhante à seguinte:

     "resources": [
         {
             //other resource provider properties...
             "apiVersion": "2018-06-01",
             "type": "Microsoft.Compute/virtualMachines",
             "name": "[variables('vmName')]",
             "location": "[resourceGroup().location]",
             "identity": {
                 "type": "SystemAssigned",
                 }                        
         }
     ]
    

Atribuir uma função à identidade gerenciada atribuída ao sistema da VM

Após habilitar uma identidade atribuída ao sistema na VM, é recomendável conceder uma função a ela, como o acesso de Leitor ao grupo de recursos no qual foi criado. Para ajudar você com esta, encontre informações detalhadas no artigo Atribuir funções do Azure usando modelos do Azure Resource Manager.

Desabilitar uma identidade gerenciada atribuída ao sistema de uma VM do Azure

Para remover a identidade gerenciada atribuída pelo sistema de uma VM, sua conta precisa da atribuição de função Atribuída do Virtual Machine. Nenhuma outra atribuição de função do diretório do Microsoft Entra é necessária.

  1. Se você entrar no Azure localmente ou por meio do portal do Azure, use uma conta que esteja associada com a assinatura do Azure que contenha a máquina virtual.

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

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

    Se a VM tiver identidades gerenciadas atribuídas ao usuário e ao sistema, remova SystemAssigned do tipo de identidade e mantenha UserAssigned junto com os valores de dicionário userAssignedIdentities.

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

    Se apiVersion for 2017-12-01 e a VM tiver identidades gerenciadas ao sistema e ao usuário, remova SystemAssigned do tipo de identidade e mantenha UserAssigned junto com a matriz identityIds das identidades gerenciadas atribuídas ao usuário.

O seguinte exemplo mostra como remover uma identidade gerenciada atribuída ao sistema de uma VM sem identidades gerenciadas atribuídas ao usuário:

{
    "apiVersion": "2018-06-01",
    "type": "Microsoft.Compute/virtualMachines",
    "name": "[parameters('vmName')]",
    "location": "[resourceGroup().location]",
    "identity": {
        "type": "None"
    }
}

Identidade gerenciada atribuída pelo usuário

Nesta seção, você atribui uma identidade gerenciada atribuída ao usuário a uma VM do Azure usando o modelo do Azure Resource Manager.

Observação

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

Atribuir uma identidade gerenciada atribuída ao usuário a uma VM do Azure

Para atribuir uma identidade atribuída pelo usuário a uma VM, a sua conta precisa da atribuição de função Operador de Identidade Gerenciada. Nenhuma outra atribuição de função do diretório do Microsoft Entra é necessária.

  1. No elemento resources, adicione a seguinte entrada para atribuir uma identidade gerenciada atribuída ao usuário à VM. Certifique-se de substituir <USERASSIGNEDIDENTITY> pelo nome da identidade gerenciada atribuída ao usuário que você criou.

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

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

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

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

    Se apiVersion for 2017-12-01, as identidades gerenciadas atribuídas ao usuário serão armazenadas na matriz identityIds e o valor <USERASSIGNEDIDENTITYNAME> deverá ser armazenado em uma variável definida na seção variables do modelo.

    {
        "apiVersion": "2017-12-01",
        "type": "Microsoft.Compute/virtualMachines",
        "name": "[variables('vmName')]",
        "location": "[resourceGroup().location]",
        "identity": {
            "type": "userAssigned",
            "identityIds": [
                "[resourceID('Microsoft.ManagedIdentity/userAssignedIdentities/',variables('<USERASSIGNEDIDENTITYNAME>'))]"
            ]
        }
    }
    
  2. Quando você terminar, as seguintes seções deverão ser adicionadas à seção resource do modelo e ela será semelhante à seguinte:

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

      "resources": [
         {
             //other resource provider properties...
             "apiVersion": "2018-06-01",
             "type": "Microsoft.Compute/virtualMachines",
             "name": "[variables('vmName')]",
             "location": "[resourceGroup().location]",
             "identity": {
                 "type": "userAssigned",
                 "userAssignedIdentities": {
                    "[resourceID('Microsoft.ManagedIdentity/userAssignedIdentities/',variables('<USERASSIGNEDIDENTITYNAME>'))]": {}
                 }
             }
         }
     ] 
    

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

    "resources": [
         {
             //other resource provider properties...
             "apiVersion": "2017-12-01",
             "type": "Microsoft.Compute/virtualMachines",
             "name": "[variables('vmName')]",
             "location": "[resourceGroup().location]",
             "identity": {
                 "type": "userAssigned",
                 "identityIds": [
                    "[resourceID('Microsoft.ManagedIdentity/userAssignedIdentities/',variables('<USERASSIGNEDIDENTITYNAME>'))]"
                 ]
             }
         }
    ]
    

Remover uma identidade gerenciada atribuída pelo usuário de uma VM do Azure

Para remover uma identidade atribuída pelo usuário de uma VM, sua conta precisa da atribuição de função Atribuído do Virtual Machine. Nenhuma outra atribuição de função do diretório do Microsoft Entra é necessária.

  1. Se você entrar no Azure localmente ou por meio do portal do Azure, use uma conta que esteja associada com a assinatura do Azure que contenha a máquina virtual.

  2. Carregue o modelo em um editor e localize o recurso Microsoft.Compute/virtualMachines de interesse na seção resources. Se você tiver uma VM que tenha apenas a identidade gerenciada atribuída ao usuário, será possível desabilitá-la alterando o tipo de identidade para None.

    O seguinte exemplo mostra como remover todas as identidades gerenciadas atribuídas ao usuário de uma VM sem nenhuma identidade gerenciada atribuída ao sistema:

     {
       "apiVersion": "2018-06-01",
       "type": "Microsoft.Compute/virtualMachines",
       "name": "[parameters('vmName')]",
       "location": "[resourceGroup().location]",
       "identity": {
           "type": "None"
           },
     }
    

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

    Para remover uma identidade gerenciada atribuída ao usuário único de uma VM, remova-a do dicionário useraAssignedIdentities.

    Caso você tenha uma identidade gerenciada atribuída ao sistema, mantenha a identidade com o valor type no valor identity.

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

    Para remover uma identidade gerenciada atribuída ao usuário único de uma VM, remova-a da matriz identityIds.

    Caso você tenha uma identidade gerenciada atribuída ao sistema, mantenha a identidade com o valor type no valor identity.

Próximas etapas

Neste artigo, usando CURL para fazer chamadas para o ponto de extremidade REST do Azure Resource Manager, você aprenderá como executar as seguintes identidades gerenciadas para operações de recursos do Azure em uma VM do Azure:

  • Habilitar e desabilitar a identidade gerenciada atribuída pelo sistema em uma VM do Azure
  • Adicionar e remover uma identidade gerenciada atribuída pelo usuário em uma VM do Azure

Se você ainda não tiver uma conta do Azure, inscreva-se em uma conta gratuita antes de continuar.

Pré-requisitos

Identidade gerenciada atribuída pelo sistema

Nesta seção, você aprenderá como habilitar e desabilitar a identidade gerenciada atribuída pelo sistema em uma VM do Azure usando CURL para fazer chamadas para o ponto de extremidade REST do Azure Resource Manager.

Ativar identidade gerenciada atribuída pelo sistema durante a criação de uma VM do Azure

Para criar uma VM do Azure com a identidade gerenciada atribuída ao sistema habilitada, a conta precisará da atribuição de função Colaborador da Máquina Virtual. Nenhuma outra atribuição de função do diretório do Microsoft Entra é necessária.

  1. Criar um grupo de recursos para contenção e implantação de VM e seus recursos relacionados usando az group create. Ignore esta etapa, se você já tiver o grupo de recursos que deseja usar:

    az group create --name myResourceGroup --location westus
    
  2. Crie um adaptador de rede para a VM:

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

    az account get-access-token
    
  4. Com o Azure Cloud Shell, crie uma VM usando o CURL para chamar o ponto de extremidade REST do Azure Resource Manager. O exemplo a seguir cria uma VM denominada myVM com uma identidade gerenciada designada pelo sistema, conforme identificada no corpo da solicitação pelo valor "identity":{"type":"SystemAssigned"}. Substitua <ACCESS TOKEN> pelo valor recebido na etapa anterior quando você solicitou um token de acesso de portador e o valor de <SUBSCRIPTION ID> apropriado para seu ambiente.

    curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01' -X PUT -d '{"location":"westus","name":"myVM","identity":{"type":"SystemAssigned"},"properties":{"hardwareProfile":{"vmSize":"Standard_D2_v2"},"storageProfile":{"imageReference":{"sku":"2016-Datacenter","publisher":"MicrosoftWindowsServer","version":"latest","offer":"WindowsServer"},"osDisk":{"caching":"ReadWrite","managedDisk":{"storageAccountType":"StandardSSD_LRS"},"name":"myVM3osdisk","createOption":"FromImage"},"dataDisks":[{"diskSizeGB":1023,"createOption":"Empty","lun":0},{"diskSizeGB":1023,"createOption":"Empty","lun":1}]},"osProfile":{"adminUsername":"azureuser","computerName":"myVM","adminPassword":"<SECURE PASSWORD STRING>"},"networkProfile":{"networkInterfaces":[{"id":"/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/myNic","properties":{"primary":true}}]}}}' -H "Content-Type: application/json" -H "Authorization: Bearer <ACCESS TOKEN>"
    
    PUT https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01 HTTP/1.1
    

    Cabeçalhos de solicitação

    Cabeçalho da solicitação Descrição
    Content-Type Obrigatórios. Defina como application/json.
    Autorização Obrigatórios. Defina como um Bearer token de acesso válido.

    Corpo da solicitação

      {
        "location":"westus",
        "name":"myVM",
        "identity":{
           "type":"SystemAssigned"
        },
        "properties":{
           "hardwareProfile":{
              "vmSize":"Standard_D2_v2"
           },
           "storageProfile":{
              "imageReference":{
                 "sku":"2016-Datacenter",
                 "publisher":"MicrosoftWindowsServer",
                 "version":"latest",
                 "offer":"WindowsServer"
              },
              "osDisk":{
                 "caching":"ReadWrite",
                 "managedDisk":{
                    "storageAccountType":"StandardSSD_LRS"
                 },
                 "name":"myVM3osdisk",
                 "createOption":"FromImage"
              },
              "dataDisks":[
                 {
                    "diskSizeGB":1023,
                    "createOption":"Empty",
                    "lun":0
                 },
                 {
                    "diskSizeGB":1023,
                    "createOption":"Empty",
                    "lun":1
                 }
              ]
           },
           "osProfile":{
              "adminUsername":"azureuser",
              "computerName":"myVM",
              "adminPassword":"myPassword12"
           },
           "networkProfile":{
              "networkInterfaces":[
                 {
                    "id":"/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/myNic",
                    "properties":{
                       "primary":true
                    }
                 }
              ]
           }
        }
     }  
    

Ativar identidade atribuída pelo sistema em uma VM do Azure existente

Para habilitar a identidade gerenciada atribuída ao sistema em uma VM que foi originalmente provisionada sem ela, a conta precisará da atribuição de função Colaborador da Máquina Virtual. Nenhuma outra atribuição de função do diretório do Microsoft Entra é necessária.

  1. Recupere um token de acesso do portador, que você usará na próxima etapa no cabeçalho Autorização para criar sua VM com uma identidade gerenciada atribuída pelo sistema.

    az account get-access-token
    
  2. Use o seguinte comando CURL para chamar o terminal REST do Azure Resource Manager para ativar a identidade gerenciada atribuída pelo sistema em sua VM, conforme identificado no corpo da solicitação pelo valor {"identity":{"type":"SystemAssigned"} para uma VM denominada myVM. Substitua <ACCESS TOKEN> pelo valor recebido na etapa anterior quando você solicitou um token de acesso de portador e o valor de <SUBSCRIPTION ID> apropriado para seu ambiente.

    Importante

    Para garantir que você não exclua nenhuma identidade gerenciada atribuída pelo usuário que esteja atribuída à VM, é necessário 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/virtualMachines/<VM NAME>?api-version=2018-06-01' -H "Authorization: Bearer <ACCESS TOKEN>". Se você tiver identidades gerenciadas atribuídas pelo usuário e atribuídas à VM, conforme identificado no valor identity na resposta, pule para a etapa 3, que mostra como manter as identidades gerenciadas atribuídas pelo usuário ao ativar a identidade gerenciada atribuída pelo sistema na sua VM.

    curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?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/virtualMachines/myVM?api-version=2018-06-01 HTTP/1.1
    

    Cabeçalhos de solicitação

    Cabeçalho da solicitação Descrição
    Content-Type Obrigatórios. Defina como application/json.
    Autorização Obrigatórios. Defina como um Bearer token de acesso válido.

    Corpo da solicitação

     {  
        "identity":{  
           "type":"SystemAssigned"
        }
     }
    
  3. Para habilitar a identidade gerenciada atribuída pelo sistema em uma VM com identidades gerenciadas atribuídas pelo usuário existentes, você precisa adicionar SystemAssignedaotype valor.

    Por exemplo, se sua VM tiver as identidades gerenciadas atribuídas pelo usuário ID1 e ID2 atribuídas a ela e você quiser adicionar a identidade gerenciada atribuída pelo sistema à VM, use a seguinte chamada CURL. Substitua <ACCESS TOKEN> e <SUBSCRIPTION ID> pelos valores apropriados para seu ambiente.

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

    API DE 2018 VERSÃO-06-01

    curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?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/virtualMachines/myVM?api-version=2018-06-01 HTTP/1.1
    

    Cabeçalhos de solicitação

    Cabeçalho da solicitação Descrição
    Content-Type Obrigatórios. Defina como application/json.
    Autorização Obrigatórios. Defina como um Bearer token de acesso válido.

    Corpo da solicitação

     {  
        "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/virtualMachines/myVM?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/virtualMachines/myVM?api-version=2017-12-01 HTTP/1.1
    

    Cabeçalhos de solicitação

    Cabeçalho da solicitação Descrição
    Content-Type Obrigatórios. Defina como application/json.
    Autorização Obrigatórios. Defina como um Bearer token de acesso válido.

    Corpo da solicitação

     {  
        "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"
           ]
        }
     }
    

Desativar identidade gerenciada atribuída pelo sistema de uma VM do Azure

Para desabilitar a identidade gerenciada atribuída ao sistema em uma VM, a conta precisará da atribuição de função Colaborador da Máquina Virtual. Nenhuma outra atribuição de função do diretório do Microsoft Entra é necessária.

  1. Recupere um token de acesso do portador, que você usará na próxima etapa no cabeçalho Autorização para criar sua VM com uma identidade gerenciada atribuída pelo sistema.

    az account get-access-token
    
  2. Atualize a VM usando CURL para chamar o ponto de extremidade REST do Azure Resource Manager para desabilitar a identidade gerenciada atribuída pelo sistema. O exemplo a seguir desativa a identidade gerenciada designada pelo sistema conforme identificada no corpo da solicitação pelo valor {"identity":{"type":"None"}} de uma VM denominada myVM. Substitua <ACCESS TOKEN> pelo valor recebido na etapa anterior quando você solicitou um token de acesso de portador e o valor de <SUBSCRIPTION ID> apropriado para seu ambiente.

    Importante

    Para garantir que você não exclua nenhuma identidade gerenciada atribuída pelo usuário que esteja atribuída à VM, é necessário 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/virtualMachines/<VM NAME>?api-version=2018-06-01' -H "Authorization: Bearer <ACCESS TOKEN>". Se você tiver identidades gerenciadas atribuídas pelo usuário e atribuídas à VM, conforme identificado no valor identity na resposta, vá para a etapa 3, que mostra como manter as identidades gerenciadas atribuídas pelo usuário e desabilitar a identidade gerenciada atribuída pelo sistema na sua VM.

    curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?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/virtualMachines/myVM?api-version=2018-06-01 HTTP/1.1
    

    Cabeçalhos de solicitação

    Cabeçalho da solicitação Descrição
    Content-Type Obrigatórios. Defina como application/json.
    Autorização Obrigatórios. Defina como um Bearer token de acesso válido.

    Corpo da solicitação

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

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

Identidade gerenciada atribuída pelo usuário

Nesta seção, você aprenderá a adicionar e remover a identidade gerenciada atribuída pelo usuário em uma VM do Azure 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 uma VM do Azure

Para atribuir uma identidade atribuída pelo usuário a uma VM, sua conta precisa das atribuições de função Contribuidor de Máquina Virtual e Operador de Identidade Gerenciada. Nenhuma outra atribuição de função do diretório do Microsoft Entra é necessária.

  1. Recupere um token de acesso do portador, que você usará na próxima etapa no cabeçalho Autorização para criar sua VM com uma identidade gerenciada atribuída pelo sistema.

    az account get-access-token
    
  2. Crie um adaptador de rede para a VM:

     az network nic create -g myResourceGroup --vnet-name myVnet --subnet mySubnet -n myNic
    
  3. Recupere um token de acesso do portador, que você usará na próxima etapa no cabeçalho Autorização para criar sua VM 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: Crie uma identidade gerenciada atribuída pelo usuário.

  5. Crie uma VM usando o CURL para chamar o ponto de extremidade REST do Azure Resource Manager. O exemplo a seguir cria uma VM denominada myVM no grupo de recursos myResourceGroup com uma identidade gerenciada designada pelo usuário ID1, conforme identificado no corpo da solicitação pelo valor "identity":{"type":"UserAssigned"}. Substitua <ACCESS TOKEN> pelo valor recebido na etapa anterior quando você solicitou um token de acesso de portador e o valor de <SUBSCRIPTION ID> apropriado para seu ambiente.

    API DE 2018 VERSÃO-06-01

    curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01' -X PUT -d '{"location":"westus","name":"myVM","identity":{"type":"UserAssigned","identityIds":["/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1"]},"properties":{"hardwareProfile":{"vmSize":"Standard_D2_v2"},"storageProfile":{"imageReference":{"sku":"2016-Datacenter","publisher":"MicrosoftWindowsServer","version":"latest","offer":"WindowsServer"},"osDisk":{"caching":"ReadWrite","managedDisk":{"storageAccountType":"StandardSSD_LRS"},"name":"myVM3osdisk","createOption":"FromImage"},"dataDisks":[{"diskSizeGB":1023,"createOption":"Empty","lun":0},{"diskSizeGB":1023,"createOption":"Empty","lun":1}]},"osProfile":{"adminUsername":"azureuser","computerName":"myVM","adminPassword":"myPassword12"},"networkProfile":{"networkInterfaces":[{"id":"/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/myNic","properties":{"primary":true}}]}}}' -H "Content-Type: application/json" -H "Authorization: Bearer <ACCESS TOKEN>"
    
    PUT https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01 HTTP/1.1
    

    Cabeçalhos de solicitação

    Cabeçalho da solicitação Descrição
    Content-Type Obrigatórios. Defina como application/json.
    Autorização Obrigatórios. Defina como um Bearer token de acesso válido.

    Corpo da solicitação

     {  
        "location":"westus",
        "name":"myVM",
        "identity":{  
           "type":"UserAssigned",
           "identityIds":[  
              "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1"
           ]
        },
        "properties":{  
           "hardwareProfile":{  
              "vmSize":"Standard_D2_v2"
           },
           "storageProfile":{  
              "imageReference":{  
                 "sku":"2016-Datacenter",
                 "publisher":"MicrosoftWindowsServer",
                 "version":"latest",
                 "offer":"WindowsServer"
              },
              "osDisk":{  
                 "caching":"ReadWrite",
                 "managedDisk":{  
                    "storageAccountType":"StandardSSD_LRS"
                 },
                 "name":"myVM3osdisk",
                 "createOption":"FromImage"
              },
              "dataDisks":[  
                 {  
                    "diskSizeGB":1023,
                    "createOption":"Empty",
                    "lun":0
                 },
                 {  
                    "diskSizeGB":1023,
                    "createOption":"Empty",
                    "lun":1
                 }
              ]
           },
           "osProfile":{  
              "adminUsername":"azureuser",
              "computerName":"myVM",
              "adminPassword":"myPassword12"
           },
           "networkProfile":{  
              "networkInterfaces":[  
                 {  
                    "id":"/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/myNic",
                    "properties":{  
                       "primary":true
                    }
                 }
              ]
           }
        }
     }
    
    

    VERSÃO DA API 2017-12-01

    curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2017-12-01' -X PUT -d '{"location":"westus","name":"myVM","identity":{"type":"UserAssigned","identityIds":["/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1"]},"properties":{"hardwareProfile":{"vmSize":"Standard_D2_v2"},"storageProfile":{"imageReference":{"sku":"2016-Datacenter","publisher":"MicrosoftWindowsServer","version":"latest","offer":"WindowsServer"},"osDisk":{"caching":"ReadWrite","managedDisk":{"storageAccountType":"StandardSSD_LRS"},"name":"myVM3osdisk","createOption":"FromImage"},"dataDisks":[{"diskSizeGB":1023,"createOption":"Empty","lun":0},{"diskSizeGB":1023,"createOption":"Empty","lun":1}]},"osProfile":{"adminUsername":"azureuser","computerName":"myVM","adminPassword":"myPassword12"},"networkProfile":{"networkInterfaces":[{"id":"/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/myNic","properties":{"primary":true}}]}}}' -H "Content-Type: application/json" -H "Authorization: Bearer <ACCESS TOKEN>"
    
    PUT https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2017-12-01 HTTP/1.1
    

    Cabeçalhos de solicitação

    Cabeçalho da solicitação Descrição
    Content-Type Obrigatórios. Defina como application/json.
    Autorização Obrigatórios. Defina como um Bearer token de acesso válido.

    Corpo da solicitação

     {
        "location":"westus",
        "name":"myVM",
        "identity":{
           "type":"UserAssigned",
           "identityIds":[
              "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1"
           ]
        },
        "properties":{
           "hardwareProfile":{
              "vmSize":"Standard_D2_v2"
           },
           "storageProfile":{
              "imageReference":{
                 "sku":"2016-Datacenter",
                 "publisher":"MicrosoftWindowsServer",
                 "version":"latest",
                 "offer":"WindowsServer"
              },
              "osDisk":{
                 "caching":"ReadWrite",
                 "managedDisk":{
                    "storageAccountType":"StandardSSD_LRS"
                 },
                 "name":"myVM3osdisk",
                 "createOption":"FromImage"
              },
              "dataDisks":[
                 {
                    "diskSizeGB":1023,
                    "createOption":"Empty",
                    "lun":0
                 },
                 {
                    "diskSizeGB":1023,
                    "createOption":"Empty",
                    "lun":1
                 }
              ]
           },
           "osProfile":{
              "adminUsername":"azureuser",
              "computerName":"myVM",
              "adminPassword":"myPassword12"
           },
           "networkProfile":{
              "networkInterfaces":[
                 {
                    "id":"/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/myNic",
                    "properties":{
                       "primary":true
                    }
                 }
              ]
           }
        }
     }
    

Atribuir uma identidade gerenciada usuário atribuído a uma VM existente do Azure

Para atribuir uma identidade atribuída pelo usuário a uma VM, sua conta precisa das atribuições de função Contribuidor de Máquina Virtual e Operador de Identidade Gerenciada. Nenhuma outra atribuição de função do diretório do Microsoft Entra é necessária.

  1. Recupere um token de acesso do portador, que você usará na próxima etapa no cabeçalho Autorização para criar sua VM 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, Crie uma identidade gerenciada atribuída pelo usuário.

  3. Para garantir que você não exclua as identidades gerenciadas atribuídas pelo usuário ou pelo sistema atribuídas à VM, é necessário listar os tipos de identidade atribuídos à VM usando o seguinte comando CURL. Se houver identidades gerenciadas atribuídas ao conjunto de dimensionamento de máquinas virtuais, elas serão listadas no valor identity.

    curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.Compute/virtualMachines/<VM 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/virtualMachines/<VM NAME>?api-version=2018-06-01 HTTP/1.1
    

    Cabeçalhos de solicitação

    Cabeçalho da solicitação Descrição
    Autorização Obrigatórios. Defina como um Bearer token de acesso válido.

    Se você tiver qualquer usuário ou identidades gerenciadas atribuídas pelo sistema atribuídas à VM, conforme identificado no valor identity na resposta, vá para a etapa 5 que mostra como manter a identidade gerenciada atribuída pelo sistema ao adicionar um gerenciado atribuído pelo usuário identidade na sua VM.

  4. Se você não tiver nenhuma identidade gerenciada atribuída pelo usuário atribuída à sua VM, 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 à VM.

    O exemplo a seguir atribui uma identidade gerenciada designada pelo usuário, ID1, a uma VM denominada myVM no grupo de recursos myResourceGroup. Substitua <ACCESS TOKEN> pelo valor recebido na etapa anterior quando você solicitou um token de acesso de portador e o valor de <SUBSCRIPTION ID> apropriado para seu ambiente.

    API DE 2018 VERSÃO-06-01

    curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-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/virtualMachines/myVM?api-version=2018-06-01 HTTP/1.1
    

    Cabeçalhos de solicitação

    Cabeçalho da solicitação Descrição
    Content-Type Obrigatórios. Defina como application/json.
    Autorização Obrigatórios. Defina como um Bearer token de acesso válido.

    Corpo da solicitação

     {
        "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/virtualMachines/myVM?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/virtualMachines/myVM?api-version=2017-12-01 HTTP/1.1
    

    Cabeçalhos de solicitação

    Cabeçalho da solicitação Descrição
    Content-Type Obrigatórios. Defina como application/json.
    Autorização Obrigatórios. Defina como um Bearer token de acesso válido.

    Corpo da solicitação

     {
        "identity":{
           "type":"userAssigned",
           "identityIds":[
              "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1"
           ]
        }
     }
    
  5. Se você tiver uma identidade gerenciada designada pelo usuário ou designada pelo sistema atribuída à sua VM:

    API DE 2018 VERSÃO-06-01

    Adicionar a identidade atribuída pelo usuário gerenciada para o userAssignedIdentities valor do dicionário.

    Por exemplo, se você tiver uma identidade gerenciada atribuída pelo sistema e a identidade gerenciada atribuída pelo usuário ID1 atualmente atribuída à sua VM e quiser adicionar a identidade gerenciada atribuída pelo usuário ID2 a ela:

    curl  'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?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/virtualMachines/myVM?api-version=2018-06-01 HTTP/1.1
    

    Cabeçalhos de solicitação

    Cabeçalho da solicitação Descrição
    Content-Type Obrigatórios. Defina como application/json.
    Autorização Obrigatórios. Defina como um Bearer token de acesso válido.

    Corpo da solicitação

     {
        "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

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

    Por exemplo, se você tiver uma identidade gerenciada atribuída pelo sistema e a identidade gerenciada atribuída pelo usuário ID1 atualmente atribuída à sua VM e quiser adicionar a identidade gerenciada atribuída pelo usuário ID2 a ela:

    curl  'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?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/virtualMachines/myVM?api-version=2017-12-01 HTTP/1.1
    

    Cabeçalhos de solicitação

    Cabeçalho da solicitação Descrição
    Content-Type Obrigatórios. Defina como application/json.
    Autorização Obrigatórios. Defina como um Bearer token de acesso válido.

    Corpo da solicitação

     {
        "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 uma VM do Azure

Para remover uma identidade atribuída ao usuário a uma VM, a conta precisará da atribuição de função Colaborador da Máquina Virtual.

  1. Recupere um token de acesso do portador, que você usará na próxima etapa no cabeçalho Autorização para criar sua VM 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 que gostaria de manter atribuída à VM ou remover a identidade gerenciada atribuída pelo sistema, é necessário listar as identidades gerenciadas usando o seguinte comando CURL:

    curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.Compute/virtualMachines/<VM 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/virtualMachines/<VM NAME>?api-version=2018-06-01 HTTP/1.1
    

    Cabeçalhos de solicitação

    Cabeçalho da solicitação Descrição
    Content-Type Obrigatórios. Defina como application/json.
    Autorização Obrigatórios. Defina como um Bearer token de acesso válido.

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

    Por exemplo, se você tiver identidades gerenciadas atribuídas pelo usuário ID1 e ID2 atribuídas à sua VM, e só quiser manter ID1 atribuída e manter a identidade atribuída pelo sistema:

    API DE 2018 VERSÃO-06-01

    Adicionar null para o usuário atribuído gerenciado identidade que você deseja remover:

    curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?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/virtualMachines/myVM?api-version=2018-06-01 HTTP/1.1
    

    Cabeçalhos de solicitação

    Cabeçalho da solicitação Descrição
    Content-Type Obrigatórios. Defina como application/json.
    Autorização Obrigatórios. Defina como um Bearer token de acesso válido.

    Corpo da solicitação

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

    VERSÃO DA API 2017-12-01

    Reter apenas as identidades gerenciadas atribuídas pelo usuário que você gostaria de manter na matriz identityIds:

    curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?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/virtualMachines/myVM?api-version=2017-12-01 HTTP/1.1
    

    Cabeçalhos de solicitação

    Cabeçalho da solicitação Descrição
    Content-Type Obrigatórios. Defina como application/json.
    Autorização Obrigatórios. Defina como um Bearer token de acesso válido.

    Corpo da solicitação

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

Se sua VM tiver identidades gerenciadas atribuídas pelo sistema e atribuídas pelo usuário, você poderá remover todas as identidades gerenciadas atribuídas pelo usuário alternando para usar somente a identidade gerenciada atribuída pelo sistema usando o seguinte comando:

curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?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/virtualMachines/myVM?api-version=2018-06-01 HTTP/1.1

Cabeçalhos de solicitação

Cabeçalho da solicitação Descrição
Content-Type Obrigatórios. Defina como application/json.
Autorização Obrigatórios. Defina como um Bearer token de acesso válido.

Corpo da solicitação

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

Se sua VM tiver somente identidades gerenciadas atribuídas pelo usuário e você quiser removê-las, use o seguinte comando:

curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?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/virtualMachines/myVM?api-version=2018-06-01 HTTP/1.1

Cabeçalhos de solicitação

Cabeçalho da solicitação Descrição
Content-Type Obrigatórios. Defina como application/json.
Autorização Obrigatórios. Defina como um Bearer token de acesso válido.

Corpo da solicitação

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

Próximas etapas

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

Neste artigo, você aprende como habilitar e remover identidades gerenciadas para recursos do Azure para uma VM do Azure usando um SDK do Azure.

Pré-requisitos

  • Se você não estiver familiarizado com as identidades gerenciadas para funcionalidades de recursos do Azure, veja esta visão geral. Caso você ainda não tenha uma conta do Azure, inscreva-se em uma conta gratuita antes de continuar.

SDKs do Azure com identidades gerenciadas para suporte a recursos do Azure

O Azure dá suporte a várias plataformas de programação por meio de uma série de SDKs do Azure. Vários deles foram atualizados para dar suporte a identidades gerenciadas para recursos do Azure e fornecer exemplos correspondentes para demonstrar o uso. Esta lista é atualizada conforme outro suporte é adicionado:

. Amostra
.NET Gerenciar recursos de uma VM habilitada com identidades gerenciadas para recursos do Azure habilitados
Java Gerenciar o armazenamento de uma VM habilitada com identidades gerenciadas para recursos do Azure
Node.js Criar uma VM com identidade gerenciada atribuída ao sistema habilitada
Python Criar uma VM com identidade gerenciada atribuída ao sistema habilitada
Ruby Criar uma VM do Azure com uma identidade atribuída ao sistema habilitada

Próximas etapas

  • Consulte os artigos relacionados em Configurar identidade para uma VM do Azure, para saber como também é possível usar o portal do Azure, o PowerShell, a CLI e os modelos de recursos.