Escolha como autorizar o acesso a dados de fila 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 fila. 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 da fila 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 paralogin
entrar usando uma entidade de segurança do Microsoft Entra (recomendado). - Defina o parâmetro como o
--auth-mode
valor herdadokey
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 v2.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 Somente Leitura, os usuários que ainda não possuem as chaves da conta devem usar as credenciais do Microsoft Entra para acessar os dados da fila.
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 AZURE_STORAGE_KEY
ambiente. 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 Filas. 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 fila 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 as funções do Azure no Armazenamento do Azure, consulte Gerenciar direitos de acesso aos dados do Armazenamento do Azure com o Azure RBAC.
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 fila. 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 filas são atribuídas por meio do RBAC do Azure. Por exemplo, se lhe for atribuída a função de Leitor de Dados da Fila de Armazenamento , poderá executar comandos de script que leiam dados de uma fila. Se você receber a função de Colaborador de Dados da Fila de Armazenamento , poderá executar comandos de script que leem, gravam ou excluem uma fila ou os dados que eles contêm.
Para obter detalhes sobre as permissões necessárias para cada operação de Armazenamento do Azure em uma fila, consulte Operações de armazenamento de chamadas com tokens OAuth.
Exemplo: Autorizar uma operação para criar uma fila com credenciais do Microsoft Entra
O exemplo a seguir mostra como criar uma fila da CLI do Azure usando suas credenciais do Microsoft Entra. Para criar a fila, você precisará entrar na CLI do Azure e precisará de um grupo de recursos e uma conta de armazenamento.
Antes de criar a fila, atribua a função de Colaborador de Dados da Fila 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 fila.
Importante
As atribuições de função do Azure podem levar alguns minutos para se propagar.
Chame o comando com o
az storage queue create
--auth-mode
parâmetro definido paralogin
criar a fila 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 queue create \ --account-name <storage-account> \ --name sample-queue \ --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 uma fila 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 queue create \
--account-name <storage-account> \
--name sample-queue \
--account-key <key>
--auth-mode key
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 uma fila usando um token SAS:
az storage queue create \
--account-name <storage-account> \
--name sample-queue \
--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 | Description |
---|---|
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. |