Partilhar via


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

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, você aprenderá a habilitar e desabilitar identidades gerenciadas atribuídas pelo sistema e pelo usuário para uma Máquina Virtual (VM) do Azure, usando o portal 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.
  • Se ainda não tem uma conta do Azure, inscreva-se numa conta gratuita antes de continuar.

Identidade gerida atribuída automaticamente pelo sistema

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

Ativar a identidade gerida atribuída pelo 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 da função de Colaborador de Máquina Virtual . Nenhuma outra atribuição de função de diretório do Microsoft Entra é necessária.

Ao criar uma máquina virtual Windows ou uma máquina virtual Linux, selecione o separador Gerenciamento.

Na seção Identidade , marque a caixa de seleção Ativar identidade gerida atribuída ao sistema.

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

Ativar a identidade gerida atribuída pelo sistema numa VM existente

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

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

  2. Navegue até a Máquina Virtual desejada e, na seção Segurança , selecione Identidade.

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

    Captura de tela que mostra a Página de Identidade com o estado Atribuído ao Sistema definido para Ativado.

Remover identidade gerenciada atribuída ao sistema de uma VM

Para remover a identidade gerida atribuída pelo sistema de uma VM, a sua conta precisa da função de Colaborador de Máquina Virtual. Nenhuma outra atribuição de função de 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 contém a VM.

  2. Navegue até a Máquina Virtual desejada e, na seção Segurança , selecione Identidade.

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

    Captura de ecrã da 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 uma VM usando o portal do Azure.

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

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

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 uma VM. Primeiro, crie uma máquina virtual Windows ou máquina virtual Linuxe, em seguida, atribua uma identidade gerenciada atribuída pelo usuário à VM.

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

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

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

  2. Navegue até a VM desejada e clique em Security>Identity, Atribuído ao utilizador e, em seguida, +Adicionar. Clique na identidade atribuída pelo usuário que você deseja adicionar à VM e clique em Adicionar.

  3. Selecione a identidade gerida atribuída ao utilizador , criada anteriormente, da lista.

    Captura de ecrã que mostra a página Identidade com o Utilizador atribuído selecionado e o botão Adicionar realçado.

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

Para remover uma identidade atribuída a um utilizador de uma máquina virtual (VM), a sua conta precisa da atribuição de função de Colaborador de Máquina Virtual. Nenhuma outra atribuição de função de diretório do Microsoft Entra é necessária.

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

Navegue até a VM desejada e selecione Security>Identity, User assigned, o nome da identidade gerenciada atribuída pelo usuário que você 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óximos passos

Neste artigo, usando a CLI do Azure, você aprenderá a 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 ainda não tem uma conta do Azure, inscreva-se numa conta gratuita antes de continuar.

Pré-requisitos

Identidade gerida atribuída automaticamente pelo sistema

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

Habilitar a identidade gerenciada atribuída ao 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, sua conta precisa da atribuição de função de Colaborador de Máquina Virtual . Nenhuma outra atribuição de função de diretório do Microsoft Entra é necessária.

  1. Crie uma grupo de recursos para contenção e implementação da VM e os respetivos recursos relacionados, utilizando 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 VM com az vm create. O exemplo a seguir cria uma VM chamada myVM 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 vm create --resource-group myResourceGroup --name myVM --image win2016datacenter --generate-ssh-keys --assign-identity --role contributor --scope /Subscriptions/mySubscriptionId/resourceGroups/myResourceGroup --admin-username azureuser --admin-password myPassword12
    

Habilitar a 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 de Colaborador de Máquina Virtual . Nenhuma outra atribuição de função de diretório do Microsoft Entra é necessária.

  1. Se estiver a utilizar a CLI do Azure numa consola local, primeiro inicie sessão no Azure com az login. Use uma conta associada à assinatura do Azure que contém a VM.

    az login
    
  2. Use az vm identity assign com o comando identity assign para ativar a identidade atribuída pelo sistema numa VM existente.

    az vm identity assign -g myResourceGroup -n myVm
    

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

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

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

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

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

Nota

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

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

Identidade gerida atribuída pelo utilizador

Nesta seção, você aprenderá como adicionar e remover uma identidade gerenciada atribuída pelo usuário de uma VM do Azure usando a CLI do Azure. Se você criar sua identidade gerenciada atribuída pelo usuário em um RG diferente da sua VM. Você terá que usar a URL da sua identidade gerenciada para atribuí-la à sua 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 utilizador a uma VM durante a sua criação, a sua conta precisa das atribuições de função de Colaborador de Máquina Virtual e de Operador de Identidade Gerenciada. Nenhuma outra atribuição de função de diretório do Microsoft Entra é necessária.

  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.

    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 myResourceGroup -n myUserAssignedIdentity
    

    A resposta contém detalhes sobre a identidade gerida criada e atribuída pelo utilizador, semelhante à seguinte. O valor de ID de recurso atribuído à identidade atribuída e gerida 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/<myUserAssignedIdentity>/credentials?tid=5678&oid=9012&aid=aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb",
        "id": "/subscriptions/<SUBSCRIPTION 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 com az vm create. O exemplo a seguir cria uma VM associada à nova identidade atribuída pelo usuário, conforme especificado pelo --assign-identity parâmetro, com o especificado --role e --scope. Certifique-se de substituir os valores dos parâmetros <RESOURCE GROUP>, <VM NAME>, <USER NAME>, <PASSWORD>, <USER ASSIGNED IDENTITY NAME>, <ROLE> e <SUBSCRIPTION> pelos seus próprios 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 atribuída pelo usuário a uma VM do Azure existente

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

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

    Importante

    Atualmente, não há suporte para a criação de identidades gerenciadas atribuídas pelo usuário com caracteres especiais (ou seja, sublinhado) no nome. Utilize caracteres alfanuméricos. Volte mais tarde para obter 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 sobre a identidade gerida criada e atribuída pelo utilizador, 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=aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb",
      "id": "/subscriptions/<SUBSCRIPTION 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 pelo usuário à sua VM usando az vm identity assign. Certifique-se de que substitui os valores de parâmetros <RESOURCE GROUP> e <VM NAME> pelos seus próprios valores. A <USER ASSIGNED IDENTITY NAME> é a propriedade de recurso name da identidade gerenciada atribuída pelo usuário, conforme criada na etapa anterior. Se você criou sua identidade gerenciada atribuída pelo usuário em um RG diferente da sua VM. Terá de utilizar o URL da sua identidade gerida.

    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 pelo usuário a uma VM, sua conta precisa da atribuição de função de Colaborador de Máquina Virtual .

Se esta for a única identidade gerida pelo utilizador atribuí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 <VM NAME> pelos seus próprios valores. A <USER ASSIGNED IDENTITY> será a propriedade da name identidade atribuída ao utilizador, que pode ser encontrada na secçã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 sua VM não tiver uma identidade gerenciada atribuída pelo sistema e você quiser remover todas as identidades atribuídas pelo usuário dela, use o seguinte comando:

Nota

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

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

Se sua VM tiver identidades atribuídas pelo sistema e pelo usuário, você poderá remover todas as identidades atribuídas pelo usuário alternando para usar apenas as identidades atribuídas pelo sistema. Utilize o seguinte comando:

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

Próximos passos

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

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 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 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 automaticamente pelo sistema

Nesta seção, explicamos como habilitar e desabilitar a identidade gerenciada atribuída ao sistema usando o Azure PowerShell.

Habilitar a identidade gerenciada atribuída ao 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, sua conta precisa da atribuição de função de Colaborador de Máquina Virtual . Nenhuma outra atribuição de função de diretório do Microsoft Entra é necessária.

  1. Consulte um dos seguintes Quickstarts de VM do Azure, preenchendo apenas as seções necessárias ("Entrar no Azure", "Criar grupo de recursos", "Criar grupo de rede", "Criar a VM").

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

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

Habilitar a 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, sua conta precisa da atribuição de função de Colaborador de Máquina Virtual . Nenhuma outra atribuição de função de diretório do Microsoft Entra é necessária.

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

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

Adicionar identidade atribuída ao sistema VM a um grupo

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

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

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

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

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

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

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

Se você tiver uma 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. Recupere as propriedades da VM usando o Get-AzVM cmdlet e defina o -IdentityType parâmetro como UserAssigned:

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

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 os seguintes comandos:

$vm = Get-AzVM -ResourceGroupName myResourceGroup -Name myVM
Update-AzVm -ResourceGroupName myResourceGroup -VM $vm -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 uma VM usando o Azure PowerShell.

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

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

  1. Consulte um dos seguintes Quickstarts de VM do Azure, preenchendo apenas as seções necessárias ("Entrar no Azure", "Criar grupo de recursos", "Criar grupo de rede", "Criar a VM").

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

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

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

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

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

    Importante

    A criação de identidades gerenciadas atribuídas pelo usuário suporta apenas caracteres alfanuméricos, sublinhados e hífen (0-9 ou a-z ou A-Z, _ ou -). Além disso, o nome deve ser limitado 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 Get-AzVM cmdlet. Em seguida, para atribuir uma identidade gerida atribuída pelo utilizador à VM do Azure, use as opções -IdentityType e -IdentityID no cmdlet Update-AzVM. O valor para o-IdentityId parâmetro é o Id que você anotou na etapa anterior. Substitua <VM NAME>, <SUBSCRIPTION ID>, <RESOURCE GROUP>, e <USER ASSIGNED IDENTITY NAME> pelos seus próprios valores.

    Aviso

    Para manter quaisquer identidades geridas atribuídas anteriormente pelo utilizador à VM, consulte a propriedade Identity do objeto VM (por exemplo, $vm.Identity). Se quaisquer identidades gerenciadas atribuídas ao usuário forem retornadas, inclua-as no comando a seguir junto com a nova identidade gerenciada atribuída ao usuário que você gostaria de 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/<RESOURCE 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 pelo usuário a uma VM, sua conta precisa da atribuição de função de Colaborador de Máquina Virtual .

Se sua VM 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 <VM NAME> pelos seus próprios valores. A propriedade <USER ASSIGNED IDENTITY NAME> é o nome da identidade gerida atribuída pelo utilizador, que deve ser mantida na VM. Essas informações podem ser detetadas usando uma consulta para procurar a Identity propriedade 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 sua VM não tiver uma identidade gerenciada atribuída pelo sistema e você quiser remover todas as identidades gerenciadas atribuídas pelo usuário dela, use o seguinte comando:

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

Se sua VM 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 identidades gerenciadas atribuídas pelo sistema.

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

Próximos passos

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

Pré-requisitos

  • Se você não estiver familiarizado com o uso do modelo de implantação do Azure Resource Manager, 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.

Modelos do Azure Resource Manager

Tal como acontece com o portal e os scripts do Azure, os modelos do Azure Resource Manager permitem-lhe 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 um sistema ou identidade gerenciada atribuída pelo usuário 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 implementações.

Identidade gerida atribuída automaticamente pelo sistema

Nesta seção, você habilitará e desabilitará uma 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 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 de Colaborador de Máquina Virtual . Nenhuma outra atribuição de função de diretório do Microsoft Entra é necessária.

  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 a VM.

  2. Para habilitar a identidade gerida atribuída pelo sistema, abra o template num editor, localize o recurso desejado na secção Microsoft.Compute/virtualMachines e adicione a propriedade resources ao mesmo nível que a propriedade "identity". Utilize a seguinte sintaxe:

    "identity": {
        "type": "SystemAssigned"
    },
    
  3. Quando terminar, as seguintes seções devem ser adicionadas à resource seção do seu modelo e devem ser semelhantes às seguintes:

     "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

Depois de habilitar uma identidade gerenciada atribuída pelo sistema em sua VM, convém conceder-lhe uma função, como acesso de Leitor ao grupo de recursos no qual ela foi criada. Você pode encontrar informações detalhadas para ajudá-lo com esta etapa 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 gerida atribuída pelo sistema de uma VM, a sua conta precisa da função de Colaborador de Máquina Virtual. Nenhuma outra atribuição de função de diretório do Microsoft Entra é necessária.

  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 a VM.

  2. Carregue o modelo em um editor e localize o Microsoft.Compute/virtualMachines 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/virtualMachines API versão 2018-06-01

    Se 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 userAssignedIdentities dicionário.

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

    Se o seu apiVersion é 2017-12-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 a identityIds matriz das identidades gerenciadas atribuídas pelo usuário.

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

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

Identidade gerida atribuída pelo utilizador

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

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

  1. resources No elemento , adicione a seguinte entrada para atribuir uma identidade gerenciada atribuída pelo usuário à sua 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 o seu apiVersion for 2018-06-01, as identidades geridas atribuídas ao utilizador são armazenadas no formato de dicionário userAssignedIdentities e o valor <USERASSIGNEDIDENTITYNAME> deve ser armazenado numa variável definida na secção variables do seu 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 o apiVersion for 2017-12-01, as identidades geridas atribuídas ao utilizador estão armazenadas na matriz identityIds e o valor <USERASSIGNEDIDENTITYNAME> deve ser armazenado numa variável definida na secção variables do seu 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 terminar, as seguintes seções devem ser adicionadas à resource seção do seu modelo e devem ser semelhantes às seguintes:

    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 a um utilizador de uma máquina virtual (VM), a sua conta precisa da atribuição de função de Colaborador de Máquina Virtual. Nenhuma outra atribuição de função de diretório do Microsoft Entra é necessária.

  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 a VM.

  2. Carregue o modelo em um editor e localize o Microsoft.Compute/virtualMachines recurso de interesse dentro da resources seção. Se você tiver uma VM que tenha apenas identidade gerenciada atribuída pelo usuário, poderá desativá-la 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:

     {
       "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 única identidade de gestão atribuída pelo utilizador de uma VM, remova-a do dicionário userAssignedIdentities.

    Caso tenha uma identidade gerida atribuída pelo sistema, mantenha-a no valor type sob o valor identity.

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

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

    Caso tenha uma identidade gerida atribuída pelo sistema, mantenha-a no valor type sob o valor identity.

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 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 ainda não tem uma conta do Azure, inscreva-se numa conta gratuita antes de continuar.

Pré-requisitos

Identidade gerida atribuída automaticamente pelo sistema

Nesta seção, você aprenderá a habilitar e desabilitar a identidade gerenciada atribuída ao sistema em uma VM do Azure 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 uma VM do Azure

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

  1. Crie uma grupo de recursos para contenção e implementação da VM e os respetivos recursos relacionados, utilizando 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 sua VM:

     az network nic create -g myResourceGroup --vnet-name myVnet --subnet mySubnet -n myNic
    
  3. Recupere um token de acesso Bearer, que utilizará na próxima etapa no cabeçalho de autorização para criar a sua VM com uma identidade gerida atribuída pelo sistema.

    az account get-access-token
    
  4. Usando o Azure Cloud Shell, crie uma VM usando CURL para chamar o ponto de extremidade REST do Azure Resource Manager. O exemplo a seguir cria uma VM chamada myVM 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 recebeste na etapa anterior quando solicitaste um token de acesso Bearer e o valor <SUBSCRIPTION ID> conforme apropriado para o teu 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 requisição Descrição
    Tipo de conteúdo Obrigatório. Definido como application/json.
    Autorização Obrigatório. Defina um token de acesso válido para Bearer.

    Corpo do pedido

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

Habilitar a identidade 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, sua conta precisa da atribuição de função de Colaborador de Máquina Virtual . Nenhuma outra atribuição de função de diretório do Microsoft Entra é necessária.

  1. Recupere um token de acesso Bearer, que utilizará na próxima etapa no cabeçalho de autorização para criar a sua VM com uma identidade gerida 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 pelo sistema em sua VM, conforme identificado no corpo da solicitação pelo valor {"identity":{"type":"SystemAssigned"} de uma VM chamada myVM. Substitua <ACCESS TOKEN> pelo valor que recebeste na etapa anterior quando solicitaste um token de acesso Bearer e o valor <SUBSCRIPTION ID> conforme apropriado para o teu ambiente.

    Importante

    Para garantir que você não exclua nenhuma identidade gerenciada atribuída ao usuário existente que seja atribuída à VM, 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/virtualMachines/<VM NAME>?api-version=2018-06-01' -H "Authorization: Bearer <ACCESS TOKEN>". Se tiver quaisquer identidades geridas atribuídas pelo utilizador à VM, conforme identificado no valor na resposta, avance para o passo 3 que mostra como manter as identidades geridas atribuídas pelo utilizador enquanto habilita a identidade gerida atribuída pelo sistema identity 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 requisição Descrição
    Tipo de conteúdo Obrigatório. Definido como application/json.
    Autorização Obrigatório. Defina um token de acesso válido para Bearer.

    Corpo do pedido

     {  
        "identity":{  
           "type":"SystemAssigned"
        }
     }
    
  3. Para habilitar uma identidade gerida atribuída pelo sistema numa máquina virtual com identidades geridas atribuídas pelo usuário existentes, você precisa adicionar SystemAssigned ao valor de type.

    Por exemplo, se sua VM tiver as identidades ID1 gerenciadas atribuídas pelo usuário 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> com valores apropriados ao seu ambiente.

    A versão 2018-06-01 da API armazena identidades geridas atribuídas 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 2017-12-01 da API.

    VERSÃO DA API 2018-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 requisição Descrição
    Tipo de conteúdo Obrigatório. Definido como application/json.
    Autorização Obrigatório. Defina um token de acesso válido para 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/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 requisição Descrição
    Tipo de conteúdo Obrigatório. Definido como application/json.
    Autorização Obrigatório. Defina um token de acesso válido para 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 de uma VM do Azure

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

  1. Recupere um token de acesso Bearer, que utilizará na próxima etapa no cabeçalho de autorização para criar a sua VM com uma identidade gerida atribuída pelo sistema.

    az account get-access-token
    
  2. Atualize a VM usando curl para aceder ao endpoint REST do Azure Resource Manager e desativar a identidade gerida atribuída pelo 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 uma VM chamada myVM. Substitua <ACCESS TOKEN> pelo valor que recebeste na etapa anterior quando solicitaste um token de acesso Bearer e o valor <SUBSCRIPTION ID> conforme apropriado para o teu ambiente.

    Importante

    Para garantir que você não exclua nenhuma identidade gerenciada atribuída ao usuário existente que seja atribuída à VM, 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/virtualMachines/<VM NAME>?api-version=2018-06-01' -H "Authorization: Bearer <ACCESS TOKEN>". Se tiver quaisquer identidades geridas atribuídas pelo utilizador na VM, conforme identificado no valor identity na resposta, pule para o passo 3, onde se mostra como manter as identidades geridas atribuídas pelo utilizador enquanto desativa a identidade gerida 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 requisição Descrição
    Tipo de conteúdo Obrigatório. Definido como application/json.
    Autorização Obrigatório. Defina um token de acesso válido para Bearer.

    Corpo do pedido

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

    Para remover a identidade gerida atribuída pelo sistema de uma máquina virtual que tenha identidades geridas atribuídas pelo utilizador, remova SystemAssigned do valor {"identity":{"type:" "}} enquanto mantém o valor UserAssigned e os valores do dicionário userAssignedIdentities se estiver a usar a versão de API 2018-06-01. 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 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, a sua conta precisa das atribuições de função Colaborador de Máquina Virtual e Operador de Identidade Gerida. Nenhuma outra atribuição de função de diretório do Microsoft Entra é necessária.

  1. Recupere um token de acesso Bearer, que utilizará na próxima etapa no cabeçalho de autorização para criar a sua VM com uma identidade gerida atribuída pelo sistema.

    az account get-access-token
    
  2. Crie uma interface de rede para sua VM:

     az network nic create -g myResourceGroup --vnet-name myVnet --subnet mySubnet -n myNic
    
  3. Recupere um token de acesso Bearer, que utilizará na próxima etapa no cabeçalho de autorização para criar a sua VM com uma identidade gerida 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 uma máquina virtual utilizando o CURL para chamar o endpoint REST do Azure Resource Manager. O exemplo a seguir cria uma VM chamada myVM 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 recebeste na etapa anterior quando solicitaste um token de acesso Bearer e o valor <SUBSCRIPTION ID> conforme apropriado para o teu ambiente.

    VERSÃO DA API 2018-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 requisição Descrição
    Tipo de conteúdo Obrigatório. Definido como application/json.
    Autorização Obrigatório. Defina um token de acesso válido para Bearer.

    Corpo do pedido

     {  
        "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 requisição Descrição
    Tipo de conteúdo Obrigatório. Definido como application/json.
    Autorização Obrigatório. Defina um token de acesso válido para Bearer.

    Corpo do pedido

     {
        "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 atribuída pelo usuário a uma VM do Azure existente

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

  1. Recupere um token de acesso Bearer, que utilizará na próxima etapa no cabeçalho de autorização para criar a sua VM com uma identidade gerida 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 não se excluam identidades geridas existentes atribuídas ao utilizador ou ao sistema na VM, é necessário listar os tipos de identidade atribuídos à VM utilizando o seguinte comando CURL. Se você tiver identidades gerenciadas atribuídas ao conjunto de dimensionamento de máquina virtual, elas serão listadas abaixo no identity valor.

    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 requisição Descrição
    Autorização Obrigatório. Defina um token de acesso válido para Bearer.

    Se tiver identidades geridas atribuídas ao utilizador ou ao sistema na VM, como identificado no valor de identity na resposta, salte para o passo 5, que explica como pode manter a identidade gerida atribuída ao sistema ao mesmo tempo que adiciona uma identidade gerida atribuída pelo utilizador na sua VM.

  4. Se você não tiver nenhuma identidade gerenciada atribuída pelo usuário à 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 ID1 gerenciada atribuída pelo usuário a uma VM chamada myVM no grupo de recursos myResourceGroup. Substitua <ACCESS TOKEN> pelo valor que recebeste na etapa anterior quando solicitaste um token de acesso Bearer e o valor <SUBSCRIPTION ID> conforme apropriado para o teu ambiente.

    VERSÃO DA API 2018-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 requisição Descrição
    Tipo de conteúdo Obrigatório. Definido como application/json.
    Autorização Obrigatório. Defina um token de acesso válido para 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/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 requisição Descrição
    Tipo de conteúdo Obrigatório. Definido como application/json.
    Autorização Obrigatório. Defina um token de acesso válido para Bearer.

    Corpo do pedido

     {
        "identity":{
           "type":"userAssigned",
           "identityIds":[
              "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1"
           ]
        }
     }
    
  5. Se já tiver uma identidade gerida atribuída ao utilizador ou ao sistema associada à sua VM:

    VERSÃO DA API 2018-06-01

    Adicione a identidade gerida atribuída pelo utilizador ao valor de dicionário userAssignedIdentities.

    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 VM 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/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 requisição Descrição
    Tipo de conteúdo Obrigatório. Definido como application/json.
    Autorização Obrigatório. Defina um token de acesso válido para 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 gerenciada atribuída ao sistema e a identidade ID1 gerenciada atribuída pelo usuário atualmente atribuída à sua VM 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/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 requisição Descrição
    Tipo de conteúdo Obrigatório. Definido como application/json.
    Autorização Obrigatório. Defina um token de acesso válido para 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 uma VM do Azure

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

  1. Recupere um token de acesso Bearer, que utilizará na próxima etapa no cabeçalho de autorização para criar a sua VM com uma identidade gerida 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 à VM 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/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 requisição Descrição
    Tipo de conteúdo Obrigatório. Definido como application/json.
    Autorização Obrigatório. Defina um token de acesso válido para 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 à sua VM e quiser apenas manter ID1 atribuída e manter a identidade 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/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 requisição Descrição
    Tipo de conteúdo Obrigatório. Definido como application/json.
    Autorização Obrigatório. Defina um token de acesso válido para 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/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 requisição Descrição
    Tipo de conteúdo Obrigatório. Definido como application/json.
    Autorização Obrigatório. Defina um token de acesso válido para Bearer.

    Corpo do pedido

     {
        "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 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 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 requisição Descrição
Tipo de conteúdo Obrigatório. Definido como application/json.
Autorização Obrigatório. Defina um token de acesso válido para Bearer.

Corpo do pedido

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

Se sua VM 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/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 requisição Descrição
Tipo de conteúdo Obrigatório. Definido como application/json.
Autorização Obrigatório. Defina um token de acesso válido para 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:

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

Pré-requisitos

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 à medida que outro suporte é adicionado:

SDK Exemplo
.NET Gerenciar recursos de uma VM habilitada com identidades gerenciadas para recursos do Azure habilitados
Java Gerenciar armazenamento de uma VM habilitada com identidades gerenciadas para recursos do Azure
Node.js Criar uma VM com a identidade gerenciada atribuída pelo sistema habilitada
Píton Criar uma VM com a identidade gerenciada atribuída pelo sistema habilitada
Rubi Criar VM do Azure com uma identidade atribuída pelo sistema ativada

Próximos passos

  • Consulte artigos relacionados em Configurar identidade para uma VM do Azure para saber como você também pode usar o portal do Azure, PowerShell, CLI e modelos de recursos.