Tutorial: Utilizar uma identidade gerida atribuída pelo sistema de uma VM do Linux para aceder ao Armazenamento do Azure

As identidades geridas para os recursos do Azure são uma funcionalidade do Azure Active Directory. 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.

Este tutorial mostra-lhe como utilizar uma identidade gerida atribuída pelo sistema para uma máquina virtual (VM) do Linux para aceder ao Armazenamento do Azure. Saiba como:

  • Criar uma conta de armazenamento
  • Criar um contentor de blobs numa conta de armazenamento
  • Conceder acesso à Identidade Gerida de VM do Linux a um contentor de Armazenamento do Azure
  • Obter um token de acesso e utilizá-lo para chamar o Armazenamento do Azure

Pré-requisitos

Para executar os exemplos de script da CLI neste tutorial, tem duas opções:

Criar uma conta de armazenamento

Nesta secção, vai criar uma conta de armazenamento.

  1. Clique no botão Criar um recurso, no canto superior esquerdo do portal do Azure.

  2. Selecione Armazenamento e, em seguida, Conta de armazenamento – blob, ficheiro, tabela, fila.

  3. Em Nome, introduza um nome para a conta de armazenamento.

  4. O Modelo de implementação e o Tipo de conta devem ser definidos como Gestor de recursos e Armazenamento (fins gerais v1).

  5. Certifique-se de que a Subscrição e o Grupo de Recursos correspondem aos perfis que especificou quando criou a VM no passo anterior.

  6. Clique em Criar.

    Criar nova conta de armazenamento

Criar um contentor de blobs e carregar um ficheiro para a conta de armazenamento

Os ficheiros requerem armazenamento de blobs, por isso tem de criar um contentor de blobs para armazenar o ficheiro. Em seguida, carregue um ficheiro para o contentor de blobs na nova conta de armazenamento.

  1. Navegue de volta para a sua conta de armazenamento recentemente criada.

  2. No serviço Blob, clique em Recipientes.

  3. Clique em + Contentor na parte superior da página.

  4. Em Novo contentor, introduza um nome para o contentor e, em Nível de acesso público, mantenha o valor predefinido.

    Criar contentor de armazenamento

  5. Com um editor à sua escolha, crie um ficheiro com o nome hello world.txt no seu computador local. Abra o ficheiro e adicione o texto (sem as aspas) "Hello world! :) "e, em seguida, guarde-o.

  6. Carregue o ficheiro para o contentor recentemente criado ao clicar no nome do contentor e, em seguida, em Carregar

  7. No painel Carregar blob, em Ficheiros, clique no ícone de pasta e procure o ficheiro hello_world.txt no seu computador local, selecione o ficheiro e, em seguida, clique em Carregar.

    Carregar ficheiro de texto

Conceder o acesso da VM a um contentor do Armazenamento do Microsoft Azure

Pode utilizar a identidade gerida da VM para obter os dados no blob de armazenamento do Azure. Identidades geridas para recursos Azure, podem ser usadas para autenticar recursos que suportem a autenticação AD Azure. Conceder acesso atribuindo a função de leitor de dados de armazenamento-blob à identidade gerida no âmbito do grupo de recursos que contém a sua conta de armazenamento.

Para etapas detalhadas, consulte atribuir funções de Azure utilizando o portal Azure."

Nota

Para mais informações sobre as várias funções que pode usar para conceder permissões para revisão de armazenamento, autorize o acesso a blobs e filas usando o Azure Ative Directory

Obter um token de acesso e utilizá-lo para chamar o Armazenamento do Azure

O Armazenamento do Azure suporta nativamente a autenticação do Azure AD, para que possa aceitar diretamente tokens de acesso obtidos com uma Identidade Gerida. Isto faz parte da integração do Armazenamento do Azure no Azure AD e é diferente de fornecer as credenciais na cadeia de ligação.

Para concluir os passos seguintes, precisa de trabalhar a partir da VM que criou anteriormente e é necessário um cliente SSH para ligar à mesma. Se estiver a utilizar o Windows, pode utilizar 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 para Máquinas Virtuais, aceda à sua máquina virtual do Linux e, em seguida, na página Descrição Geral, clique em Ligar. Copie a cadeia de ligação para ligar à sua VM.

  2. Clique em Ligar para ligar à VM com o cliente SSH que escolheu.

  3. Na janela de terminal, com o CURL, faça um pedido ao ponto final da Identidade Gerida local para obter um token de acesso para o Armazenamento do Azure.

    curl 'http://169.254.169.254/metadata/identity/oauth2/token?api-version=2018-02-01&resource=https%3A%2F%2Fstorage.azure.com%2F' -H Metadata:true
    
  4. Utilize o token de acesso para aceder ao Armazenamento do Azure, por exemplo, para ler o conteúdo do ficheiro de exemplo que carregou anteriormente para o contentor. Substitua os valores <STORAGE ACCOUNT>, <CONTAINER NAME> e <FILE NAME> pelos valores que especificou anteriormente, e <ACCESS TOKEN> pelo token devolvido no passo anterior.

    curl https://<STORAGE ACCOUNT>.blob.core.windows.net/<CONTAINER NAME>/<FILE NAME> -H "x-ms-version: 2017-11-09" -H "Authorization: Bearer <ACCESS TOKEN>"
    

    A resposta inclui o conteúdo do ficheiro:

    Hello world! :)
    

Passos seguintes

Neste tutorial, aprendeu a ativar uma identidade gerida atribuída pelo sistema de uma VM do Linux para aceder ao Armazenamento do Azure. Para saber mais sobre o Armazenamento do Azure, veja: