O que é o RBAC do Azure (controle de acesso baseado em função do Azure)?

O gerenciamento de acesso para recursos de nuvem é uma função crítica para qualquer organização que esteja usando a nuvem. O RBAC do Azure (controle de acesso baseado em funções do Azure) ajuda a gerenciar quem tem acesso aos recursos do Azure, o que pode fazer com esses recursos e a quais áreas tem acesso.

O RBAC do Azure é um sistema de autorização baseado no Azure Resource Manager que fornece gerenciamento de acesso refinado dos recursos do Azure.

Este vídeo fornece uma visão geral rápida do RBAC do Azure.

O que posso fazer com o RBAC do Azure?

Aqui estão alguns exemplos do que você pode fazer com o RBAC do Azure:

  • Permitir que um usuário gerencie máquinas virtuais em uma assinatura e outro usuário gerencie redes virtuais
  • Permitir que um grupo de DBA gerencie bancos de dados SQL em uma assinatura
  • Permitir que um usuário gerencie todos os recursos em um grupo de recursos, como máquinas virtuais, sites e sub-redes
  • Permitir que um aplicativo acesse todos os recursos em um grupo de recursos

Como o RBAC do Azure funciona

A maneira de controlar o acesso aos recursos usando o RBAC do Azure é atribuir funções do Azure. Esse é um conceito fundamental que deve ser entendido: como as permissões são aplicadas. Uma atribuição de função consiste em três elementos: entidade de segurança, definição de função e escopo.

Entidade de segurança

Uma entidade de segurança é um objeto que representa um usuário, grupo, entidade de serviço ou uma identidade gerenciada que está solicitando acesso aos recursos do Azure. Você pode atribuir uma função a qualquer uma dessas entidades de segurança.

Diagrama que mostra os tipos de entidade de segurança para uma atribuição de função.

Definição de função

Uma definição de função é um conjunto de permissões. Normalmente ela é chamada apenas de função. Uma definição de função lista as ações que podem ser executadas, como leitura, gravação e exclusão. Funções podem ser de alto nível, como proprietário, ou específicas, como leitor de máquina virtual.

Diagrama que mostra um exemplo de definição de função para uma atribuição de função

O Azure inclui várias funções internas que você pode usar. Por exemplo, a função Colaborador de Máquina Virtual permite que um usuário crie e gerencie máquinas virtuais. Se as funções internas não atenderem às necessidades específicas de sua organização, você poderá criar funções personalizadas do Azure próprias.

Este vídeo fornece uma visão geral rápida das funções internas e das funções personalizadas.

O Azure tem ações de dados que lhe permitem acesso a dados em um objeto. Por exemplo, se um usuário tem acesso de leitura de dados para uma conta de armazenamento, eles podem ler blobs ou mensagens dentro dessa conta de armazenamento.

Para saber mais, veja Noções básicas sobre definições de função do Azure.

Escopo

Escopo é o conjunto de recursos ao qual o acesso se aplica. Quando você atribui uma função, você pode limitar ainda mais as ações permitidas definindo um escopo. Isso será útil se você quiser tornar alguém um colaborador do site, mas apenas para um grupo de recursos.

No Azure, você pode especificar um escopo em quatro níveis: grupo de gerenciamento, assinatura, grupo de recursos ou recurso. Os escopos são estruturados em uma relação pai-filho. Você pode atribuir funções em qualquer um desses níveis de escopo.

Diagrama que mostra os níveis de escopo para uma atribuição de função.

Para obter mais informações sobre escopo, confira Noções básicas de escopo.

Atribuições de função

Uma atribuição de função é o processo de associar uma definição de função a um usuário, grupo, entidade de serviço ou identidade gerenciada em um escopo específico com a finalidade de conceder acesso. O acesso é concedido criando uma atribuição de função, e é revogado removendo uma atribuição de função.

O diagrama a seguir mostra um exemplo de uma atribuição de função. Neste exemplo, o grupo de Marketing foi atribuído à função Colaborador para o grupo de recursos vendas farmacêuticas. Isso significa que os usuários do grupo de Marketing podem criar ou gerenciar qualquer recurso do Azure no grupo de recursos de vendas do setor farmacêutico. Os usuários de Marketing não possuem acesso a recursos fora do grupo de recursos de vendas do setor farmacêutico, a menos que sejam parte de outra atribuição de função.

Diagrama que mostra como a entidade de segurança, a definição de função e o escopo criam uma atribuição de função.

Você pode atribuir funções usando o portal do Azure, a CLI do Azure, o Azure PowerShell, SDKs do Azure ou APIs REST.

Para obter mais informações, confira Etapas para atribuir uma função do Azure.

Grupos

As atribuições de função são transitivas para grupos, o que significa que, se um usuário for membro de um grupo e esse grupo for membro de outro grupo que tenha uma atribuição de função, o usuário terá as permissões na atribuição de função.

Diagrama que mostra como as atribuições de função são transitivas para grupos.

Atribuições de função múltiplas

O que acontece se você tem várias atribuições de função sobrepostas? O RBAC do Azure é um modelo aditivo e, portanto, suas permissões efetivas são a soma das atribuições de função. Considere o exemplo a seguir em que um usuário recebe a função Colaborador no escopo da assinatura e a função Leitor em um grupo de recursos. A soma das permissões de Colaborador e de Leitor é, efetivamente, a função de Colaborador para a assinatura. Portanto, nesse caso, a atribuição de função Leitor não tem nenhum impacto.

Diagrama que mostra como várias atribuições de função se sobrepõem.

Negar atribuições

Anteriormente, o RBAC do Azure era um modelo somente de permissão, sem negação, mas agora ele é compatível com atribuições de negações, com limitações. Semelhante a uma atribuição de função, uma atribuição de negação anexa um conjunto de ações de negação a um usuário, grupo, entidade de serviço ou identidade gerenciada em um escopo específico com o objetivo de negar acesso. Uma atribuição de função define um conjunto de ações que são permitidas, enquanto uma atribuição de negação define um conjunto de ações que não são permitidas. Em outras palavras, as atribuições de negação impedem que os usuários executem ações especificadas, mesmo quando uma atribuição de função lhes concede acesso. As atribuições de negação têm precedência sobre as atribuições de função.

Para obter mais informações, confira Compreender atribuições de negação do Azure.

Como o RBAC do Azure determina se um usuário tem acesso a um recurso

Veja a seguir as etapas de alto nível usadas pelo RBAC do Azure para determinar se você tem acesso a um recurso. Essas etapas se aplicam ao Azure Resource Manager ou aos serviços de plano de dados integrados ao RBAC do Azure. Convém entender isso quando você está tentando solucionar problemas de acesso.

  1. Um usuário (ou uma entidade de serviço) adquire um token do Azure Resource Manager.

    O token inclui as associações a um grupo do usuário (incluindo associações de grupo transitivas).

  2. O usuário faz uma chamada à API REST para o Azure Resource Manager com o token anexado.

  3. O Azure Resource Manager recupera todas as atribuições de função e as atribuições de negação que se aplicam ao recurso no qual a ação está sendo realizada.

  4. Se houver uma atribuição de negação aplicável, o acesso será bloqueado. Caso contrário, a avaliação continuará.

  5. O Azure Resource Manager restringe as atribuições de função que se aplicam a esse usuário ou ao seu grupo e determina as funções que o usuário tem para este recurso.

  6. O Azure Resource Manager determina se a ação na chamada à API está incluída nas funções que o usuário tem para este recurso. Se as funções incluírem Actions que têm um curinga (*), as permissões efetivas serão calculadas pela subtração das NotActions das Actions permitidas. Da mesma forma, a mesma subtração é feita para qualquer ação de dados.

    Actions - NotActions = Effective management permissions

    DataActions - NotDataActions = Effective data permissions

  7. Se o usuário não tem uma função com a ação no escopo solicitado, o acesso não é permitido. Caso contrário, todas as condições são avaliadas.

  8. Se a atribuição de função inclui condições, elas são avaliadas. Caso contrário, o acesso é permitido.

  9. Se as condições são atendidas, o acesso é permitido. Caso contrário, o acesso não é permitido.

O diagrama a seguir é um resumo da lógica de avaliação.

Fluxograma da lógica de avaliação para determinar o acesso a um recurso.

Requisitos de licença

O uso desse recurso é gratuito e está incluído em sua assinatura do Azure.

Próximas etapas