Escolher como autorizar o acesso a dados de blobs com a CLI do Azure

O Armazenamento do Azure fornece extensões para a CLI do Azure que permitem especificar como você deseja autorizar operações em dados de blob. Você pode autorizar operações de dados das seguintes maneiras:

  • Com uma entidade de segurança Microsoft Entra. A Microsoft recomenda o uso de credenciais do Microsoft Entra para segurança superior e facilidade de uso.
  • Com a chave de acesso da conta ou um token de assinatura de acesso compartilhado (SAS).

Especificar como as operações de dados são autorizadas

Os comandos da CLI do Azure para ler e gravar dados de blob incluem o parâmetro opcional --auth-mode . Especifique este parâmetro para indicar como uma operação de dados deve ser autorizada:

  • Defina o --auth-mode parâmetro para login entrar usando uma entidade de segurança do Microsoft Entra (recomendado).
  • Defina o parâmetro como o --auth-mode valor herdado key para tentar recuperar a chave de acesso da conta a ser usada para autorização. Se você omitir o --auth-mode parâmetro, a CLI do Azure também tentará recuperar a chave de acesso.

Para usar o parâmetro, verifique se você instalou a --auth-mode CLI do Azure versão 2.0.46 ou posterior. Execute az --version para verificar a versão instalada.

Nota

Quando uma conta de armazenamento é bloqueada com um bloqueio Somente Leitura do Azure Resource Manager, a operação Listar Chaves não é permitida para essa conta de armazenamento. List Keys é uma operação POST e todas as operações POST são impedidas quando um bloqueio ReadOnly é configurado para a conta. Por esse motivo, quando a conta é bloqueada com um bloqueio ReadOnly , os usuários que ainda não possuem as chaves da conta devem usar as credenciais do Microsoft Entra para acessar dados de blob.

Importante

Se você omitir o --auth-mode parâmetro ou defini-lo como key, a CLI do Azure tentará usar a chave de acesso da conta para autorização. Nesse caso, a Microsoft recomenda que você forneça a chave de acesso no comando ou na variável de ambiente AZURE_STORAGE_KEY . Para obter mais informações sobre variáveis de ambiente, consulte a seção intitulada Definir variáveis de ambiente para parâmetros de autorização.

Se você não fornecer a chave de acesso, a CLI do Azure tentará chamar o provedor de recursos do Armazenamento do Azure para recuperá-la para cada operação. A execução de muitas operações de dados que exigem uma chamada para o provedor de recursos pode resultar em limitação. Para obter mais informações sobre limites do provedor de recursos, consulte Metas de escalabilidade e desempenho para o provedor de recursos de Armazenamento do Azure.

Autorizar com credenciais do Microsoft Entra

Quando você entra na CLI do Azure com credenciais do Microsoft Entra, um token de acesso OAuth 2.0 é retornado. Esse token é usado automaticamente pela CLI do Azure para autorizar operações de dados subsequentes no armazenamento de Blob ou Fila. Para operações suportadas, você não precisa mais passar uma chave de conta ou token SAS com o comando.

Você pode atribuir permissões para dados de blob a uma entidade de segurança do Microsoft Entra por meio do controle de acesso baseado em função do Azure (Azure RBAC). Para obter mais informações sobre funções do Azure no Armazenamento do Azure, consulte Atribuir uma função do Azure para acesso a dados de blob.

Permissões para operações de chamada de dados

As extensões de Armazenamento do Azure têm suporte para operações em dados de blob. As operações que você pode chamar dependem das permissões concedidas à entidade de segurança do Microsoft Entra com a qual você entra na CLI do Azure. As permissões para contêineres de Armazenamento do Azure são atribuídas por meio do Azure RBAC. Por exemplo, se lhe for atribuída a função Leitor de Dados de Blob de Armazenamento, poderá executar comandos de script que lêem dados de um contêiner. Se lhe for atribuída a função de Colaborador de Dados de Blob de Armazenamento, poderá executar comandos de script que leiam, gravem ou excluam um contêiner ou os dados que ele contém.

Para obter detalhes sobre as permissões necessárias para cada operação de Armazenamento do Azure em um contêiner, consulte Chamar operações de armazenamento com tokens OAuth.

Exemplo: Autorizar uma operação para criar um contêiner com credenciais do Microsoft Entra

O exemplo a seguir mostra como criar um contêiner da CLI do Azure usando suas credenciais do Microsoft Entra. Para criar o contêiner, você precisará entrar na CLI do Azure e precisará de um grupo de recursos e uma conta de armazenamento. Para saber como criar esses recursos, consulte Guia de início rápido: criar, baixar e listar blobs com a CLI do Azure.

  1. Antes de criar o contêiner, atribua a função de Colaborador de Dados de Blob de Armazenamento a si mesmo. Mesmo que você seja o proprietário da conta, você precisa de permissões explícitas para executar operações de dados na conta de armazenamento. Para obter mais informações sobre como atribuir funções do Azure, consulte Atribuir uma função do Azure para acesso a dados de blob.

    Importante

    As atribuições de função do Azure podem levar alguns minutos para se propagar.

  2. Chame o comando az storage container create com o parâmetro definido para login criar o --auth-mode contêiner usando suas credenciais do Microsoft Entra. Lembre-se de substituir os valores de espaço reservado entre colchetes angulares pelos seus próprios valores:

    az storage container create \
        --account-name <storage-account> \
        --name sample-container \
        --auth-mode login
    

Autorizar com a chave de acesso da conta

Se você possuir a chave da conta, poderá chamar qualquer operação de dados do Armazenamento do Azure. Em geral, usar a chave da conta é menos seguro. Se a chave da conta estiver comprometida, todos os dados da sua conta poderão ser comprometidos.

O exemplo a seguir mostra como criar um contêiner usando a chave de acesso da conta. Especifique a chave da conta e forneça o --auth-mode parâmetro com o key valor:

az storage container create \
    --account-name <storage-account> \
    --name sample-container \
    --account-key <key>
    --auth-mode key

Importante

Quando uma conta de armazenamento é bloqueada com um bloqueio Somente Leitura do Azure Resource Manager, a operação Listar Chaves não é permitida para essa conta de armazenamento. List Keys é uma operação POST e todas as operações POST são impedidas quando um bloqueio ReadOnly é configurado para a conta. Por esse motivo, quando a conta é bloqueada com um bloqueio ReadOnly , os usuários devem acessar dados com credenciais do Microsoft Entra.

Autorizar com um token SAS

Se você possui um token SAS, pode chamar operações de dados permitidas pelo SAS. O exemplo a seguir mostra como criar um contêiner usando um token SAS:

az storage container create \
    --account-name <storage-account> \
    --name sample-container \
    --sas-token <token>

Definir variáveis de ambiente para parâmetros de autorização

Você pode especificar parâmetros de autorização em variáveis de ambiente para evitar incluí-los em cada chamada para uma operação de dados do Armazenamento do Azure. A tabela a seguir descreve as variáveis de ambiente disponíveis.

Variável de ambiente Descrição
AZURE_STORAGE_ACCOUNT O nome da conta de armazenamento. Essa variável deve ser usada em conjunto com a chave da conta de armazenamento ou um token SAS. Se nenhum dos dois estiver presente, a CLI do Azure tentará recuperar a chave de acesso da conta de armazenamento usando a conta autenticada do Microsoft Entra. Se um grande número de comandos for executado ao mesmo tempo, o limite de limitação do provedor de recursos do Armazenamento do Azure poderá ser atingido. Para obter mais informações sobre limites do provedor de recursos, consulte Metas de escalabilidade e desempenho para o provedor de recursos de Armazenamento do Azure.
AZURE_STORAGE_KEY A chave da conta de armazenamento. Essa variável deve ser usada em conjunto com o nome da conta de armazenamento.
AZURE_STORAGE_CONNECTION_STRING Uma cadeia de conexão que inclui a chave da conta de armazenamento ou um token SAS. Essa variável deve ser usada em conjunto com o nome da conta de armazenamento.
AZURE_STORAGE_SAS_TOKEN Um token de assinatura de acesso compartilhado (SAS). Essa variável deve ser usada em conjunto com o nome da conta de armazenamento.
AZURE_STORAGE_AUTH_MODE O modo de autorização com o qual executar o comando. Os valores permitidos são login (recomendados) ou key. Se você especificar login, a CLI do Azure usará suas credenciais do Microsoft Entra para autorizar a operação de dados. Se você especificar o modo herdado key , a CLI do Azure tentará consultar a chave de acesso da conta e autorizar o comando com a chave.

Próximos passos