Delegar o gerenciamento de acesso do Azure a outras pessoas

No controle de acesso baseado em função do Azure (Azure RBAC), 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 de 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ê quer ter certeza de que o delegado tem apenas as permissões necessárias para fazer seu trabalho. 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.

Porquê delegar a gestão de atribuição de funções?

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

  • Você recebe 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 dentro de seus respetivos 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 Login de Administrador de Máquina Virtual ou Login de Usuário de Máquina Virtual. Em vez de rastrear um administrador para atribuir-lhe uma função de login, é mais eficiente se o usuário puder atribuir a função de login a si mesmo.
    • Um desenvolvedor tem permissões para criar um cluster do Serviço 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 possa extrair imagens do ACR. Em vez de rastrear um administrador para atribuir a função AcrPull, é mais eficiente se o desenvolvedor puder atribuir a função por conta própria.

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

As funções Proprietário e Administrador de Acesso de 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 de Proprietário ou Administrador de Acesso de Usuário a um usuário.

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

  1. Alice atribui a função de Administrador de Acesso de Usuário a Dara.
  2. Agora, o Dara 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 com o atual método de delegação?

Aqui estão os principais problemas com o método atual de delegar o gerenciamento de atribuição de função a 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 menor privilégio, que o expõe 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 de Proprietário ou Administrador de Acesso de Usuário a outro usuário, que pode atribuir funções a outros usuários.

Em vez de atribuir as funções de Proprietário ou Administrador de Acesso de 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 o 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 os principais aos quais Dara pode atribuir funções. Essa delegação com condições às vezes é chamada de delegação restrita e é implementada usando condições de controle de acesso baseado em atributos do Azure (Azure ABAC).

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

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

Aqui estão algumas razões pelas quais delegar o gerenciamento de atribuição de funções a 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 totais a uma conta de serviço.

Exemplo de condições

Considere um exemplo em que Alice é uma administradora com a função de Administrador de Acesso de Usuário para uma assinatura. Alice quer 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 a Dara com condições.

  1. Alice atribui a função de 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 de Colaborador de Backup ou Leitor de Backup aos grupos de Marketing e Vendas.
  2. Dara agora pode atribuir as funções de Colaborador de Backup ou Leitor de Backup aos grupos de Marketing e Vendas.
  3. Se Dara tentar atribuir outras funções ou atribuir quaisquer funções a entidades 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 de Administrador de Controle de Acesso Baseado em Função

A função de 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 a outras pessoas. Ele tem menos permissões do que o Administrador de Acesso de Usuário, que segue as práticas recomendadas de privilégios mínimos. A função de 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
  • Recursos de leitura de todos os tipos, exceto segredos
  • Criar e atualizar um ticket de suporte

Formas de restringir atribuições de funções

Aqui estão as maneiras pelas quais as atribuições de função podem ser restringidas com condições. Você também pode combinar essas condições para se adequar 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 os tipos de entidades (usuários, grupos ou entidades de serviço) que podem receber 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 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 as ações de adição e remoção 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 como faz atualmente, mas também adiciona uma condição à atribuição de função.

  1. Determinar as permissões de que o delegado precisa

    • Que funções o delegado pode atribuir?
    • A que tipos de entidades o delegado pode atribuir funções?
    • A quais entidades o delegado pode atribuir funções?
    • O delegado pode remover quaisquer 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, mas o Administrador de Controle de Acesso Baseado em Microsoft.Authorization/roleAssignments/write 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, o editor de condição avançado no portal do Azure, Azure PowerShell, CLI do Azure, Bíceps ou API REST.

    Escolha a partir de uma lista de modelos de condição. Selecione Configurar para especificar as funções, tipos principais ou 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 para delegar

    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 incorporadas com condições

As funções Administrador de Acesso a Dados do Cofre de Chaves e Administrador de Acesso a Dados de Máquina Virtual (visualização) já têm uma condição interna para restringir as atribuições de função.

A função de Administrador de Acesso a Dados do Cofre de Chaves permite gerenciar o acesso a segredos, certificados e chaves do Cofre de Chaves. Ele é focado exclusivamente no controle de acesso sem a capacidade de atribuir funções privilegiadas, como funções de Proprietário ou Administrador de Acesso de Usuário. Ele 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égios mínimos. A condição restringe as atribuições de função às seguintes funções do Cofre da Chave do Azure:

Diagram of role assignments constrained to Key Vault roles.

Se quiser restringir ainda mais a atribuição da função de Administrador de Acesso a Dados do Cofre da Chave, você pode adicionar sua própria condição para restringir os tipos de entidades (usuários, grupos ou entidades de serviço) ou entidades específicas às quais podem ser atribuídas as funções do Cofre da Chave.

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:

  • Não é possível delegar o gerenciamento de atribuição de função com condições usando o Gerenciamento Privilegiado de Identidades.
  • 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 obter mais informações, consulte Solucionar problemas do Azure RBAC.

Requisitos de licença

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

Próximos passos