Delegar o gerenciamento de acesso do Azure a outras pessoas

Em Controle de acesso baseado em função do Azure (RBAC do Azure), para conceder acesso aos recursos do Azure, você atribui funções do Azure. Por exemplo, se um usuário precisar criar e gerenciar sites em uma assinatura, você atribuirá a função Colaborador do Site.

Atribuir funções do Azure para conceder acesso aos recursos do Azure é uma tarefa comum. Como administrador, você pode receber várias solicitações para conceder acesso que deseja delegar a outra pessoa. No entanto, você deve garantir que o delegado tenha apenas as permissões necessárias para fazer o trabalho dele. Este artigo descreve uma maneira mais segura de delegar o gerenciamento de atribuição de função a outros usuários em sua organização.

Por que delegar o gerenciamento de atribuição de função?

Aqui estão alguns motivos pelos quais você pode querer delegar o gerenciamento de atribuição de função para outras pessoas:

  • Você obtém várias solicitações para atribuir funções em sua organização.
  • Os usuários são bloqueados aguardando a atribuição de função de que precisam.
  • Os usuários em seus respectivos departamentos, equipes ou projetos têm mais conhecimento sobre quem precisa de acesso.
  • Os usuários têm permissões para criar recursos do Azure, mas precisam de uma atribuição de função adicional para usar totalmente esse recurso. Por exemplo:
    • Os usuários com permissão para criar máquinas virtuais não podem entrar imediatamente na máquina virtual sem a função de Logon do Administrador de Máquina Virtual ou Logon do Usuário da Máquina Virtual. Em vez de rastrear um administrador para atribuir a ele uma função de logon, será mais eficiente se o usuário puder atribuir a função de logon a si mesmo.
    • Um desenvolvedor tem permissões para criar um cluster do Serviço de Kubernetes do Azure (AKS) e um Registro de Contêiner do Azure (ACR), mas precisa atribuir a função AcrPull a uma identidade gerenciada para que ela possa extrair imagens do ACR. Em vez de rastrear um administrador para atribuir a função AcrPull, será mais eficiente se o desenvolvedor puder atribuir a função por conta própria.

Como você atualmente pode delegar o gerenciamento de atribuição de função

As funções Proprietário e Administrador de acesso do usuário são funções internas que permitem que os usuários criem atribuições de função. Os membros dessas funções podem decidir quem pode ter permissões de gravação, leitura e exclusão para qualquer recurso em uma assinatura. Para delegar o gerenciamento de atribuição de função a outro usuário, você pode atribuir a função Proprietário ou Administrador de acesso do usuário a um usuário.

O diagrama a seguir mostra como Alice pode delegar responsabilidades de atribuição de função para Dara. Para obter etapas específicas, confira Atribuir um usuário como administrador de uma assinatura do Azure.

  1. Alice atribui a função de Administrador de acesso do usuário para Dara.
  2. Dara agora pode atribuir qualquer função a qualquer usuário, grupo ou entidade de serviço no mesmo escopo.

Diagram that shows an example where Dara can assign any role to any user.

Quais são os problemas do método de delegação atual?

Aqui estão os principais problemas do método atual de delegar o gerenciamento de atribuição de função para outras pessoas em sua organização.

  • O delegado tem acesso irrestrito no escopo da atribuição de função. Isso viola o princípio do privilégio mínimo, o que expõe você a uma superfície de ataque mais ampla.
  • O delegado pode atribuir qualquer função a qualquer usuário dentro de seu escopo, incluindo a si mesmo.
  • O delegado pode atribuir as funções Proprietário ou Administrador de acesso do usuário a outro usuário, que pode atribuir funções a outros usuários.

Em vez de atribuir as funções Proprietário ou Administrador de acesso do usuário, um método mais seguro é restringir a capacidade de um delegado de criar atribuições de função.

Um método mais seguro: delegar gerenciamento de atribuição de função com condições

Delegar o gerenciamento de atribuição de função com condições é uma maneira de restringir as atribuições de função que um usuário pode criar. No exemplo anterior, Alice pode permitir que Dara crie algumas atribuições de função em seu nome, mas não todas as atribuições de função. Por exemplo, Alice pode restringir as funções que Dara pode atribuir e restringir as entidades de segurança às quais Dara pode atribuir funções. Essa delegação com condições às vezes é conhecida como delegação restrita e é implementada usando condições de controle de acesso baseado em atributo do Azure (ABAC do Azure).

Este vídeo fornece uma visão geral da delegação do gerenciamento de atribuição de função com condições.

Por que delegar o gerenciamento de atribuição de função com condições?

Aqui estão alguns motivos pelos quais delegar o gerenciamento de atribuição de função para outras pessoas com condições é mais seguro:

  • Você pode restringir as atribuições de função que o delegado tem permissão para criar.
  • Você pode impedir que um delegado permita que outro usuário atribua funções.
  • Você pode impor a conformidade das políticas de menor privilégio da sua organização.
  • Você pode automatizar o gerenciamento de recursos do Azure sem precisar conceder permissões completas a uma conta de serviço.

Exemplo de condições

Considere um exemplo em que Alice é administradora com a função de Administrador de acesso do usuário para uma assinatura. Alice deseja conceder a Dara a capacidade de atribuir funções específicas para grupos específicos. Alice não quer que Dara tenha outras permissões de atribuição de função. O diagrama a seguir mostra como Alice pode delegar responsabilidades de atribuição de função para Dara com condições.

  1. Alice atribui a função Administrador de controle de acesso baseado em função a Dara. Alice adiciona condições para que o Dara só possa atribuir as funções Colaborador de backup ou Leitor de backup aos grupos Marketing e Vendas.
  2. Dara agora pode atribuir as funções Colaborador de backup ou Leitor de backup aos grupos Marketing e Vendas.
  3. Se Dara tentar atribuir outras funções ou atribuir funções a entidades de segurança diferentes (como um usuário ou identidade gerenciada), a atribuição de função falhará.

Diagram that shows an example where Dara can only assign the Backup Contributor or Backup Reader roles to Marketing or Sales groups.

Função administrador de controle de acesso baseado em função

A função Administrador de controle de acesso baseado em função é uma função interna que foi projetada para delegar o gerenciamento de atribuição de função para outras pessoas. Ela tem menos permissões do que Administrador de acesso do usuário, que segue melhores práticas de privilégios mínimos. A função Administrador de controle de acesso baseado em função tem as seguintes permissões:

  • Criar uma atribuição de função no escopo especificado
  • Excluir uma atribuição de função no escopo especificado
  • Ler recursos de todos os tipos, exceto segredos
  • Criar e atualizar um tíquete de suporte

Maneiras de restringir atribuições de função

Aqui estão as maneiras pelas quais as atribuições de função podem ser restritas com condições. Você também pode combinar essas condições para se ajustar ao seu cenário.

  • Restringir as funções que podem ser atribuídas

    Diagram of role assignments constrained to Backup Contributor and Backup Reader roles.

  • Restringir as funções e tipos de entidades de segurança (usuários, grupos ou entidades de serviço) que podem ser atribuídas funções

    Diagram of role assignments constrained to Backup Contributor or Backup Reader roles and user or group principal types.

  • Restringir as funções e entidades de segurança específicas que podem ser atribuídas a funções

    Diagram of role assignments constrained to Backup Contributor or Backup Reader roles and specific groups.

  • Especificar condições diferentes para adicionar e remover ações de atribuição de função

    Diagram of add and remove role assignments constrained to Backup Contributor or Backup Reader roles.

Como delegar o gerenciamento de atribuição de função com condições

Para delegar o gerenciamento de atribuição de função com condições, você atribui funções da mesma forma como você já faz, mas também adiciona uma condição à atribuição de função.

  1. Determinar as permissões que o delegado precisa

    • Quais funções o delegado pode atribuir?
    • A quais tipos de entidades de segurança o delegado pode atribuir funções?
    • A quais entidades de segurança o delegado pode atribuir funções?
    • O delegado pode remover as atribuições de função?
  2. Iniciar uma nova atribuição de função

  3. Selecione a função Administrador de controle de acesso baseado em função

    Você pode selecionar qualquer função que inclua a ação Microsoft.Authorization/roleAssignments/write, mas o Administrador de controle de acesso baseado em função tem menos permissões.

  4. Selecione o delegado

    Selecione o usuário ao qual você deseja delegar o gerenciamento de atribuição de função.

  5. Adicionar uma condição

    Há várias maneiras de adicionar uma condição. Por exemplo, você pode usar um modelo de condição no portal do Azure, no editor de condições avançadas no portal do Azure, no Azure PowerShell, na CLI do Azure, no Bicep ou na API REST.

    Escolha entre uma lista de modelos de condição. Selecione Configurar para especificar as funções, os tipos de entidades de segurança ou as entidades de segurança.

    Para obter mais informações, consulte Delegar o gerenciamento de atribuição de função do Azure a outras pessoas com condições.

    Screenshot of Add role assignment condition with a list of condition templates.

  6. Atribuir função com condição ao delegado

    Depois de especificar sua condição, conclua a atribuição de função.

  7. Entre em contato com o delegado

    Informe ao delegado que agora ele pode atribuir funções com condições.

Funções internas com condições

As funções Key Vault Data Access Administrator e Virtual Machine Data Access Administrator (preview) já têm uma condição interna para restringir as atribuições de função.

A função Administrador de Acesso a Dados do Cofre de Chaves permite gerenciar o acesso a segredos, certificados e chaves do Cofre de Chaves. Ela se concentra exclusivamente no controle de acesso sem a capacidade de atribuir funções privilegiadas, como funções de Proprietário ou Administrador de acesso do usuário. Ela permite uma melhor separação de tarefas para cenários como o gerenciamento de criptografia em repouso entre serviços de dados para cumprir ainda mais o princípio de privilégio mínimo. A condição restringe as atribuições de função às seguintes funções do Azure Key Vault:

Diagram of role assignments constrained to Key Vault roles.

Se você quiser restringir ainda mais a atribuição de função do administrador de acesso a dados do Key Vault, poderá adicionar sua própria condição para restringir os tipos de entidades de segurança (usuários, grupos ou entidades de serviço) ou entidades de segurança específicas que podem receber as funções do Key Vault.

Diagram of role assignments constrained to Key Vault roles and user principal type.

Problemas conhecidos

Aqui estão os problemas conhecidos relacionados à delegação de gerenciamento de atribuição de função com condições:

  • Você não pode delegar o gerenciamento de atribuição de função com condições usando o Privileged Identity Management.
  • Você não pode ter uma atribuição de função com uma ação de dados Microsoft.Storage e uma condição ABAC que usa um operador de comparação GUID. Para saber mais, confira Solucionar problemas do RBAC do Azure.

Requisitos de licença

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

Próximas etapas