Conceder acesso a dados de BLOB e de fila do Azure com RBAC no portal do AzureGrant access to Azure blob and queue data with RBAC in the Azure portal

Azure Active Directory (Azure AD) autoriza os direitos de acesso aos recursos protegidos por meio do controle de acesso baseado em função (RBAC).Azure Active Directory (Azure AD) authorizes access rights to secured resources through role-based access control (RBAC). O armazenamento do Azure define um conjunto de funções RBAC internas que abrangem conjuntos comuns de permissões usadas para acessar dados de BLOB ou de fila.Azure Storage defines a set of built-in RBAC roles that encompass common sets of permissions used to access blob or queue data.

Quando uma função RBAC é atribuída a uma entidade de segurança do Azure AD, o Azure concede acesso a esses recursos para essa entidade de segurança.When an RBAC role is assigned to an Azure AD security principal, Azure grants access to those resources for that security principal. O escopo do acesso pode ser definido para o nível de assinatura, o grupo de recursos, a conta de armazenamento ou um contêiner ou fila individual.Access can be scoped to the level of the subscription, the resource group, the storage account, or an individual container or queue. 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.An Azure AD security principal may be a user, a group, an application service principal, or a managed identity for Azure resources.

Este artigo descreve como usar o portal do Azure para atribuir funções de RBAC.This article describes how to use the Azure portal to assign RBAC roles. O portal do Azure fornece uma interface simples para atribuir funções RBAC e gerenciar o acesso aos seus recursos de armazenamento.The Azure portal provides a simple interface for assigning RBAC roles and managing access to your storage resources. Você também pode atribuir funções RBAC para recursos de BLOB e fila usando as ferramentas de linha de comando do Azure ou as APIs de gerenciamento de armazenamento do Azure.You can also assign RBAC roles for blob and queue resources using Azure command-line tools or the Azure Storage management APIs. Para obter mais informações sobre as funções RBAC para recursos de armazenamento, consulte autenticar o acesso a BLOBs e filas do Azure usando o Azure Active Directory.For more information about RBAC roles for storage resources, see Authenticate access to Azure blobs and queues using Azure Active Directory.

Funções RBAC para blobs e filasRBAC roles for blobs and queues

O Azure fornece as seguintes funções RBAC internas para autorizar o acesso a dados de BLOB e de fila usando o Azure AD e o OAuth:Azure provides the following built-in RBAC roles for authorizing access to blob and queue data using Azure AD and OAuth:

Observação

As atribuições de função RBAC podem levar até cinco minutos para serem propagadas.RBAC role assignments may take up to five minutes to propagate.

Somente as funções explicitamente definidas para acesso a dados permitem que uma entidade de segurança acesse dados de BLOB ou fila.Only roles explicitly defined for data access permit a security principal to access blob or queue data. Funções como proprietário, colaboradore colaborador de conta de armazenamento permitem que uma entidade de segurança gerencie uma conta de armazenamento, mas não forneça acesso aos dados de BLOB ou de fila nessa conta.Roles such as Owner, Contributor, and Storage Account Contributor permit a security principal to manage a storage account, but do not provide access to the blob or queue data within that account.

Determinar o escopo do recursoDetermine resource scope

Antes de atribuir uma função RBAC para uma entidade de segurança, determine o escopo de acesso que a entidade de segurança deve ter.Before you assign an RBAC role to a security principal, determine the scope of access that the security principal should have. As práticas recomendadas ditam que sempre é melhor conceder o escopo mais restrito possível.Best practices dictate that it's always best to grant only the narrowest possible scope.

A lista a seguir descreve os níveis em que você pode definir o escopo de acesso aos recursos de blob e fila do Azure, começando com o escopo mais restrito:The following list describes the levels at which you can scope access to Azure blob and queue resources, starting with the narrowest scope:

  • Um contêiner individual.An individual container. A este escopo, uma atribuição de função se aplica a todos os blobs no contêiner, bem como propriedades do contêiner e metadados.At this scope, a role assignment applies to all of the blobs in the container, as well as container properties and metadata.
  • Uma fila individual.An individual queue. A este escopo, uma atribuição de função se aplica às mensagens na fila, bem como propriedades da fila e metadados.At this scope, a role assignment applies to messages in the queue, as well as queue properties and metadata.
  • A conta de armazenamento.The storage account. A este escopo, uma atribuição de função se aplica a todos os contêineres e seus blobs, ou para todas as filas e suas mensagens.At this scope, a role assignment applies to all containers and their blobs, or to all queues and their messages.
  • O grupo de recursos.The resource group. A este escopo, uma atribuição de função se aplica a todos os contêineres ou filas em todas as contas de armazenamento no grupo de recursos.At this scope, a role assignment applies to all of the containers or queues in all of the storage accounts in the resource group.
  • A assinatura.The subscription. A este escopo, uma atribuição de função se aplica a todos os contêineres ou filas em todas as contas de armazenamento em todos os grupos de recursos na assinatura.At this scope, a role assignment applies to all of the containers or queues in all of the storage accounts in all of the resource groups in the subscription.

Importante

Se sua assinatura inclui um namespace do Azure DataBricks, funções atribuídas no escopo da assinatura serão impedidas de conceder acesso aos dados de blob e fila.If your subscription includes an Azure DataBricks namespace, roles assigned at the subscription scope will be blocked from granting access to blob and queue data.

Atribuir funções de RBAC usando o portal do AzureAssign RBAC roles using the Azure portal

Depois de determinar o escopo apropriado para uma atribuição de função, navegue até esse recurso na portal do Azure.After you have determined the appropriate scope for a role assignment, navigate to that resource in the Azure portal. Exiba as configurações de controle de acesso (iam) para o recurso e siga estas instruções para gerenciar as atribuições de função:Display the Access Control (IAM) settings for the resource, and follow these instructions to manage role assignments:

  1. Atribua a função apropriada do RBAC do armazenamento do Azure para conceder acesso a uma entidade de segurança do Azure AD.Assign the appropriate Azure Storage RBAC role to grant access to an Azure AD security principal.

  2. Atribua a função leitor de Azure Resource Manager a usuários que precisam acessar contêineres ou filas por meio do portal do Azure usando suas credenciais do Azure AD.Assign the Azure Resource Manager Reader role to users who need to access containers or queues via the Azure portal using their Azure AD credentials.

As seções a seguir descrevem cada uma dessas etapas mais detalhadamente.The following sections describe each of these steps in more detail.

Observação

Como proprietário da conta do Armazenamento do Microsoft Azure, você não recebe permissões automaticamente para acessar dados.As an owner of your Azure Storage account, you are not automatically assigned permissions to access data. Você deve atribuir explicitamente por conta própria uma função do RBAC para Armazenamento do Microsoft Azure.You must explicitly assign yourself an RBAC role for Azure Storage. Você pode atribuí-la no nível da sua assinatura, grupo de recursos, conta de armazenamento ou um contêiner ou fila.You can assign it at the level of your subscription, resource group, storage account, or a container or queue.

Você não poderá atribuir uma função com escopo a um contêiner ou fila se sua conta de armazenamento tiver um namespace hierárquico habilitado.You cannot assign a role scoped to a container or queue if your storage account has a hierarchical namespace enabled.

Atribuir uma função RBAC internaAssign a built-in RBAC role

Antes de atribuir uma função a uma entidade de segurança, certifique-se de considerar o escopo das permissões que você está concedendo.Before you assign a role to a security principal, be sure to consider the scope of the permissions you are granting. Examine a seção determinar escopo do recurso para decidir o escopo apropriado.Review the Determine resource scope section to decide the appropriate scope.

O procedimento mostrado aqui atribui uma função com escopo a um contêiner, mas você pode seguir as mesmas etapas para atribuir uma função com escopo a uma fila:The procedure shown here assigns a role scoped to a container, but you can follow the same steps to assign a role scoped to a queue:

  1. No portal do Azure, navegue até sua conta de armazenamento e exiba a Visão geral para a conta.In the Azure portal, navigate to your storage account and display the Overview for the account.

  2. Em Serviços, selecione Blobs.Under Services, select Blobs.

  3. Localize o contêiner para o qual você deseja atribuir uma função e exiba as configurações do contêiner.Locate the container for which you want to assign a role, and display the container's settings.

  4. Selecione Controle de Acesso (IAM) para exibir as configurações de controle de acesso do contêiner.Select Access control (IAM) to display access control settings for the container. Selecione a guia Atribuições de função para ver as atribuições de função atuais.Select the Role assignments tab to see the list of role assignments.

    Captura de tela mostrando as configurações de controle de acesso do contêiner

  5. Clique no botão Adicionar atribuição de função para adicionar uma nova função.Click the Add role assignment button to add a new role.

  6. Na janela Adicionar atribuição de função , selecione a função de armazenamento do Azure que você deseja atribuir.In the Add role assignment window, select the Azure Storage role that you want to assign. Em seguida, pesquise para localizar a entidade de segurança para a qual você deseja atribuir essa função.Then search to locate the security principal to which you want to assign that role.

    Captura de tela que mostra como atribuir uma função do RBAC

  7. Clique em Salvar.Click Save. A identidade à qual você atribuiu a função aparece listada sob essa função.The identity to whom you assigned the role appears listed under that role. Por exemplo, a imagem a seguir mostra que o usuário adicionado agora tem permissões de leitura para os dados no contêiner nomeado sample-container.For example, the following image shows that the user added now has read permissions to data in the container named sample-container.

    Captura de tela mostrando a lista de usuários atribuídos a uma função

Você pode seguir etapas semelhantes para atribuir uma função com escopo à conta de armazenamento, ao grupo de recursos ou à assinatura.You can follow similar steps to assign a role scoped to the storage account, resource group, or subscription.

Atribuir a função leitor para acesso ao portalAssign the Reader role for portal access

Ao atribuir uma função interna ou personalizada para o armazenamento do Azure para uma entidade de segurança, você está concedendo permissões a essa entidade de segurança para executar operações nos dados em sua conta de armazenamento.When you assign a built-in or custom role for Azure Storage to a security principal, you are granting permissions to that security principal to perform operations on data in your storage account. As funções internas do leitor de dados fornecem permissões de leitura para os dados em um contêiner ou fila, enquanto as funções de colaborador de dados internas fornecem permissões de leitura, gravação e exclusão a um contêiner ou fila.The built-in Data Reader roles provide read permissions for the data in a container or queue, while the built-in Data Contributor roles provide read, write, and delete permissions to a container or queue. As permissões estão no escopo do recurso especificado.Permissions are scoped to the specified resource.

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 denominado Sample-container, Mary receberá acesso de leitura, gravação e exclusão a todos os BLOBs nesse contêiner.For example, if you assign the Storage Blob Data Contributor role to user Mary at the level of a container named sample-container, then Mary is granted read, write, and delete access to all of the blobs in that container.

No entanto, se Mary quiser exibir um blob no portal do Azure, a função de colaborador de dados do blob de armazenamento não fornecerá permissões suficientes para navegar pelo portal para o blob a fim de exibi-lo.However, if Mary wants to view a blob in the Azure portal, then the Storage Blob Data Contributor role by itself will not provide sufficient permissions to navigate through the portal to the blob in order to view it. Permissões adicionais do Azure AD são necessárias para navegar pelo portal e exibir os outros recursos visíveis lá.Additional Azure AD permissions are required to navigate through the portal and view the other resources that are visible there.

Se os usuários precisarem ser capazes de acessar BLOBs no portal do Azure, atribua a eles uma função RBAC adicional, a função leitor , a esses usuários, no nível da conta de armazenamento ou acima.If your users need to be able to access blobs in the Azure portal, then assign them an additional RBAC role, the Reader role, to those users, at the level of the storage account or above. A função leitor é uma função Azure Resource Manager que permite aos usuários exibir os recursos da conta de armazenamento, mas não modificá-los.The Reader role is an Azure Resource Manager role that permits users to view storage account resources, but not modify them. Ele não fornece permissões de leitura para dados no armazenamento do Azure, mas apenas para recursos de gerenciamento de conta.It does not provide read permissions to data in Azure Storage, but only to account management resources.

Siga estas etapas para atribuir a função leitor para que um usuário possa acessar BLOBs da portal do Azure.Follow these steps to assign the Reader role so that a user can access blobs from the Azure portal. Neste exemplo, a atribuição tem como escopo a conta de armazenamento:In this example, the assignment is scoped to the storage account:

  1. No Portal do Azure, navegue até sua conta de armazenamento.In the Azure portal, navigate to your storage account.
  2. Selecione controle de acesso (iam) para exibir as configurações de controle de acesso para a conta de armazenamento.Select Access control (IAM) to display the access control settings for the storage account. Selecione a guia Atribuições de função para ver as atribuições de função atuais.Select the Role assignments tab to see the list of role assignments.
  3. Na janela Adicionar atribuição de função , selecione a função leitor .In the Add role assignment window, select the Reader role.
  4. No campo atribuir acesso a , selecione usuário, grupo ou entidade de serviço do Azure ad.From the Assign access to field, select Azure AD user, group, or service principal.
  5. Pesquise para localizar a entidade de segurança à qual você deseja atribuir a função.Search to locate the security principal to which you want to assign the role.
  6. Salve a atribuição de função.Save the role assignment.

Observação

A atribuição da função leitor é necessária apenas para usuários que precisam acessar BLOBs ou filas usando o portal do Azure.Assigning the Reader role is necessary only for users who need to access blobs or queues using the Azure portal.

Próximas etapasNext steps