Execute comandos do PowerShell com credenciais do Microsoft Entra para acessar dados de fila

O Armazenamento do Azure fornece extensões para o PowerShell que permitem entrar e executar comandos de script com credenciais do Microsoft Entra. Quando você entra no PowerShell com credenciais do Microsoft Entra, um token de acesso OAuth 2.0 é retornado. Esse token é usado automaticamente pelo PowerShell 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.

Operações suportadas

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 no PowerShell. As permissões para filas são atribuídas por meio do RBAC do Azure. Por exemplo, se lhe tiver sido atribuída a função Leitor de Dados de Fila, pode executar comandos de script que lêem dados de uma fila. Se você tiver recebido a função de Colaborador de Dados da Fila, 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.

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 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. No PowerShell, inclua o -UseConnectedAccount parâmetro para criar um objeto AzureStorageContext com suas credenciais do Microsoft Entra.

Chamar comandos do PowerShell usando credenciais do Microsoft Entra

Nota

Recomendamos que utilize o módulo do Azure Az PowerShell para interagir com o Azure. Veja Instalar o Azure PowerShell para começar. Para saber como migrar para o módulo do Az PowerShell, veja Migrar o Azure PowerShell do AzureRM para o Az.

Para usar o Azure PowerShell para entrar e executar operações subsequentes no Armazenamento do Azure usando credenciais do Microsoft Entra, crie um contexto de armazenamento para fazer referência à conta de armazenamento e inclua o -UseConnectedAccount parâmetro.

O exemplo a seguir mostra como criar uma fila em uma nova conta de armazenamento do Azure PowerShell usando suas credenciais do Microsoft Entra. Lembre-se de substituir os valores de espaço reservado entre colchetes angulares pelos seus próprios valores:

  1. Entre na sua conta do Azure com o comando Connect-AzAccount :

    Connect-AzAccount
    

    Para obter mais informações sobre como entrar no Azure com o PowerShell, consulte Entrar com o Azure PowerShell.

  2. Crie um grupo de recursos do Azure chamando New-AzResourceGroup.

    $resourceGroup = "sample-resource-group-ps"
    $location = "eastus"
    New-AzResourceGroup -Name $resourceGroup -Location $location
    
  3. Crie uma conta de armazenamento chamando New-AzStorageAccount.

    $storageAccount = New-AzStorageAccount -ResourceGroupName $resourceGroup `
      -Name "<storage-account>" `
      -SkuName Standard_LRS `
      -Location $location `
    
  4. Obtenha o contexto da conta de armazenamento que especifica a nova conta de armazenamento chamando New-AzStorageContext. Ao agir em uma conta de armazenamento, você pode fazer referência ao contexto em vez de passar repetidamente as credenciais. Inclua o -UseConnectedAccount parâmetro para chamar quaisquer operações de dados subsequentes usando suas credenciais do Microsoft Entra:

    $ctx = New-AzStorageContext -StorageAccountName "<storage-account>" -UseConnectedAccount
    
  5. 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.

  6. Crie uma fila chamando New-AzStorageQueue. Como essa chamada usa o contexto criado nas etapas anteriores, a fila é criada usando suas credenciais do Microsoft Entra.

    $queueName = "sample-queue"
    New-AzStorageQueue -Name $queueName -Context $ctx
    

Próximos passos