Compartilhar via


Guia do desenvolvedor do Azure Key Vault

O Azure Key Vault é um serviço de nuvem que fornece armazenamento seguro e gerenciamento de chaves criptográficas, segredos e certificados. Este guia ajuda os desenvolvedores a integrar o Key Vault em seus aplicativos.

Visão geral

O Azure Key Vault permite que você:

  • Armazenamento seguro: proteja chaves, segredos e certificados sem escrever código de segurança personalizado.
  • Gerenciamento simplificado de chaves: centralize operações criptográficas e gerenciamento de ciclo de vida de chave.
  • Chaves de propriedade do cliente: permitir que os clientes gerenciem suas próprias chaves enquanto você se concentra nos principais recursos do aplicativo.
  • Gerenciamento de chaves externas: use chaves para assinatura e criptografia, mantendo-as externas ao seu aplicativo.

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

Cenários de desenvolvedor

As tarefas comuns do desenvolvedor com o Key Vault incluem:

  • Armazenar e recuperar segredos: gerenciar cadeias de conexão, senhas, chaves de API e tokens SAS com segurança. Para obter mais informações, confira Sobre segredos.
  • Use chaves para criptografia e assinatura: execute operações criptográficas sem expor o material da chave ao seu aplicativo. Para obter mais informações, confira Sobre chaves.
  • Gerenciar certificados: automatizar o provisionamento, a renovação e a implantação de certificados para SSL/TLS. Para obter mais informações, confira Sobre certificados.

Visualizações públicas

Lançamos periodicamente as visualizações públicas dos novos recursos do Key Vault. Para experimentar recursos de visualização e fornecer comentários, entre em contato conosco em azurekeyvault@microsoft.com. Para obter informações sobre os recursos e atualizações mais recentes, confira as novidades no Azure Key Vault.

Criar e gerenciar cofres de chaves

O Key Vault usa um modelo de acesso de dois planos:

Use a função de Colaborador predefinida do Key Vault para conceder acesso de gerenciamento aos recursos do Key Vault. Para obter mais informações sobre autenticação e autorização, consulte Autenticação no Azure Key Vault.

Segurança de rede

Reduza a exposição à rede configurando endpoints privados, firewalls ou endpoints de serviço. Para obter diretrizes abrangentes de segurança de rede, incluindo opções de configuração da maioria para as menos restritivas, consulte Proteger seu Azure Key Vault: Segurança de Rede e definir as configurações de rede do Azure Key Vault.

APIs e SDKs para gerenciamento do cofre de chaves

A tabela a seguir lista SDKs e instruções iniciais para gerenciar recursos do Key Vault (operações do plano de controle). Para obter as versões mais recentes e as instruções de instalação, consulte as bibliotecas de cliente.

CLI do Azure PowerShell API REST Resource Manager .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

Fazer a autenticação no Key Vault em 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 um desses tipos.

Melhores práticas da autenticação

Para aplicativos implantados no Azure, use identidades gerenciadas para eliminar a necessidade de armazenar credenciais no código. Para obter diretrizes de autenticação detalhadas e recomendações de entidade de segurança para ambientes diferentes (produção, desenvolvimento, local), consulte Autenticação no Azure Key Vault e Proteja seu Azure Key Vault.

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 Azure por meio da CLI do Azure, do Visual Studio, do Visual Studio Code e outros meios.

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

.NET Python Java JavaScript
SDK da Identidade do Azure para .NET SDK de Identidade do Azure Python SDK da Identidade do Azure para Java SDK da Identidade do Azure para 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. Para versões mais recentes do SDK e pacotes de instalação, consulte bibliotecas de cliente.

O plano de dados controla o acesso a chaves, certificados e segredos. Você pode usar o RBAC do Azure com o Key Vault para controle de acesso por meio do plano de dados.

APIs e SDKs para chaves

A tabela a seguir lista SDKs e inícios rápidos para trabalhar com chaves (operações de plano de dados). Para obter mais informações sobre chaves, consulte Sobre chaves.

CLI do Azure PowerShell API REST Resource Manager .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.

Linguagem Referência
Go Referência

APIs e SDKs para certificados

A tabela a seguir lista SDKs e guias de início rápido para trabalhar com certificados (operações no plano de dados). Para obter mais informações sobre certificados, consulte Sobre certificados.

CLI do Azure PowerShell API REST Resource Manager .NET Python Java JavaScript
Referência
Início rápido
Referência
Início rápido
Referência Não aplicável 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

A tabela a seguir lista SDKs e inícios rápidos para trabalhar com segredos (operações de plano de dados). Para obter mais informações sobre segredos, consulte Sobre segredos.

CLI do Azure PowerShell API REST Resource Manager .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 etiqueta em um segredo. Para outras definições de configuração confidenciais, use a Configuração de Aplicativos do Azure.

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

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.

Guia específico para a 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 própria chave de locatário também é chamado de Bring Your Own Key (BYOK).
  • 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 renovar 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 a partir do Azure Databricks.
  • Configure e execute o provedor do Azure Key Vault para o driver do CSI do Repositório de Segredos no Kubernetes.

Recuperação de desastre e continuidade dos negócios

O Key Vault fornece recuperação de desastre interna com replicação regional automática. Para implantações de produção, habilite a exclusão suave e a proteção contra expurgo, e realize backups regulares. Para obter mais informações, consulte disponibilidade e redundância do Azure Key Vault, gerenciamento de recuperação do Azure Key Vault e backup do Azure Key Vault.

Desempenho e escala

Ao desenvolver aplicativos que usam o Key Vault, considere as seguintes práticas recomendadas de desempenho e escalabilidade:

  • Limites de serviço: o Key Vault tem limites de serviço para transações por cofre por região. Exceder esses limites leva a uma restrição. Para obter mais informações, consulte os limites de serviço do Azure Key Vault.
  • Diretrizes de limitação: implemente a lógica de repetição com retirada exponencial para lidar com respostas de limitação. Para obter mais informações, consulte Diretrizes de limitação do Azure Key Vault.
  • Armazenamento em Cache: Armazene em cache os segredos e certificados em seu aplicativo para reduzir as chamadas ao Key Vault e melhorar o desempenho.
  • Gerenciamento de conexões: reutilize conexões HTTP para o Key Vault quando possível para reduzir a latência e melhorar o desempenho.

Monitoramento e registro em log

Habilite o registro em log e o monitoramento para segurança, conformidade e solução de problemas. Defina configurações de diagnóstico, notificações da Grade de Eventos e alertas para eventos críticos. Para obter diretrizes detalhadas, consulte Monitorar o Azure Key Vault, o log do Azure Key Vault, monitorar o Key Vault com a Grade de Eventos do Azure e proteger o Azure Key Vault: Registro em log e detecção de ameaças.

Parâmetros comuns e padrões de solicitação

Ao trabalhar com a API REST do Key Vault, entender parâmetros comuns e padrões de solicitação/resposta é útil:

Resolução de problemas

Para obter ajuda para resolver problemas comuns:

Melhores práticas de segurança

Para obter diretrizes de segurança abrangentes, incluindo gerenciamento de identidade e acesso, proteção de dados, conformidade, governança e estratégias de backup, consulte Proteger seu Azure Key Vault.

Recursos adicionais

Conceitos do Key Vault

Gerenciamento e operações

Comunidade e suporte