Segurança do Azure Key Vault
O Azure Key Vault protege chaves de criptografia, certificados (e as chaves privadas associadas aos certificados) e segredos (como cadeias de conexão e senhas) na nuvem. Quando você está armazenando dados confidenciais e comercialmente críticos, você deve tomar medidas para maximizar a segurança de seus cofres e dos dados armazenados neles.
Este artigo fornece uma visão geral dos recursos de segurança e das melhores práticas para o Azure Key Vault.
Observação
Para obter uma lista abrangente de recomendações de segurança do Azure Key Vault, veja a Linha de base de segurança para o Azure Key Vault.
Segurança de rede
Reduza a exposição de seus cofres especificando quais endereços IP têm acesso a eles. Os pontos de extremidade de serviço de rede virtual para o Azure Key Vault permitem restringir o acesso a uma rede virtual especificada. Os pontos de extremidade também permitem restringir o acesso a uma lista de intervalos de endereços IPv4 (protocolo de Internet versão 4). Qualquer usuário que conecte o cofre de chaves de fora dessas fontes terá acesso negado. Para obter informações completas, veja Pontos de extremidade de serviço de rede virtual para o Azure Key Vault
Depois que as regras de firewall estiverem ativas, os usuários podem apenas ler os dados do Key Vault quando as solicitações deles originarem-se de redes virtuais ou intervalos de endereços IPv4 permitidos. Isso também aplica-se ao acessar o Key Vault a partir do portal do Azure. Embora os usuários possam navegar em um cofre de chaves a partir do portal do Azure, eles talvez não consigam listar chaves, segredos ou certificados se o computador cliente deles não estiver na lista permitida. Para obter etapas de implementação, veja Configurar as redes virtuais e os firewalls do Azure Key Vault
O Serviço de Link Privado do Azure permite que você acesse o Azure Key Vault e os serviços de parceiros/clientes hospedados no Azure em um ponto de extremidade privado na sua rede virtual. Um Ponto de Extremidade Privado do Azure é um adaptador de rede que conecta você de maneira privada e segura a um serviço com tecnologia do Link Privado do Azure. O ponto de extremidade privado usa um endereço IP privado de sua VNet, colocando efetivamente em sua VNet. Todo o tráfego para o serviço pode ser roteado por meio do ponto de extremidade privado; assim, nenhum gateway, nenhum dispositivo NAT, nenhuma conexão ExpressRoute ou VPN e nenhum endereço IP público é necessário. O tráfego entre a rede virtual e o serviço percorre a rede de backbone da Microsoft, eliminando a exposição da Internet pública. Você pode se conectar a uma instância de um recurso do Azure, fornecendo o nível mais alto de granularidade no controle de acesso. Para obter as etapas de implementação, veja Integrar o Key Vault com o Link Privado do Azure
TLS e HTTPS
- O front-end (plano de dados ) do Key Vault é um servidor multilocatário. Isso significa que cofres de chaves de clientes diferentes podem compartilhar o mesmo endereço IP público. Para obter isolamento, cada solicitação HTTP é autenticada e autorizada independentemente de outras solicitações.
- O protocolo HTTPS permite que o cliente participe da negociação de TLS. Os clientes podem impor a versão do TLS e, sempre que um cliente fizer isso, toda a conexão usará a proteção de nível correspondente. O Key Vault dá suporte a versões de protocolo TLS 1.2 e 1.3.
Observação
Você pode monitorar a versão do TLS usada pelos clientes monitorando os logs do Key Vault com uma consulta Kusto de exemplo aqui.
Opções de autenticação do Key Vault
Quando você cria um cofre de chaves em uma assinatura do Azure, ele é associado automaticamente ao locatário do Microsoft Entra da assinatura. Todos os chamadores em ambos os planos devem se registrar neste locatário e se autenticar para acessar o cofre de chaves. Em ambos os casos, o aplicativo pode acessar o Key Vault de três maneiras:
- Somente aplicativo: o aplicativo representa uma entidade de serviço ou uma identidade gerenciada. Essa identidade é o cenário mais comum para aplicativos que periodicamente precisam acessar certificados, chaves ou segredos do cofre de chaves. Para que esse cenário funcione, o
objectId
do aplicativo deve ser especificado na política de acesso eapplicationId
não deve ser especificado ou deve sernull
. - Somente usuário: o usuário acessa o cofre de chaves de qualquer aplicativo registrado no locatário. Exemplos deste tipo de acesso incluem o Azure PowerShell e o portal do Azure. Para que esse cenário funcione, o
objectId
do usuário deve ser especificado na política de acesso eapplicationId
não deve ser especificado ou deve sernull
. - Application-Plus-User (às vezes chamado de identidade composta): o usuário é solicitado a acessar o cofre de chaves de um aplicativo específico e o aplicativo deve usar o fluxo de autenticação em nome de (OBO) para representar o usuário. Para que esse cenário funcione,
applicationId
eobjectId
devem ser especificados na política de acesso. OapplicationId
identifica o aplicativo necessário e oobjectId
identifica o usuário. Atualmente, essa opção não está disponível para RBAC do Azure do plano de dados.
Para todos os tipos de acesso, o aplicativo se autentica com o Microsoft Entra ID. O aplicativo usa qualquer método de autenticação compatível com base no tipo de aplicativo. O aplicativo adquire um token para um recurso no plano para conceder acesso. O recurso é um ponto de extremidade no plano de gerenciamento ou de dados, com base no ambiente do Azure. O aplicativo usa esse token e envia uma solicitação da API REST ao Key Vault. Para saber mais, examine o fluxo de autenticação completo.
O modelo de mecanismo único para autenticação em ambos os planos tem vários benefícios:
- As organizações podem controlar centralmente o acesso a todos os cofres de chaves em sua organização.
- Se um usuário parte, ele perde instantaneamente o acesso a todos os cofres de chaves na organização.
- As organizações podem personalizar a autenticação usando as opções no Microsoft Entra ID, como habilitar a autenticação multifator para obter maior segurança.
Para obter mais informações, confira Conceitos básicos sobre a autenticação do Key Vault.
Visão geral do modelo de acesso
O acesso a um cofre de chaves é controlado por meio de duas interfaces: o plano de gerenciamento e o plano de dados. É no plano de gerenciamento que você administra o cofre de chaves em si. As operações nesse plano incluem criar e excluir cofres de chaves, recuperar propriedades do Key Vault e atualizar as políticas de acesso. No plano de dados, você trabalha com os dados armazenados em um cofre de chaves. Você pode adicionar, excluir e alterar chaves, segredos e certificados.
Os dois planos usam o Microsoft Entra ID para autenticação. Para autorização, o plano de gerenciamento usa o Controle de acesso baseado em função do Azure (RBAC do Azure) e o plano de dados usa uma política de acesso do Key Vault e o RBAC do Azure para operações do 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. A autenticação com o Key Vault funciona em conjunto com o Microsoft Entra ID, que é responsável por autenticar a identidade de qualquer entidade de segurança.
Uma entidade de segurança é um objeto que representa um usuário, grupo, serviço ou aplicativo que está solicitando acesso aos recursos do Azure. O Azure atribui uma ID do objeto exclusiva a cada entidade de segurança.
- A entidade de segurança de usuário identifica um indivíduo que tem um perfil no Microsoft Entra ID.
- Uma entidade de segurança de grupo identifica um conjunto de usuários criado no Microsoft Entra ID. Todas as funções ou permissões atribuídas ao grupo são concedidas a todos os usuários dentro do grupo.
- Uma entidade de serviço é um tipo de entidade de segurança que identifica um aplicativo ou serviço, ou seja, um trecho de código, em vez de um usuário ou grupo. A ID do objeto de uma entidade de serviço é conhecida como a ID do cliente dessa entidade de serviço e atua como o nome de usuário dela. O segredo do cliente ou o certificado da entidade de serviço atua como sua senha. Muitos serviços do Azure dão suporte à atribuição de identidade gerenciada com o gerenciamento automatizado da ID do cliente e do certificado. A identidade gerenciada é a opção mais segura e recomendada para autenticação no Azure.
Para obter mais informações sobre a autenticação no Key Vault, confira Autenticação no Azure Key Vault.
Acesso condicional
O Key Vault fornece suporte para políticas de Acesso Condicional do Microsoft Entra. Usando políticas de acesso condicional, é possível aplicar os controles de acesso certos ao Key Vault quando necessário para manter a organização segura e ficar fora do caminho do usuário quando não é necessário.
Para obter mais informações, consulte Visão geral do acesso condicional
Acesso privilegiado
A autorização determina quais operações o chamador pode realizar. A autorização no Key Vault usa o RBAC (controle de acesso baseado em função) do Azure no plano de gerenciamento e as políticas de acesso do RBAC ou do Azure Key Vault do Azure no plano de dados.
O acesso aos cofres é feito através de duas interfaces ou planos. Os planos são o plano de gerenciamento e o plano de dados.
- O plano de gerenciamento é onde você gerencia o Key Vault em si é a interface usada para criar e excluir cofres. Também é possível ler as propriedades do cofre de chaves e gerenciar políticas de acesso.
- O plano de dados permite trabalhar com os dados armazenados em um cofre de chaves. Você pode adicionar, excluir e alterar chaves, segredos e certificados.
Os aplicativos acessam os planos por meio de pontos de extremidade. Os controles de acesso dos dois planos trabalham de forma independente. Para conceder acesso a um aplicativo para usar as chaves em um cofre de chaves, você pode conceder 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 gerenciamento com RBAC do Azure.
A tabela a seguir mostra os pontos de extremidade para os planos de gerenciamento e de dados.
Plano de acesso | Pontos de extremidade de acesso | Operações | Mecanismo de controle de acesso |
---|---|---|---|
Plano de gerenciamento | Global: management.azure.com:443 Microsoft Azure operado pela 21Vianet: management.chinacloudapi.cn:443 Azure Governo dos EUA: management.usgovcloudapi.net:443 Azure Alemanha: management.microsoftazure.de:443 |
Criar, ler, atualizar e excluir cofres de chaves Definir políticas de acesso do Key Vault Definir marcas do Key Vault |
RBAC do Azure |
Plano de dados | Global: <vault-name>.vault.azure.net:443 Microsoft Azure operado pela 21Vianet: <vault-name>.vault.azure.cn:443 Azure Governo dos EUA: <vault-name>.vault.usgovcloudapi.net:443 Azure Alemanha: <vault-name>.vault.microsoftazure.de:443 |
Chaves: criptografar, descriptografar, wrapKey, unwrapKey, assinar, verificar, obter, listar, criar, atualizar, importar, excluir, recuperar, backup, restaurar, limpar, girar (versão preliminar), getrotationpolicy (versão preliminar), setrotationpolicy (versão preliminar), versão (preliminar) Certificados: managecontacts, getissuers, listissuers, setissuers, deleteissuers, manageissuers, get, list, create, import, update, delete, recover, backup, restore, purge Segredos: get, list, set, delete, recover, backup, restore, purge |
Política de acesso do Key Vault ou de RBAC do Azure |
Gerenciamento de acesso administrativo ao Key Vault
Ao criar um cofre de chaves em um grupo de recursos, você gerencia o acesso usando o Microsoft Entra ID. Conceda a usuários ou grupos a capacidade de gerenciar os cofres de chaves em um grupo de recursos. Conceda o acesso em um nível de escopo específico atribuindo funções do Azure apropriadas. 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 que 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 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
Ao usar o modelo de permissão da Política de Acesso, um usuário com a função Contributor
, Key Vault Contributor
ou qualquer outra função que inclua permissões Microsoft.KeyVault/vaults/write
para o plano de gerenciamento do cofre de chaves pode conceder a si mesmo acesso ao plano de dados definindo uma política de acesso do Key Vault. Para impedir o acesso e o gerenciamento não autorizados de seus cofres de chaves, chaves, segredos e certificados, é essencial limitar o acesso da função Colaborador a cofres de chaves no modelo de permissão da Política de Acesso. Para atenuar esse risco, recomendamos que você use o modelo de permissão RBAC (Controle de Acesso Baseado em Função), que restringe o gerenciamento de permissões às funções “Proprietário” e “Administrador de Acesso do Usuário”, permitindo uma separação clara entre operações de segurança e funções administrativas. Confira o Guia para RBAC do Key Vault e O que é o RBAC do Azure? para obter mais informações.
Controle do acesso aos dados do Key Vault
Você pode controlar o acesso a chaves, certificados e segredos do Key Vault usando o RBAC do Azure ou políticas de acesso do Key Vault.
Para obter mais informações, consulte
Log e monitoramento
O registrar em log do Key Vault salva informações sobre as atividades executadas em seu cofre. Para obter detalhes completos, veja registrar em log do Key Vault.
Você pode integrar o Key Vault com a Grade de Eventos para ser notificado quando o status de uma chave, um certificado ou um segredo armazenado no cofre de chaves foi alterado. Para obter detalhes, Monitoramento do Key Vault com a Grade de Eventos do Azure
Também é importante monitorar a integridade do cofre de chaves para verificar se o serviço funciona conforme pretendido. Para saber como fazer isso, veja Monitoramento e alertas para o Azure Key Vault.
Backup e descoberta
A exclusão temporária e a proteção contra limpeza do Azure Key Vault permite recuperar cofres excluídos e objetos do cofre. Para obter detalhes completos, confira a Visão geral da exclusão temporária do Azure Key Vault.
Você deve também fazer backups regulares de seu cofre em atualizar/excluir/criar objetos em um Cofre.