Usar uma identidade gerenciada atribuída pelo sistema da VM do Windows para acessar o Resource ManagerUse a Windows VM system-assigned managed identity to access Resource Manager

Identidades gerenciadas para recursos do Azure é um recurso do Azure Active Directory.Managed identities for Azure resources is a feature of Azure Active Directory. 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.Each of the Azure services that support managed identities for Azure resources are subject to their own timeline. Não deixe de examinar o status de disponibilidade das identidades gerenciadas do seu recurso e os problemas conhecidos antes de começar.Make sure you review the availability status of managed identities for your resource and known issues before you begin.

Este início rápido mostra como acessar a API do Azure Resource Manager usando uma máquina virtual do Windows com a identidade gerenciada atribuída pelo sistema habilitada.This quickstart shows you how to access the Azure Resource Manager API using a Windows virtual machine with system-assigned managed identity enabled. As identidades gerenciadas para recursos do Azure são gerenciadas automaticamente pelo Azure e permitem a você autenticar os serviços que dão suporte à autenticação do Azure AD sem necessidade de inserir as credenciais em seu código.Managed identities for Azure resources are automatically managed by Azure and enable you to authenticate to services that support Azure AD authentication without needing to insert credentials into your code. Você aprenderá como:You learn how to:

  • Conceder o acesso da VM a um Grupo de Recursos no Azure Resource ManagerGrant your VM access to a Resource Group in Azure Resource Manager
  • Obter um token de acesso usando a identidade da máquina virtual e usá-la para chamar o Azure Resource ManagerGet an access token using the VM identity and use it to call Azure Resource Manager

Pré-requisitosPrerequisites

Conceder acesso a um Grupo de Recursos no Azure Resource Manager para sua VMGrant your VM access to a resource group in Resource Manager

Usando a identidades gerenciadas para recursos do Azure, seu código pode obter tokens de acesso para autenticar para recursos que oferecem suporte à autenticação do Azure AD.Using managed identities for Azure resources, your code can get access tokens to authenticate to resources that support Azure AD authentication. O Azure Resource Manager oferece suporte à autenticação do Azure AD.The Azure Resource Manager supports Azure AD authentication. Primeiro, é preciso conceder à identidade gerenciada atribuída pelo sistema da VM acesso a um recurso no Resource Manager, neste caso, o Grupo de Recursos no qual a VM está contida.First, we need to grant this VM’s system-assigned managed identity access to a resource in Resource Manager, in this case the Resource Group in which the VM is contained.

  1. Navegue até a guia para Grupos de Recursos.Navigate to the tab for Resource Groups.

  2. Selecione o Grupo de Recursos específico criado para sua VM do Windows.Select the specific Resource Group you created for your Windows VM.

  3. Acesse Controle de acesso (IAM) no painel esquerdo.Go to Access control (IAM) in the left panel.

  4. Em seguida, opte por Adicionar atribuição de função uma nova atribuição de função para a VM do Windows.Then Add role assignment a new role assignment for your Windows VM. Escolha Função como Leitor.Choose Role as Reader.

  5. No menu suspenso seguinte, Atribuir acesso a Máquina Virtual do recurso.In the next drop-down, Assign access to the resource Virtual Machine.

  6. Em seguida, certifique-se de que a assinatura correta está listada na lista suspensa Assinatura.Next, ensure the proper subscription is listed in the Subscription dropdown. E para Grupo de Recursos, selecione Todos os grupos de recursos.And for Resource Group, select All resource groups.

  7. Por fim, em Selecionar escolha sua VM do Windows na lista suspensa e clique em Salvar.Finally, in Select choose your Windows VM in the dropdown and click Save.

    Texto Alt da imagem

Obter um token de acesso usando a identidade gerenciada atribuída pelo sistema da VM e usá-lo para chamar o Azure Resource ManagerGet an access token using the VM's system-assigned managed identity and use it to call Azure Resource Manager

Você precisará usar o PowerShell nesta parte.You will need to use PowerShell in this portion. Se você não tiver o PowerShell instalado, baixe-o aqui.If you don’t have PowerShell installed, download it here.

  1. No portal, navegue até Máquinas Virtuais e vá para a máquina virtual do Windows e em Visão geral, clique em Conectar.In the portal, navigate to Virtual Machines and go to your Windows virtual machine and in the Overview, click Connect.

  2. Insira o seu Nome de usuário e Senha que você adicionou quando criou a VM do Windows.Enter in your Username and Password for which you added when you created the Windows VM.

  3. Agora que você criou uma Conexão de Área de Trabalho Remota com a máquina virtual, abra o PowerShell na sessão remota.Now that you have created a Remote Desktop Connection with the virtual machine, open PowerShell in the remote session.

  4. Usando o cmdlet Invoke-WebRequest, faça uma solicitação para a identidade gerenciada local do ponto de extremidade de recursos do Azure para obter um token de acesso para o Azure Resource Manager.Using the Invoke-WebRequest cmdlet, make a request to the local managed identity for Azure resources endpoint to get an access token for Azure Resource Manager.

       $response = Invoke-WebRequest -Uri 'http://169.254.169.254/metadata/identity/oauth2/token?api-version=2018-02-01&resource=https://management.azure.com/' -Method GET -Headers @{Metadata="true"}
    

    Observação

    O valor do parâmetro "resource" deve ser uma correspondência exata para o que é esperado pelo Azure AD.The value of the "resource" parameter must be an exact match for what is expected by Azure AD. Ao usar a ID de recurso do Azure Resource Manager, você deve incluir a barra à direita no URI.When using the Azure Resource Manager resource ID, you must include the trailing slash on the URI.

    Em seguida, extraia a resposta completa, que é armazenada como uma cadeia de caracteres JSON (JavaScript Object Notation) formatada no objeto $response.Next, extract the full response, which is stored as a JavaScript Object Notation (JSON) formatted string in the $response object.

    $content = $response.Content | ConvertFrom-Json
    

    Em seguida, extraia o token de acesso da resposta.Next, extract the access token from the response.

    $ArmToken = $content.access_token
    

    Por fim, chame o Azure Resource Manager usando o token de acesso.Finally, call Azure Resource Manager using the access token. Neste exemplo, também estamos usando o cmdlet Invoke-WebRequest para fazer a chamada ao Azure Resource Manager e incluir o token de acesso no cabeçalho de Autorização.In this example, we're also using the Invoke-WebRequest cmdlet to make the call to Azure Resource Manager, and include the access token in the Authorization header.

    (Invoke-WebRequest -Uri https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>?api-version=2016-06-01 -Method GET -ContentType "application/json" -Headers @{ Authorization ="Bearer $ArmToken"}).content
    

    Observação

    A URL diferencia maiúsculas de minúsculas, portanto, verifique se você está usando letras maiúsculas e minúsculas exatamente da mesma forma que você usou anteriormente ao nomear o Grupo de Recursos e a letra maiúscula "G" em "resourceGroups".The URL is case-sensitive, so ensure if you are using the exact same case as you used earlier when you named the Resource Group, and the uppercase "G" in "resourceGroups."

    O comando a seguir retorna os detalhes do Grupo de Recursos:The following command returns the details of the Resource Group:

    {"id":"/subscriptions/98f51385-2edc-4b79-bed9-7718de4cb861/resourceGroups/DevTest","name":"DevTest","location":"westus","properties":{"provisioningState":"Succeeded"}}
    

Próximas etapasNext steps

Neste início rápido, você aprendeu a usar uma identidade gerenciada atribuída pelo sistema para acessar a API do Azure Resource Manager.In this quickstart, you learned how to use a system-assigned managed identity to access the Azure Resource Manager API. Para saber mais sobre o Azure Resource Manager, confira:To learn more about Azure Resource Manager see: