Segurança do Azure Key VaultAzure Key Vault security

Você usa o Cofre de Chaves Azure para proteger chaves de encriptação e segredos como certificados, cadeias de conexão e senhas na nuvem.You use Azure Key Vault to protect encryption keys and secrets like certificates, connection strings, and passwords in the cloud. Ao armazenar dados críticos sensíveis e empresariais, é necessário tomar medidas para maximizar a segurança dos seus cofres e os dados armazenados nos mesmos.When storing sensitive and business critical data, you need to take steps to maximize the security of your vaults and the data stored in them.

Este artigo fornece uma visão geral das funcionalidades de segurança e das melhores práticas para o Azure Key Vault.This article provides an overview of security features and best practices for Azure Key Vault.

Nota

Para obter uma lista completa das recomendações de segurança do Azure Key Vault consulte a linha de base de segurança para o Cofre da Chave Azure.For a comprehensive list of Azure Key Vault security recommendations see the Security baseline for Azure Key Vault.

Segurança da redeNetwork security

Pode reduzir a exposição dos seus cofres especificando quais endereços IP têm acesso aos mesmos.You can reduce the exposure of your vaults by specifying which IP addresses have access to them. Os pontos finais de serviço de rede virtual para Azure Key Vault permitem-lhe restringir o acesso a uma rede virtual especificada.The virtual network service endpoints for Azure Key Vault allow you to restrict access to a specified virtual network. Os pontos finais também permitem restringir o acesso a uma lista de intervalos de endereços IPv4 (versão 4 do protocolo de internet).The endpoints also allow you to restrict access to a list of IPv4 (internet protocol version 4) address ranges. Qualquer utilizador que se conecte ao cofre de fora dessas fontes é negado acesso.Any user connecting to your key vault from outside those sources is denied access. Para mais detalhes, consulte os pontos finais do serviço de rede virtual para Azure Key VaultFor full details, see Virtual network service endpoints for Azure Key Vault

Após as regras de firewall estarem em vigor, os utilizadores só podem ler dados do Key Vault quando os seus pedidos são originários de redes virtuais permitidas ou de intervalos de endereços IPv4.After firewall rules are in effect, users can only read data from Key Vault when their requests originate from allowed virtual networks or IPv4 address ranges. Isto também se aplica ao acesso ao Cofre de Chaves a partir do portal Azure.This also applies to accessing Key Vault from the Azure portal. Embora os utilizadores possam navegar para um cofre chave a partir do portal Azure, podem não ser capazes de listar chaves, segredos ou certificados se a sua máquina cliente não estiver na lista permitida.Although users can browse to a key vault from the Azure portal, they might not be able to list keys, secrets, or certificates if their client machine is not in the allowed list. Isto também afeta o Key Vault Picker por outros serviços Azure.This also affects the Key Vault Picker by other Azure services. Os utilizadores podem ser capazes de ver a lista de cofres chave, mas não listar chaves, se as regras de firewall impedirem a sua máquina de clientes.Users might be able to see list of key vaults, but not list keys, if firewall rules prevent their client machine. Para etapas de implementação, consulte firewalls Configure Key Vault e redes virtuaisFor implementation steps, see Configure Azure Key Vault firewalls and virtual networks

O Azure Private Link Service permite-lhe aceder ao Azure Key Vault e aos serviços de cliente/parceiro hospedados no Azure durante um Private Endpoint na sua rede virtual.Azure Private Link Service enables you to access Azure Key Vault and Azure hosted customer/partner services over a Private Endpoint in your virtual network. Um Azure Private Endpoint é uma interface de rede que o liga de forma privada e segura a um serviço alimentado pela Azure Private Link.An Azure Private Endpoint is a network interface that connects you privately and securely to a service powered by Azure Private Link. O ponto final privado utiliza um endereço IP privado a partir do seu VNet, efetivamente trazendo o serviço para o seu VNet.The private endpoint uses a private IP address from your VNet, effectively bringing the service into your VNet. Todo o tráfego para o serviço pode ser encaminhado através do ponto final privado, pelo que não são necessários gateways, dispositivos NAT, ligações ExpressRoute ou VPN, ou endereços IP públicos.All traffic to the service can be routed through the private endpoint, so no gateways, NAT devices, ExpressRoute or VPN connections, or public IP addresses are needed. 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.Traffic between your virtual network and the service traverses over the Microsoft backbone network, eliminating exposure from the public Internet. Pode ligar-se a um recurso Azure, dando-lhe o mais alto nível de granularidade no controlo de acessos.You can connect to an instance of an Azure resource, giving you the highest level of granularity in access control. Para etapas de implementação, consulte Integrar o Cofre de Chaves com Ligação Privada AzureFor implementation steps, see Integrate Key Vault with Azure Private Link

TLS e HTTPSTLS and HTTPS

  • A extremidade frontal do Key Vault (plano de dados) é um servidor multi-inquilino.The Key Vault front end (data plane) is a multi-tenant server. Isto significa que os cofres-chave de diferentes clientes podem partilhar o mesmo endereço IP público.This means that key vaults from different customers can share the same public IP address. Para conseguir o isolamento, cada pedido HTTP é autenticado e autorizado independentemente de outros pedidos.In order to achieve isolation, each HTTP request is authenticated and authorized independently of other requests.
  • Pode identificar versões mais antigas do TLS para reportar vulnerabilidades, mas como o endereço IP público é partilhado, não é possível que a equipa de serviço de cofre-chave desative versões antigas do TLS para cofres-chave individuais a nível de transporte.You may identify older versions of TLS to report vulnerabilities but because the public IP address is shared, it is not possible for key vault service team to disable old versions of TLS for individual key vaults at transport level.
  • O protocolo HTTPS permite ao cliente participar na negociação da TLS.The HTTPS protocol allows the client to participate in TLS negotiation. Os clientes podem impor a versão mais recente do TLS, e sempre que um cliente o faça, toda a ligação utilizará a proteção de nível correspondente.Clients can enforce the most recent version of TLS, and whenever a client does so, the entire connection will use the corresponding level protection. O facto de o Key Vault ainda suportar versões TLS mais antigas não prejudicará a segurança das ligações utilizando versões TLS mais recentes.The fact that Key Vault still supports older TLS versions won’t impair the security of connections using newer TLS versions.
  • Apesar das vulnerabilidades conhecidas no protocolo TLS, não existe um ataque conhecido que permita a um agente malicioso extrair qualquer informação do seu cofre-chave quando o intruso iniciar uma ligação com uma versão TLS que tenha vulnerabilidades.Despite known vulnerabilities in TLS protocol, there is no known attack that would allow a malicious agent to extract any information from your key vault when the attacker initiates a connection with a TLS version that has vulnerabilities. O intruso ainda precisaria de autenticar e autorizar-se, e enquanto os clientes legítimos se ligarem sempre às versões recentes do TLS, não é possível que as credenciais possam ter sido vazadas de vulnerabilidades em versões antigas do TLS.The attacker would still need to authenticate and authorize itself, and as long as legitimate clients always connect with recent TLS versions, there is no way that credentials could have been leaked from vulnerabilities at old TLS versions.

Gestão de identidadesIdentity management

Quando cria um cofre chave numa subscrição do Azure, está automaticamente associado ao inquilino AD AD da subscrição.When you create a key vault in an Azure subscription, it's automatically associated with the Azure AD tenant of the subscription. Qualquer pessoa que tente gerir ou recuperar conteúdo de um cofre deve ser autenticada pela Azure AD.Anyone trying to manage or retrieve content from a vault must be authenticated by Azure AD. Em ambos os casos, as aplicações podem aceder ao Key Vault de três formas:In both cases, applications can access Key Vault in three ways:

  • Apenas para aplicação: A aplicação representa um principal serviço ou identidade gerida.Application-only: The application represents a service principal or managed identity. Esta identidade é o cenário mais comum para aplicações que periodicamente precisam de aceder a certificados, chaves ou segredos do cofre chave.This identity is the most common scenario for applications that periodically need to access certificates, keys, or secrets from the key vault. Para que este cenário funcione, objectId a aplicação deve ser especificada na política de acesso e applicationId a não deve ser especificada ou deve ser null .For this scenario to work, the objectId of the application must be specified in the access policy and the applicationId must not be specified or must be null.
  • Apenas para o utilizador: O utilizador acede ao cofre de chaves a partir de qualquer aplicação registada no arrendatário.User-only: The user accesses the key vault from any application registered in the tenant. Exemplos deste tipo de acesso incluem a Azure PowerShell e o portal Azure.Examples of this type of access include Azure PowerShell and the Azure portal. Para que este cenário funcione, objectId o do utilizador deve ser especificado na política de acesso e o não deve ser especificado ou deve applicationId ser null .For this scenario to work, the objectId of the user must be specified in the access policy and the applicationId must not be specified or must be null.
  • Aplicação-plus-user (por vezes designada como identidade composta): O utilizador é obrigado a aceder ao cofre de uma aplicação específica e a aplicação deve utilizar o fluxo de autenticação em nome do utilizador (OBO) para personificar o utilizador.Application-plus-user (sometimes referred as compound identity): The user is required to access the key vault from a specific application and the application must use the on-behalf-of authentication (OBO) flow to impersonate the user. Para que este cenário funcione, ambos applicationId devem objectId ser especificados na política de acesso.For this scenario to work, both applicationId and objectId must be specified in the access policy. Identifica applicationId a aplicação necessária e objectId identifica o utilizador.The applicationId identifies the required application and the objectId identifies the user. Atualmente, esta opção não está disponível para o plano de dados Azure RBAC.Currently, this option isn't available for data plane Azure RBAC.

Em todos os tipos de acesso, a aplicação autentica-se com Azure AD.In all types of access, the application authenticates with Azure AD. A aplicação utiliza qualquer método de autenticação suportado com base no tipo de aplicação.The application uses any supported authentication method based on the application type. A aplicação adquire um símbolo para um recurso no avião para conceder acesso.The application acquires a token for a resource in the plane to grant access. O recurso é um ponto final na gestão ou plano de dados, baseado no ambiente Azure.The resource is an endpoint in the management or data plane, based on the Azure environment. A aplicação utiliza o token e envia um pedido de API REST para o Key Vault.The application uses the token and sends a REST API request to Key Vault. Para saber mais, reveja todo o fluxo de autenticação.To learn more, review the whole authentication flow.

Para mais detalhes, consulte os fundamentos de autenticação do cofre chaveFor full details, see Key Vault Authentication Fundamentals

Acesso privilegiadoPrivileged access

A autorização determina quais as operações que o chamador pode efetuar.Authorization determines which operations the caller can perform. A autorização em Key Vault utiliza uma combinação de controlo de acesso baseado em funções Azure (Azure RBAC) e Azure Key Vault.Authorization in Key Vault uses a combination of Azure role-based access control (Azure RBAC) and Azure Key Vault access policies.

O acesso aos cofres ocorre através de duas interfaces ou aviões.Access to vaults takes place through two interfaces or planes. Estes aviões são o avião de gestão e o avião de dados.These planes are the management plane and the data plane.

  • O avião de gestão é onde gere o Key Vault em si e é a interface usada para criar e apagar cofres.The management plane is where you manage Key Vault itself and it is the interface used to create and delete vaults. Também pode ler as principais propriedades do cofre e gerir as políticas de acesso.You can also read key vault properties and manage access policies.
  • O plano de dados permite-lhe trabalhar com os dados armazenados num cofre chave.The data plane allows you to work with the data stored in a key vault. Pode adicionar, excluir e modificar chaves, segredos e certificados.You can add, delete, and modify keys, secrets, and certificates.

As aplicações acedem aos aviões através de pontos finais.Applications access the planes through endpoints. Os controlos de acesso dos dois aviões funcionam de forma independente.The access controls for the two planes work independently. Para conceder a uma aplicação acesso a chaves de utilização num cofre de chaves, você concede acesso a um plano de dados usando uma política de acesso ao Cofre chave ou Azure RBAC.To grant an application access to use keys in a key vault, you grant data plane access by using a Key Vault access policy or Azure RBAC. Para conceder a um utilizador o acesso às propriedades e etiquetas do Key Vault, mas não ter acesso a dados (chaves, segredos ou certificados), concede acesso de avião de gestão com o Azure RBAC.To grant a user read access to Key Vault properties and tags, but not access to data (keys, secrets, or certificates), you grant management plane access with Azure RBAC.

A tabela seguinte mostra os pontos finais para os aviões de gestão e dados.The following table shows the endpoints for the management and data planes.

Avião de acesso  Access plane Pontos finais de acessoAccess endpoints OperaçõesOperations Mecanismo   de controlo de acessoAccess control mechanism
Plano de gestãoManagement plane Global:Global:
management.azure.com:443management.azure.com:443

Azure China 21Vianet:Azure China 21Vianet:
management.chinacloudapi.cn:443management.chinacloudapi.cn:443

Governo Azure US:Azure US Government:
management.usgovcloudapi.net:443management.usgovcloudapi.net:443

Azure Alemanha:Azure Germany:
management.microsoftazure.de:443management.microsoftazure.de:443
Criar, ler, atualizar e apagar cofres-chaveCreate, read, update, and delete key vaults

Definir políticas de acesso ao cofre de chavesSet Key Vault access policies

Definir tags de cofre de chavesSet Key Vault tags
RBAC do AzureAzure RBAC
Plano de dadosData plane Global:Global:
<vault-name>.vault.azure.net:443<vault-name>.vault.azure.net:443

Azure China 21Vianet:Azure China 21Vianet:
<vault-name>.vault.azure.cn:443<vault-name>.vault.azure.cn:443

Governo Azure US:Azure US Government:
<vault-name>.vault.usgovcloudapi.net:443<vault-name>.vault.usgovcloudapi.net:443

Azure Alemanha:Azure Germany:
<vault-name>.vault.microsoftazure.de:443<vault-name>.vault.microsoftazure.de:443
Chaves: encriptar, desencriptar, embrulharKey, desembrulharKey, assinar, verificar, obter, listar, criar, atualizar, importar, excluir, recuperar, backup, restaurar, purgarKeys: encrypt, decrypt, wrapKey, unwrapKey, sign, verify, get, list, create, update, import, delete, recover, backup, restore, purge

Certificados: gerenciamentos, getissuers, listissuers, setissuers, deleteissuers, manageissuers, get, list, create, import, update, delete, recovery, backup, restore, purpurCertificates: managecontacts, getissuers, listissuers, setissuers, deleteissuers, manageissuers, get, list, create, import, update, delete, recover, backup, restore, purge

Segredos: obter, listar, definir, excluir,recuperar, apoiar, restaurar, purgarSecrets: get, list, set, delete,recover, backup, restore, purge
Política de acesso ao Cofre chave ou RBAC AzureKey Vault access policy or Azure RBAC

Gerir o acesso administrativo ao Cofre-ChaveManaging administrative access to Key Vault

Quando cria um cofre chave num grupo de recursos, gere o acesso utilizando o Azure AD.When you create a key vault in a resource group, you manage access by using Azure AD. Você concede aos utilizadores ou grupos a capacidade de gerir os cofres chave em um grupo de recursos.You grant users or groups the ability to manage the key vaults in a resource group. Pode conceder acesso a um nível de âmbito específico, atribuindo as funções Azure apropriadas.You can grant access at a specific scope level by assigning the appropriate Azure roles. Para conceder acesso a um utilizador para gerir cofres-chave, atribui uma função predefinida key vault Contributor ao utilizador num âmbito específico.To grant access to a user to manage key vaults, you assign a predefined key vault Contributor role to the user at a specific scope. Os seguintes níveis de âmbito podem ser atribuídos a uma função Azure:The following scopes levels can be assigned to an Azure role:

  • Subscrição: Uma função Azure atribuída ao nível de subscrição aplica-se a todos os grupos de recursos e recursos dentro dessa subscrição.Subscription: An Azure role assigned at the subscription level applies to all resource groups and resources within that subscription.
  • Grupo de recursos: Uma função Azure atribuída ao nível do grupo de recursos aplica-se a todos os recursos desse grupo de recursos.Resource group: An Azure role assigned at the resource group level applies to all resources in that resource group.
  • Recurso específico: Uma função Azure atribuída a um recurso específico aplica-se a esse recurso.Specific resource: An Azure role assigned for a specific resource applies to that resource. Neste caso, o recurso é um cofre-chave específico.In this case, the resource is a specific key vault.

Há vários papéis predefinidos.There are several predefined roles. Se um papel predefinido não se adequa às suas necessidades, pode definir o seu próprio papel.If a predefined role doesn't fit your needs, you can define your own role. Para mais informações, consulte Azure RBAC: Funções incorporadas.For more information, see Azure RBAC: Built-in roles.

Importante

Se um utilizador tiver Contributor permissões para um avião de gestão de cofre chave, o utilizador pode conceder-se acesso ao plano de dados definindo uma política de acesso ao Cofre de Chaves.If a user has Contributor permissions to a key vault management plane, the user can grant themselves access to the data plane by setting a Key Vault access policy. Deve controlar bem quem tem Contributor acesso aos seus cofres chave.You should tightly control who has Contributor role access to your key vaults. Certifique-se de que apenas pessoas autorizadas podem aceder e gerir os seus cofres chave, chaves, segredos e certificados.Ensure that only authorized persons can access and manage your key vaults, keys, secrets, and certificates.

Controlo do acesso aos dados do Cofre-ChaveControlling access to Key Vault data

As políticas de acesso ao Cofre chave concedem permissões separadamente a chaves, segredos ou certificados.Key Vault access policies grant permissions separately to keys, secrets, or certificate. Pode conceder acesso a um utilizador apenas às chaves e não aos segredos.You can grant a user access only to keys and not to secrets. As permissões de acesso para chaves, segredos e certificados são geridas ao nível do cofre.Access permissions for keys, secrets, and certificates are managed at the vault level.

Importante

As políticas de acesso ao Cofre não suportam permissões granulares ao nível de objetos como uma chave específica, segredo ou certificado.Key Vault access policies don't support granular, object-level permissions like a specific key, secret, or certificate. Quando um utilizador tem permissão para criar e eliminar chaves, pode efetuar essas operações em todas as teclas do cofre.When a user is granted permission to create and delete keys, they can perform those operations on all keys in that key vault.

Pode definir políticas de acesso para um cofre de chaves utilizar o portal Azure,o Azure CLI, a Azure PowerShellou as APIs de Gestão de Cofres de Chave.You can set access policies for a key vault use the Azure portal, the Azure CLI, Azure PowerShell, or the Key Vault Management REST APIs.

Pode restringir o acesso a um plano de dados utilizando pontos finais de serviço de rede virtual para a Azure Key Vault).You can restrict data plane access by using virtual network service endpoints for Azure Key Vault). Pode configurar firewalls e regras de rede virtuais para uma camada adicional de segurança.You can configure firewalls and virtual network rules for an additional layer of security.

Início de sessão e monitorizaçãoLogging and monitoring

O registo do Key Vault guarda informações sobre as atividades realizadas no seu cofre.Key Vault logging saves information about the activities performed on your vault. Para obter todos os detalhes, consulte a sessão de registo do Key Vault.For full details, see Key Vault logging.

Pode integrar o Key Vault com a Grade de Eventos para ser notificado quando o estado de uma chave, certificado ou segredo armazenado no cofre da chave tiver mudado.You can integrate Key Vault with Event Grid to be notified when the status of a key, certificate, or secret stored in key vault has changed. Para mais detalhes, consulte monitoring Key Vault com Azure Event GridFor details, see Monitoring Key Vault with Azure Event Grid

Também é importante monitorizar a saúde do seu cofre chave, para garantir que o seu serviço funciona como pretendido.It is also important to monitor the health of your key vault, to make sure your service operates as intended. Para aprender a fazê-lo, consulte monitorar e alertar para o Cofre da Chave Azure.To learn how to do so, see Monitoring and alerting for Azure Key Vault.

Cópia de segurança e recuperaçãoBackup and recovery

A proteção para eliminar e limpar o cofre da Azure Key permite-lhe recuperar cofres apagados e objetos de abóbada.Azure Key Vault soft-delete and purge protection allows you to recover deleted vaults and vault objects. Para obter todos os detalhes, consulte a visão geral do Azure Key Vault.For full details, see Azure Key Vault soft-delete overview.

Também deve fazer back ups regulares do seu cofre em atualização/exclusão/criação de objetos dentro de um Cofre.You should also take regular back ups of your vault on update/delete/create of objects within a Vault.

Passos SeguintesNext Steps