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

O Armazenamento do Microsoft Azure fornece extensões para o PowerShell que permitem que você se conecte e execute comandos de script com as credenciais do Microsoft Entra. Quando você entra no PowerShell com as credenciais do Microsoft Entra, um token de acesso OAuth 2.0 é retornado. Esse token é usado automaticamente pelo PowerShell para autorizar operações de dados posteriores no Armazenamento de Filas. Para operações com suporte, você não precisa passar uma chave de conta ou token SAS com o comando.

Você pode atribuir permissões em dados de fila a uma entidade de segurança do Microsoft Entra por meio do RBAC do Azure (controle de acesso baseado em função do Azure). Para obter mais informações sobre as funções do Azure no Armazenamento do Azure, confira Gerenciar direitos de acesso a dados do Armazenamento do Azure com o RBAC do Azure.

Operações com suporte

Há suporte para as extensões do Armazenamento do Azure nas operações em dados de fila. As operações que podem ser chamadas dependem das permissões concedidas à entidade de segurança do Microsoft Entra com a qual você entra no PowerShell. As permissões em filas são atribuídas por meio do RBAC do Azure. Por exemplo, se a função Leitor de Dados da Fila for atribuída a você, será possível executar comandos de script que leem dados de uma fila. Se a função Colaborador de Dados da Fila for atribuída a você, será possível executar comandos de script que leem, gravam ou excluem uma fila ou os dados que ela contém.

Para obter detalhes sobre as permissões necessárias para cada operação do Armazenamento do Microsoft Azure em uma fila, confira Chamar operações de armazenamento com tokens OAuth.

Importante

Quando uma conta de armazenamento é bloqueada com um bloqueio ReadOnly do Azure Resource Manager, a operação Listar chaves não é permitida nessa conta de armazenamento. List Keys é uma operação POST e todas as operações POST são impedidas quando um bloqueio ReadOnly é configurado na conta. Por esse motivo, quando a conta é bloqueada com ReadOnly, os usuários que ainda não têm as chaves da conta precisam usar as credenciais do Microsoft Entra para acessar os dados de fila. No PowerShell, inclua o parâmetro -UseConnectedAccount para criar um objeto AzureStorageContext com suas credenciais do Microsoft Entra.

Chamar comandos do PowerShell usando as credenciais do Microsoft Entra

Observação

Recomendamos que você use o módulo Az PowerShell do Azure para interagir com o Azure. Confira Instalar o Azure PowerShell para começar. Para saber como migrar para o módulo Az PowerShell, confira Migrar o Azure PowerShell do AzureRM para o Az.

Para usar o Azure PowerShell para entrar e executar operações posteriores no Armazenamento do Microsoft Azure usando as credenciais do Microsoft Entra, crie um contexto de armazenamento para referenciar a conta de armazenamento e inclua o parâmetro -UseConnectedAccount.

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 dos espaços reservados 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, veja Conectar-se 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 executar uma ação em uma conta de armazenamento, você pode referenciar o contexto em vez de transmitir repetidamente as credenciais. Inclua o parâmetro -UseConnectedAccount para chamar operações de dados posteriores usando suas credenciais do Microsoft Entra:

    $ctx = New-AzStorageContext -StorageAccountName "<storage-account>" -UseConnectedAccount
    
  5. Antes de criar o contêiner, atribua a função Colaborador de Dados da Fila de Armazenamento a si mesmo. Mesmo que você seja o proprietário da conta, precisará 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 fia.

    Importante

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

  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óximas etapas