Partilhar via


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

Este guia de início rápido mostra como usar uma identidade gerenciada atribuída ao sistema como 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 que você se autentique em serviços que oferecem suporte à autenticação do Microsoft Entra sem a necessidade de inserir 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 suportam as identidades geridas para os recursos do Azure estão sujeitos à sua própria linha de tempo. Certifique-se de que revê o estado de disponibilidade das identidades geridas para o seu recurso e problemas conhecidos antes de começar.

Saberá como:

  • Conceder acesso à máquina virtual (VM) a um grupo de recursos no Azure Resource Manager
  • Obter um token de acesso usando uma identidade de máquina virtual (VM) e usá-lo para chamar o Azure Resource Manager

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

Gorjeta

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

Este tutorial explica como criar uma identidade atribuída ao sistema, atribuí-la a uma máquina virtual (VM) do Windows e usar essa identidade para acessar a API do Azure Resource Manager . As Identidades de Serviço Geridas são geridas automaticamente pelo Azure. Eles habilitam a autenticação para serviços que oferecem suporte à autenticação do Microsoft Entra, sem a necessidade de incorporar credenciais ao seu código.

Saberá como:

  • 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 Gerenciador de Recursos.
  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 ao qual você deseja conceder acesso à identidade gerenciada da VM.

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

  5. Selecione Adicionar e, em seguida, selecione 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 separador Membros, para a opção Atribuir acesso a, selecione Identidade gerida e, em seguida, selecione + Selecionar membros.

  8. Verifique se a assinatura adequada está listada na lista suspensa Assinatura . Em Grupo de Recursos, selecione Todos os grupos de recursos.

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

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

    Captura de tela que mostra 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 estes passos, precisa de um cliente SSH. Se você estiver usando o Windows, poderá usar o cliente SSH no Subsistema Windows para Linux. Se precisar de ajuda para configurar as chaves do seu cliente SSH, veja Como utilizar chaves SSH com o Windows no Azure ou Como criar e utilizar um par de chaves SSH públicas e privadas para VMs do Linux no Azure.

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

Nota

O valor do parâmetro deve ser uma correspondência exata para o que é esperado pelo ID do resource Microsoft Entra. No caso da ID de recurso do Gerenciador de Recursos, você deve incluir a barra à direita no URI.

A resposta inclui o token de acesso necessário para aceder ao 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 Gerenciador de Recursos do Azure; por exemplo, para ler os detalhes do grupo de recursos ao qual você concedeu anteriormente acesso a essa VM. Substitua os valores de <SUBSCRIPTION-ID>, <RESOURCE-GROUP>e <ACCESS-TOKEN> pelos que você criou anteriormente.

Nota

A URL diferencia maiúsculas de minúsculas, portanto, certifique-se de que você está usando o caso exato como você usou anteriormente quando nomeou o grupo de recursos e o "G" maiúsculo 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 de volta 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 ao sistema Linux VM para acessar um grupo de recursos no gerenciador de recursos

Gorjeta

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

Este tutorial explica como criar uma identidade atribuída ao sistema, atribuí-la a uma máquina virtual (VM) Linux e, em seguida, usar essa identidade para acessar a API do Azure Resource Manager . As Identidades de Serviço Geridas são geridas automaticamente pelo Azure. Eles habilitam a autenticação para serviços que oferecem suporte à autenticação do Microsoft Entra, sem a necessidade de incorporar credenciais ao seu código.

Sabe como:

  • Conceda à sua VM acesso ao gerenciador de recursos do Azure.
  • Obtenha um token de acesso usando a identidade gerenciada atribuída pelo sistema da VM para acessar o gerenciador de recursos.
  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 ao qual você deseja conceder acesso à identidade gerenciada da VM.

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

  5. Selecione Adicionar e, em seguida, selecione 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 separador Membros, na opção Atribuir acesso a, selecione Identidade gerida e, em seguida, selecione + Selecionar membros.

  8. Verifique se a assinatura adequada está listada na lista suspensa Assinatura . Em Grupo de Recursos, selecione Todos os grupos de recursos.

  9. No menu suspenso Gerenciar identidade, selecione Máquina Virtual.

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

    Captura de tela que mostra 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 estes passos, precisa de um cliente SSH. Se você estiver usando o Windows, poderá usar o cliente SSH no Subsistema Windows para Linux. Se precisar de ajuda para configurar as chaves do seu cliente SSH, veja Como utilizar chaves SSH com o Windows no Azure ou Como criar e utilizar um par de chaves SSH públicas e privadas para VMs do Linux no Azure.

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

Nota

O valor do parâmetro deve ser uma correspondência exata para o que é esperado pelo ID do resource Microsoft Entra. No caso do ID de recurso do gerenciador de recursos, você deve incluir a barra à direita no URI.

A resposta inclui o token de acesso que você precisa para acessar o gerenciador de recursos do Azure.

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 gerenciador de recursos do Azure. Por exemplo, para ler os detalhes do grupo de recursos ao qual você concedeu anteriormente acesso a essa VM. Substitua os valores de <SUBSCRIPTION-ID>, <RESOURCE-GROUP>e <ACCESS-TOKEN> pelos que você criou anteriormente.

Nota

O URL diferencia maiúsculas de minúsculas, portanto, certifique-se de que você está usando o caso exato como você usou anteriormente quando nomeou o grupo de recursos e o "G" maiúsculo 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 de volta 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óximos passos

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