Partilhar via


Fornecer acesso a chaves, certificados e segredos do Azure Key Vault com o controlo de acesso baseado em funções do Azure

Nota

O provedor de recursos do Key Vault suporta dois tipos de recursos: vaults e HSMs geridos. O controle de acesso descrito neste artigo só se aplica a cofres. Para saber mais sobre o controle de acesso do HSM gerido, consulte Controle de acesso do HSM gerido.

O controle de acesso baseado em função do Azure (Azure RBAC) é um sistema de autorização criado no Azure Resource Manager que fornece gerenciamento de acesso centralizado de recursos do Azure.

O RBAC do Azure permite que os usuários gerenciem chaves, segredos e permissões de certificados e fornece um local para gerenciar todas as permissões em todos os cofres de chaves.

O modelo RBAC do Azure permite que os usuários definam permissões em diferentes níveis de escopo: grupo de gerenciamento, assinatura, grupo de recursos ou recursos individuais. O RBAC do Azure para cofre de chaves também permite que os usuários tenham permissões separadas em chaves, segredos e certificados individuais.

Para obter mais informações, consulte Controle de acesso baseado em função do Azure (Azure RBAC).

Visão geral do modelo de acesso ao Key Vault

O acesso a um cofre de chaves é controlado através de duas interfaces: o plano de controlo e o plano de dados.

O plano de controlo é onde se gere o próprio Key Vault. As operações neste plano incluem criar e eliminar cofres de chaves, recuperar propriedades do Cofre de Chaves e atualizar políticas de acesso.

O plano de dados é onde trabalhas com os dados armazenados num cofre de chaves. Pode adicionar, eliminar e modificar chaves, segredos e certificados.

Ambos os aviões utilizam o Microsoft Entra ID para autenticação. Para autorização, o plano de controlo utiliza controlo de acesso baseado em funções Azure (Azure RBAC) e o plano de dados utiliza uma política de acesso Key Vault (legacy) ou Azure RBAC para operações no plano de dados Key Vault.

Para aceder a um cofre de chaves em qualquer um dos planos, todos os chamadores (utilizadores ou aplicações) devem ter autenticação e autorização adequadas. A autenticação estabelece a identidade do chamador. A autorização determina quais as operações que o chamador pode executar.

As aplicações acedem aos planos através dos endpoints. Os controles de acesso para os dois planos funcionam de forma independente. Para conceder a uma aplicação acesso para usar chaves num cofre de chaves, concede-se acesso ao plano de dados usando Azure RBAC ou uma política de acesso Key Vault. Para conceder a um utilizador acesso de leitura às propriedades e etiquetas do Key Vault, mas não acesso a dados (chaves, segredos ou certificados), concede-se acesso ao plano de controlo com Azure RBAC.

Pontos finais do plano de acesso

A tabela seguinte mostra os pontos finais dos planos de controlo e de dados.

Plano de acesso Endereços de acesso Operations Mecanismo de controlo de acessos
Plano de controlo Global:
management.azure.com:443

Microsoft Azure operado por 21Vianet:
management.chinacloudapi.cn:443

Azure US Government:
management.usgovcloudapi.net:443
Criar, ler, atualizar e eliminar cofres de chaves

Definir políticas de acesso ao Cofre de Chaves

Definir etiquetas do Key Vault
Azure RBAC
Plano de dados Global:
<nome-cofre.vault.azure.net:443>

Microsoft Azure operado por 21Vianet:
<nome-cofre>.vault.azure.cn:443

Azure US Government:
<nome do cofre>.vault.usgovcloudapi.net:443
Chaves: encriptar, desencriptar, enrolar Chave, desembrulhar, assinar, verificar, obter, listar, criar, atualizar, importar, eliminar, recuperar, backup, restaurar, purgar, rodar, getrotationpolicy, setrotationpolicy, release

Certificados: gerircontactos, obteremissores, listaremissores, definiremissores, eliminaremissores, geriremressores, obter, listar, criar, importar, atualizar, eliminar, recuperar, fazer backup, restaurar, purgar

Segredos: obter, listar, definir, apagar, recuperar, fazer backup, restaurar, purgar
Política de acesso do Key Vault (legado) ou Azure RBAC

Gerir o acesso administrativo ao Cofre de Chaves

Quando cria um cofre de chaves num grupo de recursos, gere o acesso usando o Microsoft Entra ID. Você concede aos usuários ou grupos a capacidade de gerenciar os cofres de chaves em um grupo de recursos. Pode conceder acesso a um nível específico de âmbito atribuindo os papéis Azure apropriados. Para conceder acesso a um usuário para gerenciar cofres de chaves, atribua uma função predefinida Key Vault Contributor ao usuário em um escopo específico. Os seguintes níveis de escopos podem ser atribuídos a um papel Azure:

  • Assinatura: uma função do Azure atribuída no nível de assinatura se aplica a todos os grupos de recursos e recursos dentro dessa assinatura.
  • Grupo de recursos: uma função do Azure atribuída no nível do grupo de recursos aplica-se a todos os recursos desse grupo de recursos.
  • Recurso específico: uma função do Azure atribuída a um recurso específico aplica-se a esse recurso. Nesse caso, o recurso é um cofre de chaves específico.

Existem vários papéis pré-definidos. Se uma função predefinida não atender às suas necessidades, você pode definir sua própria função. Para obter mais informações, consulte RBAC do Azure: funções integradas.

Importante

Se um utilizador tiver Contributor permissões do plano de controlo do Key Vault, pode conceder a si próprio acesso ao plano de dados ao definir uma política de acesso ao Key Vault. Deves controlar rigorosamente quem tem Contributor acesso ao teu cofre de chaves. Certifique-se de que apenas pessoas autorizadas podem aceder e gerir os seus cofres de chaves, chaves, segredos e certificados.

Práticas recomendadas para atribuições de função de chaves, segredos e certificados individuais

Nossa recomendação é usar um cofre por aplicativo e por ambiente (Desenvolvimento, Pré-produção e Produção) com funções atribuídas no escopo do cofre principal.

Não é recomendado atribuir funções a chaves, segredos e certificados individuais. Exceções incluem cenários onde:

  • Os segredos individuais requerem acesso individual do utilizador; por exemplo, onde os utilizadores têm de ler a sua chave privada SSH para autenticarem numa máquina virtual usando Azure Bastion.
  • Segredos individuais devem ser partilhados entre múltiplas aplicações; por exemplo, quando uma aplicação precisa de aceder a dados de outra aplicação.

Mais informações sobre as diretrizes de gerenciamento do Cofre de Chaves do Azure, consulte:

Funções internas do Azure para operações do plano de dados do Cofre da Chave

Nota

A função Key Vault Contributor destina-se apenas a operações do plano de controlo para gerenciar cofres de chaves. Não permite o acesso a chaves, segredos e certificados.

Função incorporada Descrição ID
Administrador do Cofre de Chaves Realize todas as operações do plano de dados em um cofre de chaves e todos os objetos no mesmo, incluindo certificados, chaves e segredos. Não é possível gerenciar recursos do cofre de chaves ou gerenciar atribuições de função. Só funciona para cofres de chaves que usam o modelo de permissões do 'controlo de acesso baseado em funções do Azure'. 00482a5a-887f-4fb3-b363-3b7fe8e74483
Leitor do Cofre de Chaves Leia metadados de cofres de chaves e seus certificados, chaves e segredos. Não é possível ler valores confidenciais, como conteúdo secreto ou material de chave. Só funciona para cofres de chaves que usam o modelo de permissões do 'controlo de acesso baseado em funções do Azure'. 21090545-7CA7-4776-B22C-E363652D74D2
Operador de limpeza do cofre de chaves Permite a exclusão permanente de cofres excluídos por software. a68e7c17-0ab2-4c09-9a58-125dae29748c
Gestor de Certificados do Cofre de Chaves Execute qualquer ação nos certificados de um cofre de chaves, exceto o gerenciamento de permissões. Só funciona para cofres de chaves que usam o modelo de permissões do 'controlo de acesso baseado em funções do Azure'. A4417E6F-FECD-4DE8-B567-7B0420556985
Usuário do certificado do Key Vault Leia todo o conteúdo do certificado, incluindo a parte secreta e a parte da chave. Só funciona para cofres de chaves que usam o modelo de permissões do 'controlo de acesso baseado em funções do Azure'. db79e9a7-68ee-4b58-9aeb-b90e7c24fcba
Responsável pela criptografia do Key Vault Execute qualquer ação nas chaves de um cofre de chaves, exceto gerenciar permissões. Só funciona para cofres de chaves que usam o modelo de permissões do 'controlo de acesso baseado em funções do Azure'. 14B46E9E-C2B7-41B4-B07B-48A6EBF60603
Usuário de criptografia do Key Vault Crypto Service Leia metadados de chaves e execute operações de encapsulamento/desempacotamento. Só funciona para cofres de chaves que usam o modelo de permissões do 'controlo de acesso baseado em funções do Azure'. E147488a-f6f5-4113-8e2d-b22465e65bf6
Key Vault Crypto Utilizador Execute operações criptográficas usando chaves. Só funciona para cofres de chaves que usam o modelo de permissões do 'controlo de acesso baseado em funções do Azure'. 12338AF0-0E69-4776-BEA7-57AE8D297424
Usuário do Key Vault Crypto Service Release Chaves de ativação para Computação Confidencial do Azure e ambientes equivalentes. Só funciona para cofres de chaves que usam o modelo de permissões do 'controlo de acesso baseado em funções do Azure'.
Administrador de Secretos do Cofre de Chaves Execute qualquer ação nos segredos de um cofre de chaves, exceto gerenciar permissões. Só funciona para cofres de chaves que usam o modelo de permissões do 'controlo de acesso baseado em funções do Azure'. B86A8FE4-44CE-4948-AEE5-ECCB2C155CD7
Usuário do Key Vault Secrets Leia conteúdo secreto, incluindo parte secreta de um certificado com chave privada. Só funciona para cofres de chaves que usam o modelo de permissões do 'controlo de acesso baseado em funções do Azure'. 4633458b-17de-408a-b874-0445c86b69e6

Para obter mais informações sobre definições de funções internas do Azure, consulte Funções internas do Azure.

Gerenciando atribuições de função do plano de dados do Key Vault integrado

Função incorporada Descrição ID
Administrador de Acesso a Dados do Key Vault Gerencie o acesso ao Cofre de Chaves do Azure adicionando ou removendo atribuições de função para as funções de Administrador do Cofre de Chaves, Oficial de Certificados do Cofre de Chaves, Oficial de Criptografia do Cofre de Chaves, Usuário de Criptografia do Serviço de Criptografia do Cofre de Chaves, Usuário de Criptografia do Cofre de Chaves, Leitor de Cofre de Chaves, Oficial de Segredos do Cofre de Chaves ou Usuário de Segredos do Cofre de Chaves. Inclui uma condição ABAC para restringir atribuições de função. 8B54135C-B56D-4D72-A534-26097CFDC8D8

Usando permissões de segredo, chave e certificado do RBAC do Azure com o Azure Key Vault

O novo modelo de permissão RBAC do Azure para o cofre de chaves fornece uma alternativa ao modelo de permissões da política de acesso ao cofre.

Pré-requisitos

Precisa de uma subscrição do Azure. Se não o fizer, pode criar uma conta gratuita antes de começar.

Para gerenciar atribuições de função, você deve ter Microsoft.Authorization/roleAssignments/write e Microsoft.Authorization/roleAssignments/delete permissões, como Administrador de Acesso a Dados do Cofre de Chaves (com permissões restritas para atribuir/remover apenas funções específicas do Cofre de Chaves), Administrador de Acesso de Usuário ou Proprietário.

Habilitar permissões do RBAC do Azure no Azure Key Vault

Nota

A alteração do modelo de permissão requer a permissão irrestrita 'Microsoft.Authorization/roleAssignments/write', que faz parte das funções de Proprietário e Administrador de Acesso de Usuário . Funções clássicas de administrador de assinatura, como 'Administrador de Serviço' e 'Coadministrador', ou restritas 'Administrador de Acesso a Dados do Cofre de Chaves' não podem ser usadas para alterar o modelo de permissão.

  1. Habilite as permissões do RBAC do Azure no novo cofre de chaves:

    Habilitar permissões do RBAC do Azure - novo cofre

  2. Habilite as permissões do RBAC do Azure no cofre de chaves existente:

    Habilitar permissões do Azure RBAC - cofre existente

Importante

A definição do modelo de permissão do RBAC do Azure invalida todas as permissões de políticas de acesso. Pode causar interrupções quando funções equivalentes do Azure não são atribuídas.

Atribuir função

Nota

É recomendável usar o ID de função exclusivo em vez do nome da função em scripts. Portanto, se uma função for renomeada, seus scripts continuarão a funcionar. Neste documento, o nome da função é usado para facilitar a leitura.

Para criar uma atribuição de função usando a CLI do Azure, use o comando az role assignment :

az role assignment create --role {role-name-or-id} --assignee {assignee-upn}> --scope {scope}

Para obter detalhes completos, consulte Atribuir funções do Azure usando a CLI do Azure.

Atribuição de função no âmbito do grupo de recursos

az role assignment create --role "Key Vault Reader" --assignee {i.e user@microsoft.com} --scope /subscriptions/{subscriptionid}/resourcegroups/{resource-group-name}

Para obter detalhes completos, consulte Atribuir funções do Azure usando a CLI do Azure.

A atribuição de função acima fornece a capacidade de listar objetos do cofre de chaves no cofre de chaves.

Atribuição de função de escopo do Key Vault

az role assignment create --role "Key Vault Secrets Officer" --assignee {assignee-upn} --scope /subscriptions/{subscriptionid}/resourcegroups/{resource-group-name}/providers/Microsoft.KeyVault/vaults/{key-vault-name}

Para obter detalhes completos, consulte Atribuir funções do Azure usando a CLI do Azure.

Atribuição de função de escopo secreto

Nota

As atribuições de função de segredo do cofre de chaves, certificados e escopo chave só devem ser usadas para cenários limitados descritos aqui para estar em conformidade com as práticas recomendadas de segurança.

az role assignment create --role "Key Vault Secrets Officer" --assignee {i.e user@microsoft.com} --scope /subscriptions/{subscriptionid}/resourcegroups/{resource-group-name}/providers/Microsoft.KeyVault/vaults/{key-vault-name}/secrets/RBACSecret

Para obter detalhes completos, consulte Atribuir funções do Azure usando a CLI do Azure.

Testar e verificar

Nota

Os navegadores usam cache e a atualização da página é necessária após a remoção das atribuições de função. Aguarde alguns minutos para que as atribuições de função sejam atualizadas

  1. Valide a adição de novo segredo sem a função "Key Vault Secrets Officer" no nível do cofre de chaves.

    1. Vá para a guia Controle de acesso do cofre de chaves (IAM) e remova a atribuição de função "Key Vault Secrets Officer" para este recurso.

      Remover atribuição - cofre de chaves

    2. Navegue até o segredo criado anteriormente. Você pode ver todas as propriedades secretas.

      Vista secreta com acesso

    3. Criar novo segredo ( Segredos > +Gerar/Importar) deve mostrar este erro:

      Criar novo segredo

  2. Valide a edição secreta sem a função "Key Vault Secret Officer" no nível secreto.

    1. Vá para a guia Controle de Acesso (IAM) secreto criado anteriormente e remova a atribuição de função "Key Vault Secrets Officer" para este recurso.

    2. Navegue até o segredo criado anteriormente. Você pode ver propriedades secretas.

      Vista secreta sem acesso

  3. Valide segredos lidos sem a função de leitor no nível do cofre de chaves.

    1. Vá para a guia Controle de acesso (IAM) do grupo de recursos do cofre de chaves e remova a atribuição de função "leitor do cofre de chaves".

    2. Navegar até a guia Segredos do cofre de chaves deve mostrar este erro:

      Guia secreto - erro

Criação de funções personalizadas

az role definition create comando

az role definition create --role-definition '{ \
    "Name": "Backup Keys Operator", \
    "Description": "Perform key backup/restore operations", \
    "Actions": [], \
    "DataActions": [ \
        "Microsoft.KeyVault/vaults/keys/read ", \
        "Microsoft.KeyVault/vaults/keys/backup/action", \
        "Microsoft.KeyVault/vaults/keys/restore/action" \
    ], \
    "NotDataActions": [], \
    "AssignableScopes": ["/subscriptions/{subscriptionId}"] \
}'

Para obter mais informações sobre como criar funções personalizadas, consulte:

Funções personalizadas do Azure

Perguntas Mais Frequentes

Posso usar atribuições de âmbito de objeto do Azure RBAC para fornecer isolamento às equipas de aplicação no Key Vault?

N.º O modelo de permissões Azure RBAC permite-lhe atribuir acesso a objetos individuais no Key Vault ao utilizador ou aplicação, mas quaisquer operações administrativas como controlo de acesso à rede, monitorização e gestão de objetos requerem permissões ao nível do cofre, que depois expõem informações seguras aos operadores de todas as equipas de aplicação.

Mais informações