Tutorial: Usar uma identidade gerenciada atribuída pelo sistema em uma VM para acessar o Azure Resource Manager

Este início rápido mostra como usar uma identidade gerenciada atribuída pelo sistema como a identidade de uma máquina virtual (VM) para acessar a API do Azure Resource Manager. 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 Microsoft Entra sem necessidade de inserir as credenciais em seu código.

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.

Você aprenderá a:

  • Conceda à sua máquina virtual (VM) acesso a um grupo de recursos no Azure Resource Manager
  • Obtenha um token de acesso usando uma identidade de máquina virtual (VM) e use-o para chamar o Azure Resource Manager

Usar uma identidade gerenciada atribuída pelo sistema de VM do Windows para acessar o gerenciador de recursos

Dica

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

Este tutorial explica como criar uma identidade atribuída pelo sistema, atribuí-la a uma VM (Máquina Virtual) do Windows e, em seguida, usar essa identidade para acessar a API do Azure Resource Manager. Identidade do Serviço Gerenciado são gerenciadas automaticamente pelo Azure. Elas permitem que a autenticação para serviços compatíveis com a autenticação do Microsoft Entra, sem a necessidade de inserir as credenciais em seu código.

Você aprenderá a:

  • Conceda à sua VM acesso ao Azure Resource Manager.
  • Obtenha um token de acesso usando a identidade gerenciada atribuída pelo sistema da VM para acessar o Resource Manager.
  1. Entre no Portal do Azure com sua conta de administrador.

  2. Navegue até a guia Grupos de Recursos.

  3. Selecione o Grupo de Recursos que você quer conceder acesso à identidade gerenciada da VM.

  4. No painel esquerdo, selecione Controle de acesso (IAM).

  5. Selecione Adicionar e Adicionar atribuição de função.

  6. Na guia Função, selecione Leitor. Essa função permite exibir todos os recursos, mas não permite que você faça alterações.

  7. No guia Membros, para a opção Atribuir acesso a, selecione Identidade gerenciada e escolha + Selecionar membros.

  8. Certifique-se de que a assinatura correta esteja listada na lista suspensa Assinatura. Quanto ao Grupo de Recursos, selecione Todos os grupos de recursos.

  9. Para a lista suspensa Gerenciar identidade, selecione Máquina virtual.

  10. Quanto a Selecionar, escolha sua VM na lista suspensa e selecione Salvar.

    Captura de tela mostrando a adição da função de leitor à identidade gerenciada.

Obter um token de acesso

Use a identidade gerenciada atribuída pelo sistema da VM e chame o Gerenciador de Recursos para obter um token de acesso.

Para concluir essas etapas, você precisará do cliente SSH. Se estiver usando o Windows, você poderá usar o cliente SSH no Subsistema do Windows para Linux. Se precisar de ajuda para configurar as chaves do cliente SSH, confira Como usar chaves SSH com o Windows no Azure, ou Como criar e usar um par de chaves SSH pública e privada para VMs Linux no Azure.

  1. No portal, navegue até a VM do Linux e em Visão geral, selecione Conectar.
  2. Conecte-se à VM com um cliente SSH de sua escolha.
  3. Na janela do terminal, usando o curl, faça uma solicitação às identidades gerenciadas locais do ponto de extremidade de recursos do Azure para obter um token de acesso para o Azure Resource Manager.   A solicitação do curl para o token de acesso é mostrada abaixo.
curl 'http://169.254.169.254/metadata/identity/oauth2/token?api-version=2018-02-01&resource=https://management.azure.com/' -H Metadata:true

Observação

O valor do parâmetro resource deve ser uma correspondência exata para o que é esperado pela ID do Microfone Entra. No caso da ID do recurso do Resource Manager, você deve incluir a barra à direita no URI.

A resposta inclui o token de acesso que você precisa para acessar o Azure Resource Manager.

Resposta:

{
  "access_token":"eyJ0eXAiOi...",
  "refresh_token":"",
  "expires_in":"3599",
  "expires_on":"1504130527",
  "not_before":"1504126627",
  "resource":"https://management.azure.com",
  "token_type":"Bearer"
}

Use este token de acesso para acessar o Azure Resource Manager; por exemplo, para fazer a leitura dos detalhes do grupo de recursos ao qual você concedeu anteriormente este acesso à VM. Substitua os valores de <SUBSCRIPTION-ID>, <RESOURCE-GROUP> e <ACCESS-TOKEN> por aqueles que você criou anteriormente.

Observação

A URL diferencia maiúsculas de minúsculas, portanto, certifique-se de que esteja usando as mesmas letras maiúsculas que usou anteriormente ao nomear o grupo de recursos e a letra “G” maiúscula em “resourceGroup”.

curl https://management.azure.com/subscriptions/<SUBSCRIPTION-ID>/resourceGroups/<RESOURCE-GROUP>?api-version=2016-09-01 -H "Authorization: Bearer <ACCESS-TOKEN>" 

A resposta retorna com as informações específicas do grupo de recursos:

{
"id":"/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/DevTest",
"name":"DevTest",
"location":"westus",
"properties":
{
  "provisioningState":"Succeeded"
  }
} 

Usar uma identidade gerenciada atribuída pelo sistema de VM do Linux para acessar um grupo de recursos no gerenciador de recursos

Dica

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

Esse tutorial explica como criar uma identidade atribuída pelo sistema, atribuí-la a uma Máquina Virtual (VM) do Linux e, em seguida, usar essa identidade para acessar a API do Azure Resource Manager. Identidade do Serviço Gerenciado são gerenciadas automaticamente pelo Azure. Elas permitem que a autenticação para serviços compatíveis com a autenticação do Microsoft Entra, sem a necessidade de inserir as credenciais em seu código.

Você aprenderá como:

  • Conceda à sua VM acesso ao Azure Resource Manager.
  • Obtenha um token de acesso usando a identidade gerenciada da VM atribuída pelo sistema para acessar o Resource Manager.
  1. Entre no Portal do Azure com sua conta de administrador.

  2. Navegue até a guia Grupos de Recursos.

  3. Selecione o Grupo de Recursos que você quer conceder acesso à identidade gerenciada da VM.

  4. No painel esquerdo, selecione Controle de acesso (IAM).

  5. Selecione Adicionar e Adicionar atribuição de função.

  6. Na guia Função, selecione Leitor. Essa função permite exibir todos os recursos, mas não permite que você faça alterações.

  7. Na guia Membros, na opção Atribuir acesso a, selecione Identidade gerenciada e, em seguida, selecione + Selecionar membros.

  8. Certifique-se de que a assinatura correta esteja listada na lista suspensa Assinatura. Quanto ao Grupo de Recursos, selecione Todos os grupos de recursos.

  9. Na lista suspensa Gerenciar identidade, selecione Máquina Virtual.

  10. Na opção Selecionar, escolha a sua VM na lista suspensa e, em seguida, selecione Salvar.

    Captura de tela mostrando a adição da função de leitor à identidade gerenciada.

Obter um token de acesso

Use a identidade gerenciada da VM atribuída pelo sistema e chame o Resource Manager para obter um token de acesso.

Para concluir essas etapas, você precisará do cliente SSH. Se estiver usando o Windows, você poderá usar o cliente SSH no Subsistema do Windows para Linux. Se precisar de ajuda para configurar as chaves do cliente SSH, confira Como usar chaves SSH com o Windows no Azure, ou Como criar e usar um par de chaves SSH pública e privada para VMs Linux no Azure.

  1. No portal do Azure, navegue até a sua VM do Linux.
  2. Na Visão geral, selecione Conectar.
  3. Conecte-se à VM com um cliente SSH de sua escolha.
  4. Na janela do terminal, usando curl, faça uma solicitação às identidades gerenciadas locais do ponto de extremidade de recursos do Azure para obter um token de acesso ao Azure Resource Manager.   A solicitação do curl para o token de acesso é mostrada abaixo.
curl 'http://169.254.169.254/metadata/identity/oauth2/token?api-version=2018-02-01&resource=https://management.azure.com/' -H Metadata:true

Observação

O valor do parâmetro resource deve ser uma correspondência exata para o que é esperado pela ID do Microfone Entra. No caso da ID do recurso Resource Manager, você precisa incluir uma barra oblíqua no final do URI.

A resposta inclui o token de acesso necessário para acessar o Azure Resource Manager.

Resposta:

{
  "access_token":"eyJ0eXAiOi...",
  "refresh_token":"",
  "expires_in":"3599",
  "expires_on":"1504130527",
  "not_before":"1504126627",
  "resource":"https://management.azure.com",
  "token_type":"Bearer"
}

Use esse token de acesso para acessar o Azure Resource Manager. Por exemplo, para ler os detalhes do grupo de recursos ao qual você anteriormente concedeu acesso para essa VM. Substitua os valores de <SUBSCRIPTION-ID>, <RESOURCE-GROUP> e <ACCESS-TOKEN> por aqueles que você criou anteriormente.

Observação

A URL diferencia maiúsculas de minúsculas, então certifique-se de usar maiúsculas e minúsculas exatamente como você usou anteriormente quando nomeou o grupo de recursos, além do "G" em maiúscula em resourceGroup.

curl https://management.azure.com/subscriptions/<SUBSCRIPTION-ID>/resourceGroups/<RESOURCE-GROUP>?api-version=2016-09-01 -H "Authorization: Bearer <ACCESS-TOKEN>" 

A resposta retorna com as informações específicas do grupo de recursos:

{
"id":"/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/DevTest",
"name":"DevTest",
"location":"westus",
"properties":
{
  "provisioningState":"Succeeded"
  }
} 

Próximas etapas

Neste início rápido, você aprendeu a usar uma identidade gerenciada atribuída pelo sistema em uma VM para acessar a API do Gerenciador de Recursos do Azure. Para saber mais sobre o Gerenciador de Recursos do Azure, consulte: