Autorizar o acesso ao Armazenamento de Blobs do Azure usando as condições de atribuição de função do Azure

O controle de acesso baseado em atributos (ABAC) é uma estratégia de autorização que define níveis de acesso com base em atributos associados a entidades de segurança, recursos, ambiente e as próprias solicitações. Com o ABAC, você pode conceder a uma entidade de segurança acesso a um recurso com base em uma condição expressa como um predicado usando esses atributos.

O Azure ABAC baseia-se no controle de acesso baseado em função do Azure (Azure RBAC) adicionando condições às atribuições de função do Azure. Ele permite que você crie condições de atribuição de função com base nos atributos principal, recurso, solicitação e ambiente.

Importante

O controle de acesso baseado em atributos do Azure (Azure ABAC) está geralmente disponível (GA) para controlar o acesso ao Armazenamento de Blobs do Azure, ao Azure Data Lake Storage Gen2 e às Filas do Azure usando request, resource, environmente principal atributos nas camadas de desempenho da conta de armazenamento padrão e premium. Atualmente, o atributo de recurso de metadados de contêiner e o atributo de solicitação de inclusão de blob de lista estão em VISUALIZAÇÃO. Para obter informações completas sobre o status do recurso do ABAC para Armazenamento do Azure, consulte Status dos recursos de condição no Armazenamento do Azure.

Veja Termos de Utilização Complementares da Pré-visualizações do Microsoft Azure para obter os termos legais que se aplicam às funcionalidades do Azure que estão na versão beta, na pré-visualização ou que ainda não foram lançadas para disponibilidade geral.

Visão geral das condições no Armazenamento do Azure

Você pode usar a ID do Microsoft Entra (ID do Microsoft Entra) para autorizar solicitações aos recursos de armazenamento do Azure usando o RBAC do Azure. O RBAC do Azure ajuda você a gerenciar o acesso a recursos definindo quem tem acesso aos recursos e o que eles podem fazer com esses recursos, usando definições de função e atribuições de função. 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 armazenamento do Azure. Você também pode definir funções personalizadas com conjuntos selecionados de permissões. O Armazenamento do Azure dá suporte a atribuições de função para contas de armazenamento e contêineres de blob.

O Azure ABAC baseia-se no RBAC do Azure adicionando condições de atribuição de função no contexto de ações específicas. Uma condição de atribuição de função é uma verificação adicional que é avaliada quando a ação no recurso de armazenamento está sendo autorizada. Esta condição é expressa como um predicado usando atributos associados a qualquer um dos seguintes:

  • Entidade de segurança que está solicitando autorização
  • Recurso ao qual está a ser solicitado acesso
  • Parâmetros do pedido
  • Ambiente em que o pedido é feito

Os benefícios de usar condições de atribuição de função são:

  • Habilitar acesso mais refinado a recursos - Por exemplo, se você quiser conceder a um usuário acesso de leitura a blobs em suas contas de armazenamento somente se os blobs estiverem marcados como Project=Sierra, você poderá usar condições na ação de leitura usando tags como um atributo.
  • Reduzir o número de atribuições de função que você precisa criar e gerenciar - Você pode fazer isso usando uma atribuição de função generalizada para um grupo de segurança e, em seguida, restringindo o acesso para membros individuais do grupo usando uma condição que corresponda aos atributos de uma entidade de segurança com atributos de um recurso específico que está sendo acessado (como um blob ou um contêiner).
  • Expressar regras de controle de acesso em termos de atributos com significado comercial - Por exemplo, você pode expressar suas condições usando atributos que representam um nome de projeto, aplicativo de negócios, função da organização ou nível de classificação.

A contrapartida do uso de condições é que você precisa de uma taxonomia estruturada e consistente ao usar atributos em toda a organização. Os atributos devem ser protegidos para evitar que o acesso seja comprometido. Além disso, as condições devem ser cuidadosamente concebidas e revistas quanto ao seu efeito.

As condições de atribuição de função no Armazenamento do Azure são suportadas para o armazenamento de blobs do Azure. Você também pode usar condições com contas que têm o recurso de namespace hierárquico (HNS) habilitado nelas (Data Lake Storage Gen2).

Atributos e operações suportados

Você pode configurar condições em atribuições de função para DataActions para atingir essas metas. Você pode usar condições com uma função personalizada ou selecionar funções internas. Observe que não há suporte para condições para Ações de gerenciamento por meio do provedor de recursos de armazenamento.

Você pode adicionar condições a funções internas ou funções personalizadas. As funções internas nas quais você pode usar as condições de atribuição de função incluem:

Você pode usar condições com funções personalizadas, desde que a função inclua ações que ofereçam suporte a condições.

Se você estiver trabalhando com condições baseadas em tags de índice de blob, deverá usar o Proprietário de Dados de Blob de Armazenamento, pois as permissões para operações de tag estão incluídas nessa função.

Nota

Não há suporte para tags de índice de Blob para contas de armazenamento do Data Lake Storage Gen2, que usam um namespace hierárquico. Você não deve criar condições de atribuição de função usando marcas de índice em contas de armazenamento que tenham o HNS habilitado.

O formato de condição de atribuição de função do Azure permite o uso de @Principal, @Resource@Request ou @Environment atributos nas condições. Um @Principal atributo é um atributo de segurança personalizado em uma entidade de segurança, como um usuário, aplicativo empresarial (entidade de serviço) ou identidade gerenciada. Um @Resource atributo refere-se a um atributo existente de um recurso de armazenamento que está sendo acessado, como uma conta de armazenamento, um contêiner ou um blob. Um @Request atributo refere-se a um atributo ou parâmetro incluído em uma solicitação de operação de armazenamento. Um @Environment atributo refere-se ao ambiente de rede ou à data e hora de uma solicitação.

O RBAC do Azure dá suporte a um número limitado de atribuições de função por assinatura. Se você precisar criar milhares de atribuições de função do Azure, poderá encontrar esse limite. Gerenciar centenas ou milhares de atribuições de função pode ser difícil. Em alguns casos, você pode usar condições para reduzir o número de atribuições de função em sua conta de armazenamento e torná-las mais fáceis de gerenciar. Você pode dimensionar o gerenciamento de atribuições de função usando condições e atributos de segurança personalizados do Microsoft Entra para entidades de segurança.

Status dos recursos de condição no Armazenamento do Azure

O controle de acesso baseado em atributos do Azure (Azure ABAC) está geralmente disponível (GA) para controlar o acesso ao Armazenamento de Blobs do Azure, ao Azure Data Lake Storage Gen2 e às Filas do Azure usando request, resource, environmente principal atributos nas camadas de desempenho da conta de armazenamento padrão e premium. Atualmente, o atributo de recurso de metadados de contêiner e o atributo de solicitação de inclusão de blob de lista estão em VISUALIZAÇÃO.

A tabela a seguir mostra o status atual do ABAC por tipo de recurso de armazenamento e tipo de atributo. Exceções para atributos específicos também são mostradas.

Tipos de recursos Tipos de atributos Atributos Disponibilidade
Blobs
Armazenamento do Data Lake Ger2
Queues
Pedir
Recurso
Environment
Principal
Todos os atributos, exceto os observados nesta tabela GA
Armazenamento do Data Lake Ger2 Recurso Instantâneo Pré-visualizar
Blobs
Armazenamento do Data Lake Ger2
Recurso Metadados do contêiner Pré-visualizar
Blobs Pedir O blob da lista inclui Pré-visualizar

Veja Termos de Utilização Complementares da Pré-visualizações do Microsoft Azure para obter os termos legais que se aplicam às funcionalidades do Azure que estão na versão beta, na pré-visualização ou que ainda não foram lançadas para disponibilidade geral.

Nota

Alguns recursos de armazenamento não são suportados para contas de armazenamento Data Lake Storage Gen2, que usam um namespace hierárquico (HNS). Para saber mais, consulte Suporte a recursos de armazenamento de Blob.

Os seguintes atributos ABAC não são suportados quando o namespace hierárquico está habilitado para uma conta de armazenamento:

Próximos passos

Consulte também