Migrar da política de acesso do cofre para um modelo de permissão de controle de acesso baseado em função do Azure

O Azure Key Vault oferece dois sistemas de autorização: o controle de acesso baseado em função do Azure (Azure RBAC) e um modelo de política de acesso. O Azure RBAC é o sistema de autorização padrão e recomendado para o Azure Key Vault. Para uma comparação dos dois métodos de autorização, consulte Controle de acesso baseado em função do Azure (Azure RBAC) versus políticas de acesso.

Este artigo fornece as informações necessárias para migrar de um cofre de chaves da autorização de política de acesso para um modelo RBAC do Azure.

Políticas de acesso para mapeamento de funções do Azure

O RBAC do Azure tem várias funções internas do Azure que você pode atribuir a usuários, grupos, entidades de serviço e identidades gerenciadas. 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.

Funções internas do Key Vault para chaves, certificados e segredos de gerenciamento de acesso:

  • Administrador do Key Vault
  • Leitor do Key Vault
  • Responsável pelos certificados do Key Vault
  • Usuário de certificado do Key Vault
  • Responsável pela Criptografia do Key Vault
  • Usuário de Criptografia do Key Vault
  • Usuário de Criptografia do Serviço de Criptografia do Key Vault
  • Responsável pelos Segredos do Key Vault
  • Usuário de Segredos do Key Vault

Para obter mais informações sobre as funções internas, veja Funções internas do Azure

As políticas de acesso do cofre podem ser atribuídas com permissões selecionadas individualmente ou com modelos de permissão predefinidos.

Modelos de permissão predefinidos de políticas de acesso:

  • Gerenciamento de certificados, chaves e segredos
  • Gerenciamento de segredos e chaves
  • Gerenciamento de segredos e certificados
  • Gerenciamento de chaves
  • Gerenciamento de segredos
  • Gerenciamento de certificado
  • Conector do SQL Server
  • Azure Data Lake Storage ou Armazenamento do Microsoft Azure
  • Serviço de Backup do Azure
  • Chave de Cliente do Exchange Online
  • Chave de Cliente do SharePoint Online
  • BYOK de Informações do Azure

Modelos de políticas de acesso para mapeamento de funções do Azure

Modelo de política de acesso Operations Função do Azure
Gerenciamento de certificados, chaves e segredos Chaves: todas as operações
Certificados: todas as operações
Segredos: todas as operações
Administrador do Key Vault
Gerenciamento de segredos e chaves Chaves: todas as operações
Segredos: todas as operações
Responsável pela Criptografia do Key Vault
Responsável pelos Segredos do Key Vault
Gerenciamento de segredos e certificados Certificados: todas as operações
Segredos: todas as operações
Responsável pelos Certificados do Key Vault
Responsável pelos Segredos do Key Vault
Gerenciamento de chaves Chaves: todas as operações Responsável pela Criptografia do Key Vault
Gerenciamento de segredos Segredos: todas as operações Responsável pelos Segredos do Key Vault
Gerenciamento de certificado Certificados: todas as operações Responsável pelos Certificados do Key Vault
Conector do SQL Server Chaves: obter, listar, encapsular chave, desencapsular chave Usuário de Criptografia do Serviço de Criptografia do Key Vault
Azure Data Lake Storage ou Armazenamento do Microsoft Azure Chaves: obter, listar, desencapsular chave N/D
Função personalizada necessária
Serviço de Backup do Azure Chaves: obter, listar, backup
Segredos: obter, listar, backup
N/D
Função personalizada necessária
Chave de Cliente do Exchange Online Chaves: obter, listar, encapsular chave, desencapsular chave Usuário de Criptografia do Serviço de Criptografia do Key Vault
Chave de Cliente do Exchange Online Chaves: obter, listar, encapsular chave, desencapsular chave Usuário de Criptografia do Serviço de Criptografia do Key Vault
BYOK de Informações do Azure Chaves: obter, descriptografar, assinar N/D
Função personalizada necessária

Observação

A configuração do certificado do Serviço de Aplicativo do Azure por meio do Portal do Azure não dá suporte ao modelo de permissão do RBAC do Key Vault. Você pode usar o Azure PowerShell, a CLI do Azure, implantações de modelo do ARM com a atribuição de função de Usuário de certificado do Key Vault para a identidade global do Serviço de Aplicativo, por exemplo, o Serviço de Aplicativo do Microsoft Azure na nuvem pública.

Mapeamento de escopos de atribuição

O RBAC do Azure para o Key Vault permite a atribuição de funções nos seguintes escopos:

  • Grupo de gerenciamento
  • Subscription
  • Resource group
  • Recurso do Key Vault
  • Chave, segredo e certificado individuais

O modelo de permissão de política de acesso do cofre tem a limitação de atribuir a política somente no nível de recurso do Key Vault.

Em geral, é recomendável ter um cofre de chaves por aplicativo e gerenciar o acesso no nível do cofre de chaves. Há cenários em que o gerenciamento de acesso em outros escopos pode simplificar o gerenciamento de acesso.

  • Infraestrutura, administradores de segurança e operadores: o gerenciamento de grupos de cofres de chaves no nível do grupo de gerenciamento, da assinatura ou do grupo de recursos com políticas de acesso ao cofre requer a manutenção de políticas para cada cofre de chaves. O RBAC do Azure permite criar uma atribuição de função no grupo de gerenciamento, na assinatura ou no grupo de recursos. Essa atribuição será aplicada a qualquer novo cofre de chaves criado no mesmo escopo. Nesse cenário, é recomendável usar o Privileged Identity Management com acesso na hora certa ao fornecer acesso permanente.

  • Aplicativos: há cenários em que o aplicativo precisaria compartilhar o segredo com outro aplicativo. Usar políticas de acesso do cofre separam o cofre de chaves que tinha que ser criado para evitar o acesso a todos os segredos. O RBAC do Azure permite atribuir função com escopo para um segredo individual usando um único cofre de chaves.

Guia de migração de políticas de acesso do cofre para o RBAC do Azure

Há muitas diferenças entre o modelo de permissão de política de acesso de cofre e o RBAC do Azure. Para evitar interrupções durante a migração, as etapas a seguir são recomendadas.

  1. Identificar e atribuir funções: identifique as funções internas com base na tabela de mapeamento acima e crie funções personalizadas quando necessário. Atribua funções em escopos, com base em diretrizes de mapeamento de escopos. Para obter mais informações sobre como atribuir funções ao cofre de chaves, veja Fornecer acesso ao Key Vault com um controle de acesso baseado em função do Azure
  2. Validar atribuição de funções: as atribuições de função no RBAC do Azure podem levar vários minutos para serem propagadas. Para obter instruções sobre como verificar atribuições de função, veja Listar atribuições de funções no escopo
  3. Configurar o monitoramento e os alertas no cofre de chaves: é importante habilitar o log e a instalação de alertas para exceções de acesso negado. Para obter mais informações, veja Monitoramento e alertas para o Azure Key Vault
  4. Definir o modelo de permissão de controle de acesso baseado em função do Azure no Key Vault: habilitar o modelo de permissão do RBAC do Azure invalidará todas as políticas de acesso existentes. Se um erro ocorrer, o modelo de permissão pode ser revertido com todas as políticas de acesso existentes restantes inalteradas.

Observação

A alteração do modelo de permissão requer a permissão 'Microsoft.Authorization/roleAssignments/write', que faz parte das funções de Proprietário e de Administrador de acesso de usuário. Não há suporte para funções de administrador de assinatura clássica como "Administrador de serviços" e "Coadministrador".

Observação

Quando o modelo de permissão do RBAC do Azure estiver habilitado, todos os scripts que tentarem atualizar as políticas de acesso falharão. É importante atualizar esses scripts para usar o RBAC do Azure.

Governança de migração

Usando o serviço Azure Policy, você pode governar a migração do modelo de permissão do RBAC em seus cofres. Você pode criar uma definição de política personalizada para auditar cofres de chaves existentes e impor que todos os novos cofres de chave usem o modelo de permissão do RBAC do Azure.

Criar e atribuir definição de política para o modelo de permissão do RBAC do Azure Key Vault

  1. Navegue até o recurso de Política
  2. Selecione Atribuições em Criação no lado esquerdo da página Azure Policy.
  3. Selecione Atribuir política no topo da página. Esse botão abre a página Atribuição de política.
  4. Insira as seguintes informações:
    • Defina o escopo da política escolhendo a assinatura e o grupo de recursos sobre os quais a política será imposta. Selecione clicando no botão de três pontos no campo Escopo.
    • Selecione o nome da definição de política: "[Versão prévia]: o Azure Key Vault deve usar o modelo de permissão RBAC"
    • Vá para a guia Parâmetros na parte superior da página e defina o efeito desejado da política (Auditar, Negar ou Desabilitado).
  5. Preencha todos os campos adicionais. Navegue pelas guias clicando nos botões Anterior e Avançar na parte inferior da página.
  6. Selecione Examinar + criar
  7. Escolha Criar

Depois que política interna é atribuída, pode levar até 24 horas para que a verificação seja concluída. Depois que a verificação for concluída, você verá os resultados de conformidade, conforme abaixo.

RBAC policy compliance

Para obter mais informações, consulte

Política de Acesso à Ferramenta de Comparação do RBAC do Azure

Importante

Essa ferramenta é criada e mantida por membros da Comunidade da Microsoft e não tem suporte formal dos Serviços de Atendimento ao Cliente. A ferramenta é fornecida COMO ESTÁ e sem garantias de qualquer tipo.

Ferramenta do PowerShell para comparar políticas de acesso do Key Vault com funções RBAC atribuídas para ajudar na migração da Política de Acesso ao Modelo de Permissão RBAC. A intenção da ferramenta é fornecer verificação de sanidade ao migrar Key Vault existentes para o modelo de permissão RBAC para garantir que as funções atribuídas com ações de dados subjacentes abrangem as Políticas de Acesso existentes.

Solução de problemas

  • A atribuição de função não está funcionando após vários minutos – há situações em que as atribuições de função podem levar mais tempo. É importante escrever a lógica de repetição no código para cobrir esses casos.
  • As atribuições de função desapareceram quando o Key Vault foi excluído (exclusão reversível) e recuperado – atualmente, há uma limitação do recurso de exclusão reversível em todos os serviços do Azure. É necessário recriar todas as atribuições de função após a recuperação.

Saiba mais