Guia do desenvolvedor do Azure Key Vault

O Azure Key Vault permite acessar com segurança informações confidenciais em seus aplicativos:

  • Chaves, segredos e certificados são protegidos sem que você precise escrever código, e você pode usá-los facilmente em seus aplicativos.
  • Você permite que os clientes tenham e gerenciem suas próprias chaves, segredos e certificados para que você possa se concentrar em fornecer os principais recursos de software. Dessa forma, os aplicativos não serão responsáveis, ou potencialmente responsáveis, pelos certificados, pelos segredos e pelas chaves de locatário de seus clientes.
  • Seu aplicativo pode usar chaves para assinatura e criptografia, mas ainda manter o gerenciamento de chaves de maneira externa. Para obter mais informações, confira Sobre chaves.
  • Você pode gerenciar credenciais como senhas, chaves de acesso e tokens SAS armazenando-as no Key Vault como segredos. Para obter mais informações, confira Sobre segredos.
  • Gerenciar certificados. Para obter mais informações, confira Sobre certificados.

Para obter mais informações gerais sobre o Azure Key Vault, confira Sobre o Azure Key Vault.

Visualizações públicas

Periodicamente, lançamos uma visualização pública de um novo recurso do Key Vault. Experimente a versão prévia do recurso pública e diga-nos o que você acha via azurekeyvault@microsoft.com, nosso endereço de email para comentários.

Criar e gerenciar cofres de chaves

Assim como ocorre com outros serviços do Azure, o Key Vault é gerenciado por meio do Azure Resource Manager. O Azure Resource Manager é p serviço de implantação e gerenciamento do Azure. Use-o para criar, atualizar e excluir recursos em sua conta do Azure.

O RBAC (controle de acesso baseado em função) do Azure controla o acesso à camada de gerenciamento, também conhecida como plano de gerenciamento. Use o plano de gerenciamento no Key Vault para criar e gerenciar cofres de chaves e os atributos deles, incluindo políticas de acesso. Use o plano de dados para gerenciar chaves, certificados e segredos.

Você pode usar a função predefinida de Colaborador do Key Vault para conceder acesso de gerenciamento ao Key Vault.

APIs e SDKs para gerenciamento do cofre de chaves

CLI do Azure PowerShell API REST Gerenciador de Recursos .NET Python Java JavaScript
Referência
Início rápido
Referência
Início rápido
Referência Referência
Início rápido
Referência Referência Referência Referência

Para saber mais sobre pacotes de instalação e código-fonte, confira Bibliotecas de cliente.

Autenticar-se no Key Vault no código

O Key Vault usa a autenticação do Microsoft Entra, que exige que uma entidade de segurança do Microsoft Entra conceda acesso. Uma entidade de segurança do Microsoft Entra pode ser um usuário, uma entidade de serviço de aplicativo, uma identidade gerenciada para recursos do Azure ou um grupo de qualquer um desses tipos.

Melhores práticas da autenticação

Recomendamos o uso de uma identidade gerenciada para aplicativos implantados no Azure. Se você usa serviços do Azure que não dão suporte a identidades gerenciadas ou se os aplicativos estão implantados localmente, uma entidade de serviço com um certificado é uma alternativa possível. Nesse cenário, é necessário armazenar o certificado no Key Vault e alterá-lo com frequência.

Use uma entidade de serviço com um segredo para ambientes de desenvolvimento e teste. Use uma entidade de usuário para desenvolvimento local e para o Azure Cloud Shell.

Recomendamos estas entidades de segurança em cada ambiente:

  • Ambiente de produção: identidade gerenciada ou entidade de serviço com um certificado.
  • Ambientes de teste e desenvolvimento: identidade gerenciada, entidade de serviço com certificado ou entidade de serviço com um segredo.
  • Desenvolvimento local: entidade de usuário ou entidade de serviço com um segredo.

bibliotecas de clientes do Azure Identity

Os cenários de autenticação anteriores têm suporte da Biblioteca de clientes de identidade do Azure e são integrados com SDKs do Key Vault. Você pode usar a biblioteca de clientes de identidade do Azure em diferentes ambientes e plataformas sem alterar seu código. A biblioteca recupera automaticamente os tokens de autenticação dos usuários que estão conectados ao usuário do Azure por meio da CLI do Azure, do Visual Studio e do Visual Studio Code, entre outros.

Para saber mais sobre a biblioteca de clientes de identidade do Azure, confira:

.NET Python Java JavaScript
Azure Identity SDK .NET Azure Identity SDK Python Azure Identity SDK Java Azure Identity SDK JavaScript

Observação

Recomendamos a Biblioteca de autenticação de aplicativos para o SDK .NET do Key Vault versão 3, mas ela foi preterida. Para migrar para o SDK do .NET do Key Vault versão 4, siga as Diretrizes de migração de AppAuthentication para Azure.Identity.

Para obter tutoriais sobre como se autenticar no Key Vault em aplicativos, consulte:

Gerenciar chaves, certificados e segredos

Observação

Os SDKs para .NET, Python, Java, JavaScript, PowerShell e CLI do Azure fazem parte do processo de lançamento de recursos do Key Vault por meio da visualização pública e disponibilidade geral com suporte da equipe de serviço do Key Vault. Outros clientes do SDK para Key Vault estão disponíveis, mas são criados e suportados por equipes individuais do SDK no GitHub e lançados no cronograma das equipes.

O plano de dados controla o acesso a chaves, certificados e segredos. Você pode usar políticas de acesso do cofre local ou o RBAC do Azure para ter controle de acesso por meio do plano de dados.

APIs e SDKs para chaves

CLI do Azure PowerShell API REST Gerenciador de Recursos .NET Python Java JavaScript
Referência
Início rápido
Referência
Início rápido
Referência Referência
Início rápido
Referência
Início rápido
Referência
Início rápido
Referência
Início rápido
Referência
Início rápido

Outras bibliotecas

Cliente de criptografia para Key Vault e HSM gerenciado

Este módulo fornece um cliente de criptografia para o módulo de cliente de Chaves do Azure Key Vault para Go.

Observação

Este projeto não tem suporte da equipe do SDK do Azure, mas se alinha com os clientes de criptografia em outras linguagens com suporte.

Idioma Referência
Go Referência

APIs e SDKs para certificados

CLI do Azure PowerShell API REST Gerenciador de Recursos .NET Python Java JavaScript
Referência
Início rápido
Referência
Início rápido
Referência N/D Referência
Início rápido
Referência
Início rápido
Referência
Início rápido
Referência
Início rápido

APIs e SDKs para segredos

CLI do Azure PowerShell API REST Gerenciador de Recursos .NET Python Java JavaScript
Referência
Início rápido
Referência
Início rápido
Referência Referência
Início rápido
Referência
Início rápido
Referência
Início rápido
Referência
Início rápido
Referência
Início rápido

Uso de segredos

Use o Azure Key Vault para armazenar somente segredos para o aplicativo. Exemplos de segredos que devem ser armazenados no Key Vault incluem:

  • Segredos de aplicativo cliente
  • Cadeias de conexão
  • Senhas
  • Chaves de acesso compartilhado
  • Chaves SSH

Informações relacionadas a segredos, como nomes de usuário e IDs de aplicativo, podem ser armazenadas como uma marca em um segredo. Para outras definições de configuração confidenciais, use a Configuração de Aplicativos do Azure.

Referências

Para saber mais sobre pacotes de instalação e código-fonte, confira Bibliotecas de cliente.

Para saber mais sobre a segurança do plano de dados para o Key Vault, confira Recursos de segurança do Azure Key Vault.

Usar o Key Vault em aplicativos

Para aproveitar os recursos mais recentes do Key Vault, é recomendável usar os SDKs do Key Vault disponíveis para usar segredos, certificados e chaves em seu aplicativo. Os SDKs do Key Vault e a API REST são atualizados à medida que novos recursos são lançados para o produto e seguem as melhores práticas e diretrizes.

Para cenários básicos, há outras bibliotecas e soluções de integração para uso simplificado, com suporte fornecido por comunidades de código aberto ou parceiros da Microsoft.

Para certificados, você pode usar:

Para segredos, você pode usar:

Exemplos de código

Para obter exemplos completos de como usar o Key Vault com aplicativos, confira Exemplos de código do Azure Key Vault.

Diretriz específica da tarefa

Os artigos e cenários a seguir fornecem diretrizes específicas da tarefa para trabalhar com o Azure Key Vault:

Integração com o Key Vault

Os seguintes serviços e cenários usam o Key Vault ou integram-se a ele:

  • A criptografia em repouso permite a codificação (criptografia) de dados quando eles são persistentes. As chaves de criptografia de dados geralmente são criptografadas com uma chave de criptografia de chave em Azure Key Vault para limitar ainda mais o acesso.
  • A Proteção de Informações do Azure permite que você gerencie sua chave de locatário. Por exemplo, em vez de a Microsoft gerenciar sua chave de locatário (o padrão), você pode gerenciá-la para cumprir os regulamentos específicos que se aplicam à sua organização. Gerenciar sua chave de locatário também é conhecido como BYOK (Bring Your Own Key) .
  • O Link Privado do Azure permite que você acesse serviços do Azure (por exemplo, o Azure Key Vault, o Armazenamento do Azure e o Azure Cosmos DB) e serviços de parceiros/clientes hospedados no Azure em um ponto de extremidade privado em sua rede virtual.
  • A integração do Key Vault com a Grade de Eventos do Azure permite que os usuários sejam notificados quando o status de um segredo armazenado no Key Vault é alterado. Você pode distribuir novas versões de segredos para aplicativos ou girar segredos com expiração próxima para evitar interrupções.
  • Proteja seus segredos do Azure DevOps contra acesso indesejado no Key Vault.
  • Use segredos armazenados no Key Vault para se conectar ao Armazenamento do Azure do Azure Databricks.
  • Configure e execute o provedor do Azure Key Vault para o driver da Secrets Store CSI no Kubernetes.

Visões gerais e conceitos do Key Vault

Para saber mais sobre:

Social