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) é um sistema de autorização que define níveis de acesso com base em atributos associados a entidades de segurança, aos recursos, ao ambiente e às solicitações propriamente ditas. Com a 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 (RBAC do Azure) adicionando condições às atribuições de função do Azure. O ABAC permite que você crie condições de atribuição de função com base em atributos de entidades de segurança, de recursos, de solicitações e do ambiente.

Importante

O ABAC (controle de acesso baseado em atributos) do Azure tem GA (disponibilidade geral) para controlar o acesso ao Armazenamento de Blobs do Azure, ao Azure Data Lake Storage Gen2 e às Filas do Azure usando os atributos request, resource, environment e principal nas camadas de desempenho das contas de armazenamento Standard e Premium. No momento, 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 VERSÃO PRÉVIA. Para obter informações completas sobre o status do recurso do ABAC para o Armazenamento do Azure, consulte Status dos recursos de condição no Armazenamento do Azure.

Veja os Termos de Uso Complementares para Versões Prévias do Microsoft Azure para obter termos legais que se aplicam aos recursos do Azure que estão em versão beta, versão prévia ou que, de outra forma, ainda não foram lançados em disponibilidade geral.

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

Você pode usar o Microsoft Entra ID (Microsoft Entra ID) para autorizar solicitações para recursos de armazenamento do Azure usando o RBAC do Azure. O Azure RBAC ajuda você a gerenciar o acesso aos 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 Microsoft Azure define um conjunto de funções internas do Azure que abrangem conjuntos comuns de permissões usados para acessar dados no Armazenamento do Microsoft Azure. Você também pode definir funções personalizadas com o conjunto de permissões. O Armazenamento do Azure dá suporte a atribuições de função para contas de armazenamento ou contêineres de blobs.

O ABAC do Azure baseia-se no RBAC do Azure pela adição de 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 avaliada quando a ação no recurso de armazenamento está sendo autorizada. Essa 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 o acesso está sendo solicitado
  • Parâmetros da solicitação
  • Ambiente no qual a solicitação é feita

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

  • Habilitar o acesso mais fino aos recursos - Por exemplo, se você deseja conceder a um usuário acesso de leitura a blobs em suas contas de armazenamento somente se os blobs são marcados como Project=Sierra, você pode usar condições na ação de leitura usando marcas 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 restringindo o acesso para membros {1}individuais{2} do grupo usando uma condição que corresponde aos atributos de uma entidade com atributos de um recurso específico que está sendo acessado (como, um blob ou um contêiner).
  • Express access control rules in terms of{2} attributes with business meaning - For example, you can express your conditions using attributes that represent a project name, business application, organization function, or classification level.

A compensação 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 impedir que o acesso seja comprometido. Além disso, as condições devem ser cuidadosamente projetadas e revisadas para efeito.

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

Atributos e operações suportados

Você pode configurar condições para as 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 de gerenciamento Ações por meio do provedor de recursos de armazenamento.

Você pode adicionar condições a funções internas ou funções personalizadas. As funções embutida nas quais você pode usar 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 compatíveis com as condições.

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

Observação

Não há suporte para marcas de índice de blob nas 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 têm o HNS habilitado.

O formato da condição de atribuição de função do Azure permite o uso, nas condições, dos atributos de @Principal, @Resource, @Request ou @Environment. O atributo @Principal é uma entidade de atributo de segurança personalizada do Azure AD, como um usuário, aplicativo empresarial (entidade de serviço) ou identidade gerenciada. Um atributo @Resource 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 atributo @Request refere-se a um atributo ou parâmetro incluído em uma solicitação de operação de armazenamento. Um atributo de @Environment se refere ao ambiente de rede ou à data e hora de uma solicitação.

O RBAC do Azure dá suporte a uma quantidade limitada 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 ABAC (controle de acesso baseado em atributos) do Azure tem GA (disponibilidade geral) para controlar o acesso ao Armazenamento de Blobs do Azure, ao Azure Data Lake Storage Gen2 e às Filas do Azure usando os atributos request, resource, environment e principal nas camadas de desempenho das contas de armazenamento Standard e Premium. No momento, 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 VERSÃO PRÉVIA.

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 recurso Tipos de atributo Atributos Disponibilidade
Blobs
Armazenamento do Data Lake Gen2
Filas
Solicitação
Recurso
Ambiente
Principal
Todos os atributos, exceto aqueles indicados nesta tabela GA
Data Lake Storage Gen2 Recurso Instantâneo Visualizar
Blobs
Armazenamento do Data Lake Gen2
Recurso Metadados de contêiner Visualizar
Blobs Solicitação List blob include Visualizar

Veja os Termos de Uso Complementares para Versões Prévias do Microsoft Azure para obter termos legais que se aplicam aos recursos do Azure que estão em versão beta, versão prévia ou que, de outra forma, ainda não foram lançados em disponibilidade geral.

Observação

Não há suporte para alguns recursos de armazenamento para contas de armazenamento do Data Lake Storage Gen2 que usam um namespace hierárquico (HNS). Para saber mais, confira Suporte ao recurso de armazenamento de blobs.

Os seguintes atributos ABAC não têm suporte quando o namespace hierárquico está habilitado para uma conta de armazenamento:

Próximas etapas

Confira também