Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Observação
O provedor de recursos do Key Vault dá suporte a dois tipos de recursos: cofres e HSMs gerenciados. O controle de acesso descrito neste artigo se aplica somente a cofres. Para saber mais sobre o controle de acesso para HSM gerenciado, consulte Controle de acesso para HSM gerenciado.
O controle de acesso baseado em função do Azure (RBAC do Azure) é um sistema de autorização criado no Azure Resource Manager que fornece gerenciamento centralizado de acesso a 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 saber mais, consulte RBAC (controle de acesso baseado em função) do Azure.
Visão geral do modelo de acesso do Key Vault
O acesso ao cofre de chaves é controlado por meio de duas interfaces: o plano de controle e o plano de dados.
O plano de controle é onde você gerencia o Key Vault propriamente dito. As operações neste plano incluem a criação e exclusão de cofres de chaves, a recuperação de propriedades do Key Vault e a atualização das políticas de acesso.
O plano de dados é onde você trabalha com os dados armazenados em um Key Vault. Você pode adicionar, excluir e modificar chaves, segredos e certificados.
Ambos os planos usam Microsoft Entra ID para autenticação. Para autorização, o painel de controle usa o RBAC (controle de acesso baseado em função) do Azure e o plano de dados usa uma política de acesso do Key Vault (herdada) ou rbac do Azure para operações de plano de dados do Key Vault.
Para acessar um cofre de chaves em qualquer dos planos, todos os chamadores (usuários ou aplicativos) devem ter a autenticação e a autorização adequadas. A autenticação estabelece a identidade do chamador. A autorização determina quais operações o chamador pode executar.
Os aplicativos acessam os planos por meio de pontos de extremidade. Os controles de acesso para os dois aviões funcionam de forma independente. Para conceder a um aplicativo acesso para usar chaves em um cofre de chaves, você concede acesso ao plano de dados usando o RBAC do Azure ou uma política de acesso do Key Vault. Para conceder acesso de leitura do usuário para marcas e propriedades do Key Vault, mas não conceder acesso aos dados (chaves, segredos ou certificados), você deve conceder acesso ao plano de controle com RBAC do Azure.
Pontos de extremidade do plano de acesso
A tabela a seguir mostra os endpoints para os planos de dados e de controle.
| Plano de acesso | Pontos de extremidade de acesso | Operations | Mecanismo de controle de acesso |
|---|---|---|---|
| Painel de controle |
Global: management.azure.com:443 Microsoft Azure operado pela 21Vianet: management.chinacloudapi.cn:443 Azure Governamental para EUA: management.usgovcloudapi.net:443 |
Criar, ler, atualizar e excluir cofres de chaves Definir políticas de acesso do Key Vault Definir etiquetas do Key Vault |
Azure RBAC |
| Plano de dados |
Global: <vault-name>.vault.azure.net:443 Microsoft Azure operado pela 21Vianet: <vault-name.vault.azure.cn:443> Azure Governamental para EUA: <vault-name.vault.usgovcloudapi.net:443> |
Chaves: criptografar, descriptografar, encapsular chave, desencapsular chave, assinar, verificar, obter, listar, criar, atualizar, importar, excluir, recuperar, fazer backup, restaurar, limpar, rotacionar, obter política de rotação, definir política de rotação, liberar Certificados: managecontacts, getissuers, listissuers, setissuers, deleteissuers, manageissuers, get, list, create, import, update, delete, recover, backup, restore, purge Segredos: obter, listar, definir, excluir, recuperar, fazer backup, restaurar, limpar |
Política de acesso do Key Vault (herdada) ou RBAC do Azure |
Gerenciando o acesso administrativo ao Key Vault
Ao criar um cofre de chaves em um grupo de recursos, você gerencia o acesso usando a ID do Microsoft Entra. Conceda a usuários ou grupos a capacidade de gerenciar os cofres de chaves em um grupo de recursos. Você pode conceder acesso em um nível de escopo específico atribuindo as funções apropriadas do Azure. Para conceder acesso a um usuário para gerenciar os cofres de chaves, atribua uma função Key Vault Contributor predefinida ao usuário em um escopo específico. Os seguintes níveis de escopos podem ser atribuídos a uma função do Azure:
- Assinatura: uma função do Azure atribuída no nível da assinatura se aplica a todos os grupos de recursos e recursos nessa assinatura.
- Grupo de recursos: uma função do Azure atribuída no nível do grupo de recursos que se aplica a todos os recursos nesse grupo de recursos.
- Recursos específicos: uma função do Azure atribuída a um recurso específico que se aplica a esse recurso. Nesse caso, o recurso é um cofre de chaves específico.
Há várias funções predefinidas. Se uma função predefinida não atender às suas necessidades, você poderá definir sua própria função. Para obter mais informações, confira Funções internas do Azure RBAC.
Importante
Se um usuário tem permissões Contributor para um plano de controle de cofre de chaves, o usuário pode conceder a si mesmo acesso ao plano de dados definindo uma política de acesso ao Key Vault. Você deve controlar rigorosamente quem tem função de acesso Contributor aos cofres de chaves. Verifique se somente pessoas autorizadas podem acessar e gerenciar seus cofres de chaves, chaves, segredos e certificados.
Melhores práticas para atribuições de função de chaves, segredos e certificados individuais
Recomenda-se usar um cofre por aplicativo por ambiente (desenvolvimento, pré-produção e produção) com funções atribuídas no escopo do cofre de chaves.
Não é recomendável atribuir funções em chaves individuais, segredos e certificados. As exceções incluem cenários em que:
- Segredos individuais exigem acesso individual do usuário; por exemplo, em que os usuários devem ler sua chave privada SSH para autenticar em uma máquina virtual usando o Azure Bastion.
- Segredos individuais devem ser compartilhados entre vários aplicativos; por exemplo, em que um aplicativo precisa acessar dados de outro aplicativo.
Para saber mais sobre as diretrizes de gerenciamento do Azure Key Vault, consulte:
Funções internas do Azure para operações do plano de dados do Key Vault
Observação
A função Key Vault Contributor destina-se apenas às operações do plano de gerenciamento para gerenciar cofres de chaves. Ela não permite acessar chaves, segredos e certificados.
| Função interna | Descrição | ID |
|---|---|---|
| Administrador do Key Vault | Executa todas as operações do plano de dados em um cofre de chaves e em todos os objetos nele, incluindo certificados, chaves e segredos. Não pode gerenciar os recursos do Key Vault nem gerenciar atribuições de função. Funciona apenas para cofres de chaves que usam o modelo de permissão “Controle de acesso baseado em função do Azure”. | 00482a5a-887f-4fb3-b363-3b7fe8e74483 |
| Leitor do Key Vault | Lê metadados dos cofres de chaves e seus certificados, chaves e segredos. Não é possível ler valores confidenciais, como conteúdo secreto ou material de chave. Funciona apenas para cofres de chaves que usam o modelo de permissão “Controle de acesso baseado em função do Azure”. | 21090545-7ca7-4776-b22c-e363652d74d2 |
| Operador de limpeza do Key Vault | Permite a exclusão permanente de cofres com exclusão reversível: | a68e7c17-0ab2-4c09-9a58-125dae29748c |
| Responsável pelos certificados do Key Vault | Execute qualquer ação nos certificados de um cofre de chaves, exceto gerenciando permissões. Funciona apenas para cofres de chaves que usam o modelo de permissão “Controle de acesso baseado em função do Azure”. | a4417e6f-fecd-4de8-b567-7b0420556985 |
| Usuário de certificado do Key Vault | Leia todo o conteúdo do certificado, incluindo o segredo e a parte da chave. Funciona apenas para cofres de chaves que usam o modelo de permissão “Controle de acesso baseado em função do Azure”. | db79e9a7-68ee-4b58-9aeb-b90e7c24fcba |
| Responsável pela criptografia do Key Vault | Execute qualquer ação nas chaves do cofre de chaves, exceto gerenciar permissões. Funciona apenas para cofres de chaves que usam o modelo de permissão “Controle de acesso baseado em função do Azure”. | 14b46e9e-c2b7-41b4-b07b-48a6ebf60603 |
| Usuário de criptografia do serviço Key Vault | Leia metadados de chaves e execute operações de encapsulamento/descapsulamento. Funciona apenas para cofres de chaves que usam o modelo de permissão “Controle de acesso baseado em função do Azure”. | e147488a-f6f5-4113-8e2d-b22465e65bf6 |
| Usuário de criptografia do Key Vault | Executa operações criptográficas com chaves. Funciona apenas para cofres de chaves que usam o modelo de permissão “Controle de acesso baseado em função do Azure”. | 12338af0-0e69-4776-bea7-57ae8d297424 |
| Usuário da versão do Serviço Key Vault Crypto | Chaves de liberação para Computação Confidencial do Azure e ambientes equivalentes. Funciona apenas para cofres de chaves que usam o modelo de permissão “Controle de acesso baseado em função do Azure”. | |
| Responsável pelos segredos do Key Vault | Executa qualquer ação nos segredos de um cofre de chaves, exceto gerenciar permissões. Funciona apenas para cofres de chaves que usam o modelo de permissão “Controle de acesso baseado em função do Azure”. | b86a8fe4-44ce-4948-aee5-eccb2c155cd7 |
| Usuário de segredos do Key Vault | Leia conteúdos secretos, incluindo parte secreta de um certificado com chave privada. Funciona apenas para cofres de chaves que usam o modelo de permissão “Controle de acesso baseado em função do Azure”. | 4633458b-17de-408a-b874-0445c86b69e6 |
Para saber mais sobre funções internas do Azure, consulte Funções internas do Azure.
Gerenciamento das atribuições de função do plano de dados do Azure Key Vault interno
| Função interna | Descrição | ID |
|---|---|---|
| Administrador de Acesso a Dados do Key Vault | Gerencie o acesso ao Azure Key Vault ao adicionar ou remover atribuições de função para o Administrador do Key Vault, o Diretor de Certificados do Key Vault, o Usuário de Criptografia do Serviço Criptográfico do Key Vault, o Usuário de Criptografia do Key Vault, o Leitor do Key Vault, o Key Vault Secrets Officer ou as funções de usuário de segredos do Key Vault. Inclui uma condição ABAC para restringir atribuições de função. | 8b54135c-b56d-4d72-a534-26097cfdc8d8 |
Usando as permissões de segredo, chave e certificado do RBAC do Azure com o Key Vault
O novo modelo de permissão RBAC do Azure para o Key Vault oferece uma alternativa ao modelo de permissões da política de acesso do Key Vault.
Pré-requisitos
Você precisa ter uma assinatura do Azure. Caso não tenha, crie uma conta gratuita antes de começar.
Para gerenciar as atribuições de função, você precisa ter as permissões Microsoft.Authorization/roleAssignments/write e Microsoft.Authorization/roleAssignments/delete, como Administrador de Acesso a Dados do Cofre de Chaves (com permissões restritas para atribuir/remover apenas funções específicas do cofre Key Vault), Administrador de Acesso do Usuário ou Proprietário.
Habilitar permissões do RBAC do Azure no Key Vault
Observação
A alteração do modelo de permissão exige a permissão irrestrita ''Microsoft.Authorization/roleAssignments/write'', que faz parte das funções Proprietário e Administrador de Acesso do Usuário. As funções de administrador de assinatura clássicas, como ‘Administrador de Serviços’ e ‘Coadministrador’ ou ‘Administrador de Acesso a Dados do Cofre de Chaves’ restrito, não podem ser usadas para alterar o modelo de permissão.
Habilite as permissões do RBAC do Azure no novo Key Vault:
Ativar permissões do RBAC do Azure no cofre de chaves existente.
Importante
A configuração do modelo de permissão do RBAC do Azure invalida todas as permissões de políticas de acesso. Ela pode causar interrupções quando funções equivalentes do Azure não são atribuídas.
Atribuir função
Observação
Recomenda-se usar o ID exclusivo da função em vez do nome da função nos scripts. Assim, 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 conhecer todos os detalhes, confira Atribuir funções do Azure usando a CLI do Azure.
Atribuição de função no escopo 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 conhecer todos os detalhes, confira Atribuir funções do Azure usando a CLI do Azure.
A atribuição de função acima fornece a capacidade de listar no Key Vault os objetos dele.
Atribuição de função no 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 conhecer todos os detalhes, confira Atribuir funções do Azure usando a CLI do Azure.
Atribuição de função no escopo do segredo
Observação
O segredo do cofre de chaves, o certificado, as atribuições de função de escopo de chave só devem ser usadas para cenários limitados descritos aqui para atender às 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 conhecer todos os detalhes, confira Atribuir funções do Azure usando a CLI do Azure.
Testar e verificar
Observação
Os navegadores usam cache e a atualização de página é necessária após a remoção de atribuições de função. Aguarde vários minutos até que as atribuições de função sejam atualizadas
Valide a adição de um novo segredo sem a função de "Representante de segredos do Key Vault" no nível do Key Vault.
Acesse a guia Controle de acesso (IAM) do Key Vault e remova a atribuição de função de "Representante de segredos do Key Vault" para esse recurso.
Acesse o segredo criado anteriormente. Você verá todas as propriedades dele.
Criar um novo segredo (Segredos > + Gerar/Importar) deve mostrar esse erro:
Valide a edição do segredo sem a função "Representante de segredos do Key Vault" no nível do segredo.
Acesse a guia Controle de acesso (IAM) do segredo criado anteriormente e remova a atribuição da função de "Representante de segredos do Key Vault" para esse recurso.
Acesse o segredo criado anteriormente. Você verá todas as propriedades dele.
Valide os segredos lidos sem a função de leitor no nível do Key Vault.
Acesse a guia Controle de acesso (IAM) do grupo de recursos do Key Vault e remova a atribuição de função "Leitor do Key Vault".
Ao acessar a guia Segredos do Key Vault, esse erro deve ser exibido:
Criando funções personalizadas
comando az role definition create
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 saber mais sobre como criar funções personalizadas, consulte:
Funções personalizadas do Azure
Perguntas frequentes
Posso usar atribuições de escopo de objeto do RBAC do Azure para fornecer isolamento para equipes de aplicativos no Key Vault?
Não. O modelo de permissão RBAC do Azure permite que você atribua acesso a objetos individuais no Key Vault a usuário ou aplicativo, mas quaisquer operações administrativas como controle de acesso à rede, monitoramento e gerenciamento de objetos exigem permissões de nível de cofre, o que exporá informações seguras aos operadores entre equipes de aplicativos.