Atribuir uma função do Azure para acesso a dados de blob
O Microsoft Entra autoriza os direitos de acesso aos recursos protegidos por meio do RBAC do Azure (controle de acesso baseado em função). O Armazenamento do Microsoft Azure define um conjunto de funções internas do Azure que abrangem conjuntos comuns de permissões usados para acessar dados de blob.
Quando uma função do Azure é atribuída a uma entidade de segurança do Microsoft Entra, o Azure permite que essa entidade de segurança tenha acesso a esses recursos. 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 o Microsoft Entra ID para autorizar o acesso aos dados de blob, confira Autorizar o acesso a blobs usando o Microsoft Entra ID.
Observação
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 Microsoft Azure, confira Usar o provedor de recursos de Armazenamento do Microsoft Azure para acessar recursos de gerenciamento.
Atribuir uma função do Azure
Você pode usar o portal do Azure, o PowerShell, a CLI do Azure ou um modelo do Azure Resource Manager para atribuir uma função para acesso de dados.
Para acessar dados de blob no portal do Azure com as credenciais do Microsoft Entra, um usuário deve ter as seguintes atribuições de função:
- Uma função de acesso a dados, como Leitor de Dados do Blob de Armazenamento ou Colaborador de Dados do Blob de Armazenamento
- No mínimo, a função de Leitor do Azure Resource Manager
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 de Leitor é uma função do Azure Resource Manager que permite aos usuários ver os recursos da conta de armazenamento, mas não os modificar. Ela não dá permissões de leitura para dados no Armazenamento do Microsoft Azure, mas apenas para recursos de gerenciamento de conta. A função Leitor é necessária para que os usuários possam navegar até os contêineres de blob no portal do Azure.
Por exemplo, se você atribuir a função de Colaborador de dados de blob de armazenamento à usuária Mary no nível de um contêiner denominado sample-container, Mary receberá acesso de leitura, gravação e exclusão em todos os BLOBs no contêiner. No entanto, se Mary quiser exibir um blob no portal do Azure, a função 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 e exibir os outros recursos no portal.
Um usuário deve ter a função Leitor para usar o portal do Azure com as 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 permitir o acesso à chave compartilhada, confira Impedir a autorização de chave compartilhada para uma conta de Armazenamento do Microsoft Azure.
Você também pode atribuir uma função do Azure Resource Manager que fornece permissões adicionais além da função Leitor. A atribuição do mínimo de permissões possíveis é recomendada como uma melhor prática de segurança. Para obter mais informações, veja Melhores práticas do RBAC do Azure.
Observação
eAntes 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 de conta para acesso a dados. Para obter mais informações, confira Escolher como autorizar o acesso a dados de blob no portal do Azure.
Tenha em mente os seguintes pontos sobre as atribuições de função do Azure no Armazenamento do Microsoft Azure:
- Ao criar uma conta de Armazenamento do Azure, você não recebe permissões automaticamente para acessar dados por meio da ID do Microsoft Entra. Você deve atribuir explicitamente a si mesmo uma função do Azure para o Armazenamento do Microsoft Azure. Você pode atribuí-la no nível de assinatura, de grupo de recursos, da conta de armazenamento ou do 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 eficazes para determinados tipos de recursos. As permissões serão eventualmente aplicadas. Para funções internas com ações de dados, a adição ou remoção de atribuições de função no escopo do grupo de gerenciamento não é recomendada para cenários em que a ativação ou revogação de permissão oportuna, como o PIM (Microsoft Entra Privileged Identity Management), é necessária.
- Se a conta de armazenamento estiver com o bloqueio de somente leitura do Azure Resource Manager, isso impedirá a atribuição de funções do Azure que estejam no escopo da conta de armazenamento ou de um contêiner.
- Se você definir as permissões de permissão apropriadas para acessar dados por meio da ID do Microsoft Entra e não conseguir acessar os dados, por exemplo, você está recebendo um erro "AuthorizationPermissionMismatch". Certifique-se de permitir tempo suficiente para que as alterações de permissões feitas na ID do Microsoft Entra sejam replicadas e certifique-se de não ter nenhuma atribuição de negação que bloqueie seu acesso, consulte Noções básicas sobre atribuições de negação do Azure.
Observação
Você pode criar funções do Azure RBAC personalizadas para acesso granular aos dados de blob. Para obter mais informações, confira Funções personalizadas do Azure.