O que é o controle de acesso baseado em atributos do Azure (Azure ABAC)?
Artigo
O controle de acesso baseado em atributos (ABAC) é um sistema de autorização que define o acesso com base em atributos associados a entidades de segurança, recursos e ao ambiente de uma solicitação de acesso. Com o ABAC, você pode conceder a uma entidade de segurança acesso a um recurso com base em atributos. Azure ABAC refere-se à implementação do ABAC para Azure.
Quais são as condições de atribuição de funções?
O controle de acesso baseado em função do Azure (Azure RBAC) é um sistema de autorização que ajuda você a gerenciar quem tem acesso aos recursos do Azure, o que eles podem fazer com esses recursos e a quais áreas eles têm acesso. Na maioria dos casos, o RBAC do Azure fornecerá o gerenciamento de acesso necessário usando definições de função e atribuições de função. No entanto, em alguns casos, você pode querer fornecer um gerenciamento de acesso mais refinado ou simplificar o gerenciamento de centenas de atribuições de função.
O Azure ABAC baseia-se no Azure RBAC adicionando condições de atribuição de função com base em atributos no contexto de ações específicas. Uma condição de atribuição de função é uma verificação adicional que você pode, opcionalmente, adicionar à sua atribuição de função para fornecer um controle de acesso mais refinado. Uma condição filtra as permissões concedidas como parte da definição e atribuição de função. Por exemplo, você pode adicionar uma condição que exija que um objeto tenha uma tag específica para ler o objeto. Não é possível negar explicitamente o acesso a recursos específicos usando condições.
Porquê usar condições?
Há três benefícios principais para o uso de condições de atribuição de função:
Fornecer um controle de acesso mais refinado - Uma atribuição de função usa uma definição de função com ações e ações de dados para conceder permissões de entidade de segurança. Você pode escrever condições para filtrar essas permissões para um controle de acesso mais refinado. Você também pode adicionar condições a ações específicas. Por exemplo, você pode conceder a João acesso de leitura a blobs em sua assinatura somente se os blobs estiverem marcados como Project=Blue.
Ajude a reduzir o número de atribuições de função - Cada assinatura do Azure atualmente tem um limite de atribuição de função. Há cenários que exigiriam milhares de atribuições de função. Todas essas atribuições de função teriam de ser geridas. Nesses cenários, você poderia adicionar condições para usar significativamente menos atribuições de função.
Use atributos que tenham significado comercial específico - As condições permitem que você use atributos que têm significado comercial específico para você no controle de acesso. Alguns exemplos de atributos são o nome do projeto, o estágio de desenvolvimento de software e os níveis de classificação. Os valores desses atributos de recurso são dinâmicos e mudam à medida que os usuários se movem entre equipes e projetos.
Exemplos de cenários para condições
Há vários cenários em que você pode querer adicionar uma condição à sua atribuição de função. Seguem-se alguns exemplos.
Acesso de leitura a blobs com a tag Project=Cascade
Novos blobs devem incluir a tag Project=Cascade
Os blobs existentes devem ser marcados com pelo menos uma chave de projeto ou chave de programa
Os blobs existentes devem ser marcados com uma chave Project e valores Cascade, Baker ou Skagit
Ler, gravar ou excluir blobs em contêineres chamados blobs-example-container
Acesso de leitura a blobs em contêineres chamados blobs-example-container com um caminho de somente leitura
Acesso de gravação a blobs em contêineres chamados Contosocorp com um caminho de uploads/contoso
Acesso de leitura a blobs com a tag Program=Alpine e um caminho de logs
Acesso de leitura a blobs com a tag Project=Baker e o usuário tem um atributo correspondente Project=Baker
Acesso de leitura a blobs durante um intervalo de data/hora específico.
Escreva o acesso a blobs apenas através de um link privado ou de uma sub-rede específica.
Atualmente, as condições podem ser adicionadas a atribuições de função internas ou personalizadas que tenham ações de dados de armazenamento de blob ou de armazenamento em fila. As condições são adicionadas no mesmo escopo da atribuição de função. Assim como as atribuições de função, você deve ter Microsoft.Authorization/roleAssignments/write permissões para adicionar uma condição.
Aqui estão alguns dos atributos de armazenamento de blob que você pode usar em suas condições.
Nome da conta
Tags de índice de Blob
Caminho do blob
Prefixo do blob
Nome do contentor
Nome do escopo de criptografia
É a versão atual
O namespace hierárquico está habilitado
É link privado
Instantâneo
UTC agora (a data e hora atuais em Tempo Universal Coordenado)
ID da versão
Como é uma condição?
Você pode adicionar condições a atribuições de função novas ou existentes. Aqui está a função Leitor de Dados de Blob de Armazenamento que foi atribuída a um usuário chamado Chandra em um escopo de grupo de recursos. Também foi adicionada uma condição que só permite acesso de leitura a blobs com a tag Project=Cascade.
Se o Chandra tentar ler um blob sem a tag Project=Cascade, o acesso não será permitido.
Eis o aspeto da condição no portal do Azure:
Aqui está a aparência da condição no código:
(
(
!(ActionMatches{'Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read'}
AND NOT
SubOperationMatches{'Blob.List'})
)
OR
(
@Resource[Microsoft.Storage/storageAccounts/blobServices/containers/blobs/tags:Project<$key_case_sensitive$>] StringEqualsIgnoreCase 'Cascade'
)
)
Para obter mais informações sobre o formato das condições, consulte Formato e sintaxe da condição de atribuição de função do Azure.
Status dos recursos de condição
A tabela a seguir lista o status dos recursos de condição:
Use atributos de recurso e solicitação para combinações específicas de recursos de armazenamento do Azure, tipos de atributos de acesso e camadas de desempenho de conta de armazenamento. Para obter mais informações, consulte Status dos recursos de condição no Armazenamento do Azure.
Você também pode adicionar condições a atribuições de função qualificadas usando o Microsoft Entra Privileged Identity Management (Microsoft Entra PIM) para recursos do Azure. Com o Microsoft Entra PIM, os usuários finais devem ativar uma atribuição de função qualificada para obter permissão para executar determinadas ações. O uso de condições no Microsoft Entra PIM permite que você não apenas limite o acesso de um usuário a um recurso usando condições refinadas, mas também use o Microsoft Entra PIM para protegê-lo com uma configuração com limite de tempo, fluxo de trabalho de aprovação, trilha de auditoria e assim por diante. Para obter mais informações, consulte Atribuir funções de recurso do Azure no Privileged Identity Management.
Terminologia
Para entender melhor o RBAC do Azure e o Azure ABAC, consulte a lista de termos a seguir.
Termo
Definição
controle de acesso baseado em atributos (ABAC)
Um sistema de autorização que define o acesso com base em atributos associados a entidades de segurança, recursos e ambiente. Com o ABAC, você pode conceder a uma entidade de segurança acesso a um recurso com base em atributos.
Azure ABAC
Refere-se à implementação do ABAC para Azure.
condição de atribuição de função
Uma verificação adicional que você pode, opcionalmente, adicionar à sua atribuição de função para fornecer um controle de acesso mais refinado.
atributo
Neste contexto, um par chave-valor como Project=Blue, onde Project é a chave do atributo e Blue é o valor do atributo. Atributos e tags são sinônimo para fins de controle de acesso.
expressão
Uma declaração em uma condição que é avaliada como verdadeira ou falsa. Uma expressão tem o formato do valor do operador><de <atributo><.>
Limites
Aqui estão alguns dos limites para condições.
Recurso
Limite
Notas
Número de expressões por condição usando o editor visual
5
Você pode adicionar mais de cinco expressões usando o editor de código
Problemas conhecidos
Aqui estão os problemas conhecidos com condições:
Se você estiver usando o Microsoft Entra Privileged Identity Management (PIM) e atributos de segurança personalizados, Principal não aparecerá na origem do atributo ao adicionar uma condição.
O Acesso Condicional oferece uma fina granularidade de controle sobre quais usuários podem fazer atividades específicas, acessar quais recursos e como garantir que os dados e sistemas estejam seguros.
Demonstre os recursos do Microsoft Entra ID para modernizar soluções de identidade, implementar soluções híbridas e implementar governança de identidade.
Obtenha uma visão geral do controle de acesso baseado em função do Azure (Azure RBAC). Use atribuições de função para controlar o acesso aos recursos do Azure.
Saiba mais sobre o controlo de acesso baseado em funções do Azure (RBAC do Azure) para gerir quem tem acesso aos recursos do Azure, o que fazem com esses recursos e a que áreas têm acesso.
Saiba mais sobre as definições de função do Azure no controle de acesso baseado em função do Azure (Azure RBAC) para gerenciamento de acesso refinado de recursos do Azure.
Saiba como adicionar, editar, exibir ou excluir condições de controle de acesso baseado em atributo (ABAC) em atribuições de função do Azure usando o portal do Azure e o controle de acesso baseado em função do Azure (Azure RBAC).
Saiba como criar funções personalizadas do Azure com o controle de acesso baseado em função do Azure (Azure RBAC) para gerenciamento de acesso refinado dos recursos do Azure.
Este artigo descreve as funções internas do Azure para o controle de acesso baseado em função do Azure (Azure RBAC). Ele lista Actions, NotActions, DataActions e NotDataActions.