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
, environment
e 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 (Armazenamento Data Lake).
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:
- Leitor de Dados do Armazenamento de Blobs
- Contribuinte de Dados do Armazenamento de Blobs
- Proprietário dos Dados do Armazenamento de Blobs
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 marcas de índice de Blob para contas de armazenamento do Armazenamento Data Lake, 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á disponível em geral (GA) para controlar o acesso ao Armazenamento de Blobs do Azure, ao Armazenamento do Azure Data Lake e às Filas do Azure usando request
, resource
, environment
e 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 Data Lake Storage Queues |
Pedir Recurso Environment Principal |
Todos os atributos, exceto os observados nesta tabela | GA |
Data Lake Storage | Recurso | Instantâneo | Pré-visualizar |
Blobs Data Lake Storage |
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 do Armazenamento Data Lake, 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
- Pré-requisitos para condições de atribuição de função do Azure
- Tutorial: Adicionar uma condição de atribuição de função para restringir o acesso a blobs usando o portal do Azure
- Ações e atributos para condições de atribuição de função do Azure no Armazenamento do Azure
- Exemplo de condições de atribuição de função do Azure
- Solucionar problemas de condições de atribuição de função do Azure
Consulte também
- O que é o controle de acesso baseado em atributos do Azure (Azure ABAC)?
- Perguntas frequentes sobre as condições de atribuição de função do Azure
- Formato e sintaxe das condições de atribuição de funções do Azure
- Dimensionar o gerenciamento de atribuições de função do Azure usando condições e atributos de segurança personalizados
- Considerações de segurança para condições de atribuição de função do Azure no Armazenamento do Azure