Atribuir uma função do Azure para acesso aos dados de blobs
O Microsoft Entra autoriza direitos de acesso a recursos protegidos por meio do controle de acesso baseado em função do Azure (Azure RBAC). O Armazenamento do Azure define um conjunto de funções internas do Azure que englobam conjuntos comuns de permissões usadas para acessar dados de blob.
Quando uma função do Azure é atribuída a uma entidade de segurança do Microsoft Entra, o Azure concede acesso a esses recursos para essa entidade de segurança. Uma entidade de segurança do Microsoft Entra pode ser um usuário, um grupo, uma entidade de serviço de aplicativo ou uma identidade gerenciada para recursos do Azure.
Para saber mais sobre como usar a ID do Microsoft Entra para autorizar o acesso a dados de blob, consulte Autorizar o acesso a blobs usando a ID do Microsoft Entra.
Nota
Este artigo mostra como atribuir uma função do Azure para acesso a dados de blob em uma conta de armazenamento. Para saber mais sobre como atribuir funções para operações de gerenciamento no Armazenamento do Azure, consulte Usar o provedor de recursos do Armazenamento do Azure para acessar recursos de gerenciamento.
Atribuir uma função do Azure
Você pode usar o portal do Azure, PowerShell, CLI do Azure ou um modelo do Azure Resource Manager para atribuir uma função para acesso a dados.
Para acessar dados de blob no portal do Azure com credenciais do Microsoft Entra, um usuário deve ter as seguintes atribuições de função:
- Uma função de acesso a dados, como Storage Blob Data Reader ou Storage Blob Data Contributor
- A função Leitor do Azure Resource Manager, no mínimo
Para saber como atribuir essas funções a um usuário, siga as instruções fornecidas em Atribuir funções do Azure usando o portal do Azure.
A função Leitor é uma função do Gerenciador de Recursos do Azure que permite que os usuários exibam recursos da conta de armazenamento, mas não os modifiquem. Ele não fornece permissões de leitura para dados no Armazenamento do Azure, mas apenas para recursos de gerenciamento de contas. A função Leitor é necessária para que os usuários possam navegar até contêineres de blob no portal do Azure.
Por exemplo, se você atribuir a função de Colaborador de Dados de Blob de Armazenamento ao usuário Mary no nível de um contêiner chamado contêiner de amostra, Mary receberá acesso de leitura, gravação e exclusão a todos os blobs nesse contêiner. No entanto, se Mary quiser exibir um blob no portal do Azure, a função de Colaborador de Dados do Blob de Armazenamento por si só não fornecerá permissões suficientes para navegar pelo portal até o blob para exibi-lo. As permissões adicionais são necessárias para navegar pelo portal e visualizar os outros recursos que estão visíveis lá.
Um usuário deve receber a função de Leitor para usar o portal do Azure com credenciais do Microsoft Entra. No entanto, se um usuário receber uma função com permissões Microsoft.Storage/storageAccounts/listKeys/action , o usuário poderá usar o portal com as chaves da conta de armazenamento, por meio da autorização de Chave Compartilhada. Para usar as chaves da conta de armazenamento, o acesso à Chave Compartilhada deve ser permitido para a conta de armazenamento. Para obter mais informações sobre como permitir ou não o acesso à Chave Compartilhada, consulte Impedir autorização de Chave Compartilhada para uma conta de Armazenamento do Azure.
Você também pode atribuir uma função do Azure Resource Manager que forneça permissões adicionais além da função Leitor . A atribuição do mínimo possível de permissões é recomendada como uma prática recomendada de segurança. Para obter mais informações, veja Melhores práticas do RBAC do Azure.
Nota
Antes de atribuir a si mesmo uma função para acesso a dados, você poderá acessar dados em sua conta de armazenamento por meio do portal do Azure porque o portal do Azure também pode usar a chave da conta para acesso a dados. Para obter mais informações, consulte Escolher como autorizar o acesso a dados de blob no portal do Azure.
Lembre-se dos seguintes pontos sobre as atribuições de função do Azure no Armazenamento do Azure:
- Quando cria uma conta de Armazenamento do Azure, não lhe são atribuídas automaticamente permissões para aceder a dados através do Microsoft Entra ID. Você deve atribuir explicitamente a si mesmo uma função do Azure para o Armazenamento do Azure. Você pode atribuí-lo no nível de sua assinatura, grupo de recursos, conta de armazenamento ou contêiner.
- Quando você atribui funções ou remove atribuições de função, pode levar até 10 minutos para que as alterações entrem em vigor.
- Funções internas com ações de dados podem ser atribuídas no escopo do grupo de gerenciamento. No entanto, em cenários raros, pode haver um atraso significativo (até 12 horas) antes que as permissões de ação de dados sejam efetivas para determinados tipos de recursos. As permissões serão eventualmente aplicadas. Para funções internas com ações de dados, adicionar ou remover atribuições de função no escopo do grupo de gerenciamento não é recomendado para cenários em que a ativação ou revogação de permissão oportuna, como o Microsoft Entra Privileged Identity Management (PIM), é necessária.
- Se a conta de armazenamento estiver bloqueada com um bloqueio somente leitura do Azure Resource Manager, o bloqueio impedirá a atribuição de funções do Azure com escopo para a conta de armazenamento ou um contêiner.
- Se você definir as permissões de permissão apropriadas para acessar dados via ID do Microsoft Entra e não conseguir acessar os dados, por exemplo, você está recebendo um erro "AuthorizationPermissionMismatch". Certifique-se de dar tempo suficiente para que as alterações de permissões feitas na ID do Microsoft Entra sejam replicadas e certifique-se de que você não tem nenhuma atribuição de negação que bloqueie seu acesso, consulte Entender as atribuições de negação do Azure.
Nota
Você pode criar funções personalizadas do RBAC do Azure para acesso granular a dados de blob. Para obter mais informações, consulte Funções personalizadas do Azure.