O que é o Cofre da Chave do Azure?What is Azure Key Vault?

Os aplicativos e serviços de nuvem usam chaves criptográficas e segredos para ajudar a manter as informações seguras.Cloud applications and services use cryptographic keys and secrets to help keep information secure. Azure Key Vault protege essas chaves e segredos.Azure Key Vault safeguards these keys and secrets. Ao usar Key Vault, você pode criptografar chaves de autenticação, chaves de conta de armazenamento, chaves de criptografia de dados, arquivos. pfx e senhas usando chaves que são protegidas por HSMs (módulos de segurança de hardware).When you use Key Vault, you can encrypt authentication keys, storage account keys, data encryption keys, .pfx files, and passwords by using keys that are protected by hardware security modules (HSMs).

Key Vault ajuda a resolver os seguintes problemas:Key Vault helps solve the following problems:

  • Gerenciamento de segredos: Armazene com segurança e controle rigidamente o acesso a tokens, senhas, certificados, chaves de API e outros segredos.Secret management: Securely store and tightly control access to tokens, passwords, certificates, API keys, and other secrets.
  • Gerenciamento de chaves: Crie e controle as chaves de criptografia que criptografam seus dados.Key management: Create and control encryption keys that encrypt your data.
  • Gerenciamento de certificados: Provisione, gerencie e implante certificados de SSL/TLS (segurança de camada de transporte) e de protocolo SSL pública e privada para uso com o Azure e seus recursos internos conectados.Certificate management: Provision, manage, and deploy public and private Secure Sockets Layer/Transport Layer Security (SSL/TLS) certificates for use with Azure and your internal connected resources.
  • Armazene os segredos apoiados por HSMs: Use os HSMs validados por software ou FIPS 140-2 nível 2 para ajudar a proteger segredos e chaves.Store secrets backed by HSMs: Use either software or FIPS 140-2 Level 2 validated HSMs to help protect secrets and keys.

Conceitos básicosBasic concepts

O Azure Key Vault é uma ferramenta para armazenar e acessar segredos de forma segura.Azure Key Vault is a tool for securely storing and accessing secrets. Um segredo é tudo o que você deseja controlar rigorosamente o acesso, como certificados, senhas ou chaves de API.A secret is anything that you want to tightly control access to, such as API keys, passwords, or certificates. Um cofre é um grupo lógico de segredos.A vault is logical group of secrets.

Aqui estão outros termos importantes:Here are other important terms:

  • Tenant: um locatário é a organização que possui e gerencia uma instância específica de serviços em nuvem da Microsoft.Tenant: A tenant is the organization that owns and manages a specific instance of Microsoft cloud services. Geralmente, é usado para se referir ao conjunto de serviços do Azure e do Office 365 para uma organização.It’s most often used to refer to the set of Azure and Office 365 services for an organization.

  • Proprietário do cofre: pode criar um cofre de chaves e obter acesso e controle totais sobre ele.Vault owner: A vault owner can create a key vault and gain full access and control over it. O proprietário do cofre também pode configurar a auditoria para registrar quem acessa os segredos e as chaves.The vault owner can also set up auditing to log who accesses secrets and keys. Os administradores podem controlar o ciclo de vida da chave.Administrators can control the key lifecycle. Eles podem reverter para uma nova versão da chave, fazer o backup e tarefas relacionadas.They can roll to a new version of the key, back it up, and do related tasks.

  • Consumidor do cofre: pode executar ações nos ativos dentro do cofre de chaves quando seu proprietário concede acesso ao cliente.Vault consumer: A vault consumer can perform actions on the assets inside the key vault when the vault owner grants the consumer access. As ações disponíveis dependem das permissões concedidas.The available actions depend on the permissions granted.

  • Recurso: Trata-se de um item gerenciável que está disponível por meio do Azure.Resource: A resource is a manageable item that's available through Azure. Exemplos comuns são máquina virtual, conta de armazenamento, aplicativo Web, banco de dados e rede virtual.Common examples are virtual machine, storage account, web app, database, and virtual network. Há muito mais.There are many more.

  • Grupo de recursos: Um grupo de recursos é um contêiner que armazena recursos relacionados para uma solução do Azure.Resource group: A resource group is a container that holds related resources for an Azure solution. O grupo de recursos pode incluir todos os recursos para a solução ou apenas os recursos que você deseja gerenciar como um grupo.The resource group can include all the resources for the solution, or only those resources that you want to manage as a group. Você decide como deseja alocar recursos para grupos de recursos com base no que faz mais sentido para sua organização.You decide how you want to allocate resources to resource groups, based on what makes the most sense for your organization.

  • Entidade de serviço: Uma entidade de serviço do Azure é uma identidade de segurança que os aplicativos, serviços e ferramentas de automação criados pelo usuário usam para acessar recursos específicos do Azure.Service principal: An Azure service principal is a security identity that user-created apps, services, and automation tools use to access specific Azure resources. Imagine-o como uma "identidade do usuário" (nome de usuários e senha ou certificado) com uma função específica e permissões rigidamente controladas.Think of it as a "user identity" (username and password or certificate) with a specific role, and tightly controlled permissions. Uma entidade de serviço só precisa fazer coisas específicas, ao contrário de uma identidade de usuário geral.A service principal should only need to do specific things, unlike a general user identity. Ele melhora a segurança se você conceder apenas o nível mínimo de permissão necessário para executar suas tarefas de gerenciamento.It improves security if you grant it only the minimum permission level that it needs to perform its management tasks.

  • Azure AD (Azure Active Directory): o Azure AD é o serviço do Active Directory de um locatário.Azure Active Directory (Azure AD): Azure AD is the Active Directory service for a tenant. Cada diretório tem um ou mais domínios.Each directory has one or more domains. Um diretório pode ter várias assinaturas associadas a ele, mas apenas um locatário.A directory can have many subscriptions associated with it, but only one tenant.

  • ID de Locatário do Azure: uma ID de locatário é uma maneira exclusiva para identificar uma instância do Azure AD dentro de uma assinatura do Azure.Azure tenant ID: A tenant ID is a unique way to identify an Azure AD instance within an Azure subscription.

  • Identidades gerenciadas: O Azure Key Vault fornece uma maneira de armazenar com segurança as credenciais e outras chaves e segredos, mas seu código precisa autenticar para o Key Vault para recuperá-los.Managed identities: Azure Key Vault provides a way to securely store credentials and other keys and secrets, but your code needs to authenticate to Key Vault to retrieve them. Usar a identidade gerenciada torna a solução desse problema mais simples, fornecendo aos serviços do Azure uma identidade gerenciada automaticamente no Microsoft Azure Active Directory.Using a managed identity makes solving this problem simpler by giving Azure services an automatically managed identity in Azure AD. Você pode usar essa identidade para autenticar o Key Vault ou qualquer serviço que dê suporte à autenticação do Azure AD sem ter as credenciais no código.You can use this identity to authenticate to Key Vault or any service that supports Azure AD authentication, without having any credentials in your code. Para obter mais informações, consulte a imagem a seguir e a visão geral de identidades gerenciadas para recursos do Azure.For more information, see the following image and the overview of managed identities for Azure resources.

    Diagrama de como as identidades gerenciadas dos recursos do Azure funcionam

AutenticaçãoAuthentication

Para realizar operações com Key Vault, primeiro você precisa se autenticar nele.To do any operations with Key Vault, you first need to authenticate to it. Há três maneiras de se autenticar no Key Vault:There are three ways to authenticate to Key Vault:

  • Identidades gerenciadas para recursos do Azure: Ao implantar um aplicativo em uma máquina virtual no Azure, você pode atribuir uma identidade à sua máquina virtual que tem acesso ao Key Vault.Managed identities for Azure resources: When you deploy an app on a virtual machine in Azure, you can assign an identity to your virtual machine that has access to Key Vault. Você também pode atribuir identidades a outros recursos do Azure.You can also assign identities to other Azure resources. O benefício dessa abordagem é que o aplicativo ou serviço não está gerenciando a rotação do primeiro segredo.The benefit of this approach is that the app or service isn't managing the rotation of the first secret. Azure gira automaticamente a identidade.Azure automatically rotates the identity. Recomendamos essa abordagem como uma prática recomendada.We recommend this approach as a best practice.
  • Entidade de serviço e certificado: Você pode usar uma entidade de serviço e um certificado associado que tenha acesso ao Key Vault.Service principal and certificate: You can use a service principal and an associated certificate that has access to Key Vault. Não recomendamos essa abordagem porque o proprietário do aplicativo ou o desenvolvedor deve girar o certificado.We don't recommend this approach because the application owner or developer must rotate the certificate.
  • Entidade de serviço e segredo: Embora você possa usar uma entidade de serviço e um segredo para autenticar para Key Vault, não é recomendável.Service principal and secret: Although you can use a service principal and a secret to authenticate to Key Vault, we don't recommend it. É difícil girar automaticamente o segredo de inicialização que é usado para autenticar para Key Vault.It's hard to automatically rotate the bootstrap secret that's used to authenticate to Key Vault.

Funções do Key VaultKey Vault roles

Use a tabela a seguir para entender melhor como o Cofre da Chave pode ajudar a atender às necessidades de desenvolvedores e administradores de segurança.Use the following table to better understand how Key Vault can help to meet the needs of developers and security administrators.

RoleRole Problema declaradoProblem statement Solucionado pelo Cofre da Chave do AzureSolved by Azure Key Vault
Desenvolvedor de um aplicativo do AzureDeveloper for an Azure application "Desejo escrever um aplicativo para o Azure que usa chaves para assinatura e criptografia.“I want to write an application for Azure that uses keys for signing and encryption. Mas quero que essas chaves sejam externas do meu aplicativo para que a solução seja adequada para um aplicativo distribuído geograficamente.But I want these keys to be external from my application so that the solution is suitable for an application that's geographically distributed.

Quero que essas chaves e segredos sejam protegidos, sem precisar escrever o código sozinho.I want these keys and secrets to be protected, without having to write the code myself. E também que essas chaves e segredos sejam fáceis de usar em meu aplicativo, com desempenho ideal.”I also want these keys and secrets to be easy for me to use from my applications, with optimal performance.”
√ As chaves são armazenadas em um cofre e invocadas pelo URI quando necessário.√ Keys are stored in a vault and invoked by URI when needed.

√ As chaves são protegidas pelo Azure, usando módulos de segurança de hardware, comprimentos da chave e algoritmos padrão da indústria.√ Keys are safeguarded by Azure, using industry-standard algorithms, key lengths, and hardware security modules.

√ As chaves são processadas em HSMs que residem nos mesmos datacenters do Azure que os aplicativos.√ Keys are processed in HSMs that reside in the same Azure datacenters as the applications. Esse método permite uma maior confiabilidade e uma latência reduzida em comparação às chaves que residem em um local separado, como no local.This method provides better reliability and reduced latency than keys that reside in a separate location, such as on-premises.
Desenvolvedor de SaaS (software como serviço)Developer for software as a service (SaaS) "Eu não quero a responsabilidade ou ser o possível culpado por problemas com as chaves e segredos de locatário dos meus clientes.“I don’t want the responsibility or potential liability for my customers’ tenant keys and secrets.

Quero que os clientes tenham e gerenciem suas chaves para que eu possa me concentrar em fazer o que faço melhor, que é fornecer os recursos centrais do software."I want customers to own and manage their keys so that I can concentrate on doing what I do best, which is providing the core software features.”
√ Os clientes podem importar suas próprias chaves para o Azure e gerenciá-las.√ Customers can import their own keys into Azure, and manage them. Quando um aplicativo SaaS precisa executar operações criptográficas usando as chaves dos clientes, Key Vault realiza essas operações em nome do aplicativo.When a SaaS application needs to perform cryptographic operations by using customers’ keys, Key Vault does these operations on behalf of the application. O aplicativo não vê as chaves dos clientes.The application does not see the customers’ keys.
Diretor-chefe de segurança (CSO)Chief security officer (CSO) "Quero saber que nossos aplicativos estão em conformidade com HSMs FIPS 140-2 Nível 2, para um gerenciamento de chaves seguro.“I want to know that our applications comply with FIPS 140-2 Level 2 HSMs for secure key management.

Quero garantir que minha organização controle o ciclo de vida da chave e possa monitorar seu uso.I want to make sure that my organization is in control of the key lifecycle and can monitor key usage.

E embora usemos vários recursos e serviços do Azure, quero gerenciar as chaves de um único local no Azure.And although we use multiple Azure services and resources, I want to manage the keys from a single location in Azure.”
√ Os HSMs têm certificação FIPS 140-2 Nível 2.√ HSMs are FIPS 140-2 Level 2 validated.

√ O Cofre de Chaves foi projetado para que a Microsoft não veja nem extraia suas chaves.√ Key Vault is designed so that Microsoft does not see or extract your keys.

√ Uso de chave é registrado praticamente em tempo real.√ Key usage is logged in near real time.

√ O cofre fornece uma única interface, independentemente de quantos cofres você tenha no Azure, quais sejam as regiões com suporte e quais aplicativos as usem.√ The vault provides a single interface, regardless of how many vaults you have in Azure, which regions they support, and which applications use them.

Qualquer pessoa com uma assinatura do Azure pode criar e usar cofres de chaves.Anybody with an Azure subscription can create and use key vaults. Embora Key Vault beneficia os desenvolvedores e administradores de segurança, eles podem ser implementados e gerenciados pelo administrador de uma organização que gerencia outros serviços do Azure.Although Key Vault benefits developers and security administrators, it can be implemented and managed by an organization’s administrator who manages other Azure services. Por exemplo, esse administrador pode entrar com uma assinatura do Azure, criar um cofre para a organização na qual armazenar chaves e, em seguida, ser responsável por tarefas operacionais como estas:For example, this administrator can sign in with an Azure subscription, create a vault for the organization in which to store keys, and then be responsible for operational tasks like these:

  • Criar ou importar uma chave ou segredoCreate or import a key or secret
  • Revogar ou excluir uma chave ou segredoRevoke or delete a key or secret
  • Autorizar usuários ou aplicativos a acessar o cofre da chave para que eles possam gerenciar ou usar suas chaves e segredosAuthorize users or applications to access the key vault, so they can then manage or use its keys and secrets
  • Configurar o uso de chaves (por exemplo, assinar ou criptografar)Configure key usage (for example, sign or encrypt)
  • Monitorar o uso de chavesMonitor key usage

Esse administrador então fornece aos desenvolvedores os URIs para chamar de seus aplicativos.This administrator then gives developers URIs to call from their applications. Esse administrador também fornece informações de log de uso de chave para o administrador de segurança.This administrator also gives key usage logging information to the security administrator.

Visão geral do funcionamento do Azure Key Vault

Os desenvolvedores também podem gerenciar as chaves diretamente, por meio de APIs.Developers can also manage the keys directly, by using APIs. Para saber mais, confira o guia do desenvolvedor do Cofre da Chave.For more information, see the Key Vault developer's guide.

Próximas etapasNext steps

Saiba como proteger seu cofre.Learn how to secure your vault.

O Cofre da Chave do Azure está disponível na maioria das regiões.Azure Key Vault is available in most regions. Para obter mais informações, consulte a Página de preços do Cofre da Chave.For more information, see the Key Vault pricing page.