Atribuir uma função do Azure para acesso a dados de blob

O AAD (Azure Active Directory) 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 Azure AD, o Azure permite que essa entidade de segurança tenha acesso a esses recursos. Uma entidade de segurança do Azure AD 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 Azure Active Directory para autorizar o acesso aos dados de blob, confira Autorizar o acesso a blobs usando o Azure Active Directory.

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 Azure AD, 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, caso Mary queira ver um blob no portal do Azure, a função de Colaborador de dados de blob de armazenamento não dará permissões suficientes para navegar pelo portal até o blob para vê-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 Azure AD. No entanto, se um usuário foi atribuído a uma função com as permissões Microsoft.Storage/storageAccounts/listKeys/action, ele pode 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 de Azure Resource Manager que forneça permissões adicionais além da função de 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:

  • Quando cria uma conta do Armazenamento do Microsoft Azure, você não recebe permissões automaticamente para acessar dados por meio do Azure AD. 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.
  • 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ê tiver definido as permissões de permissão de acesso apropriadas para acessar dados por meio do Azure Active Directory e não conseguir acessar os dados, por exemplo e estiver vendo o erro "AuthorizationPermissionMismatch". Certifique-se de permitir tempo suficiente para que as alterações de permissões feitas no Azure Active Directory sejam replicadas e certifique-se de que você não tenha nenhuma atribuição de negação que bloqueie o acesso, consulte Entender as 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.

Próximas etapas