Partilhar via


Guia do desenvolvedor do Azure Key Vault

O Azure Key Vault é um serviço na cloud que fornece armazenamento seguro e gestão de chaves criptográficas, segredos e certificados. Este guia ajuda os programadores a integrar o Key Vault nas suas aplicações.

Visão geral

O Azure Key Vault permite-lhe:

  • Armazenamento seguro: Proteja chaves, segredos e certificados sem escrever código de segurança personalizado.
  • Gestão simplificada de chaves: Centralizar as operações criptográficas e a gestão do ciclo de vida das chaves.
  • Chaves de propriedade do cliente: Permita que os clientes geram as suas próprias chaves enquanto se concentra nas funcionalidades principais da aplicação.
  • Gestão externa de chaves: Use chaves para assinatura e encriptação, mantendo-as externas à sua aplicação.

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

Cenários de desenvolvedor

Tarefas comuns para programadores com o Key Vault incluem:

  • Armazenar e recuperar segredos: Gerir strings de ligação, palavras-passe, chaves API e tokens SAS de forma segura. Para obter mais informações, consulte Sobre segredos.
  • Use chaves para encriptação e assinatura: Realize operações criptográficas sem expor material de chave à sua aplicação. Para obter mais informações, consulte Sobre chaves.
  • Gerir certificados: Automatizar o provisionamento, renovação e implementação de certificados para SSL/TLS. Para obter mais informações, consulte Sobre certificados.

Pré-visualizações públicas

Periodicamente lançamos pré-visualizações públicas de novas funcionalidades do Key Vault. Para experimentar funcionalidades de pré-visualização e fornecer feedback, contacte-nos em azurekeyvault@microsoft.com. Para informações sobre as últimas funcionalidades e atualizações, consulte O que há de novo no Azure Key Vault.

Criar e gerenciar cofres de chaves

O Key Vault utiliza um modelo de acesso em dois planos:

Use o papel pré-definido de Contribuidor do Key Vault para conceder acesso à gestão aos recursos do Key Vault. Para mais informações sobre autenticação e autorização, consulte Autenticação no Azure Key Vault.

Segurança de rede

Reduza a exposição da rede configurando endpoints privados, firewalls ou endpoints de serviço. Para orientações abrangentes sobre segurança de rede, incluindo opções de configuração do mais ao menos restritivo, consulte Proteger o seu Azure Key Vault: Segurança de Rede e Configurar as definições de rede do Azure Key Vault.

APIs e SDKs para gerenciamento de cofres de chaves

A tabela seguinte lista SDKs e quickstarts para gerir recursos do Key Vault (operações no plano de controlo). Para as versões mais recentes e instruções de instalação, consulte Bibliotecas do cliente.

Azure CLI (Interface de Linha de Comando da 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

Autenticar no Key Vault a partir de código

O Cofre da Chave usa a autenticação do Microsoft Entra, que requer uma entidade de segurança do Microsoft Entra para conceder 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.

Práticas recomendadas de autenticação

Para aplicações implementadas no Azure, utilize identidades geridas para eliminar a necessidade de armazenar credenciais no código. Para orientações detalhadas de autenticação e recomendações de princípios de segurança para diferentes ambientes (produção, desenvolvimento, local), consulte Autenticação no Azure Key Vault e Secure your Azure Key Vault.

Bibliotecas de cliente do Azure Identity

Os cenários de autenticação anteriores são suportados pela biblioteca de cliente Azure Identity e integrados com os SDKs do Azure Key Vault. Você pode usar a biblioteca de cliente do Azure Identity entre ambientes e plataformas sem alterar seu código. A biblioteca recupera automaticamente tokens de autenticação de utilizadores que estão conectados ao Azure através da CLI do Azure, Visual Studio, Visual Studio Code, e outros meios.

Para obter mais informações sobre a biblioteca de cliente do Azure Identity, consulte:

.NET Python Java JavaScript
SDK de Identidade do Azure .NET SDK do Azure Identity em Python SDK de Identidade do Azure Java SDK do Azure Identity em JavaScript

Observação

Recomendamos a biblioteca de Autenticação de Aplicativo para o Key Vault .NET SDK versão 3, mas agora ela foi preterida. Para migrar para o Key Vault .NET SDK versão 4, siga as orientações de migração de AppAuthentication para Azure.Identity.

Para obter tutoriais sobre como autenticar no Cofre da Chave em aplicativos, consulte:

Gerenciar chaves, certificados e segredos

Observação

SDKs para .NET, Python, Java, JavaScript, PowerShell e a CLI do Azure fazem parte do processo de liberação do recurso Key Vault por meio de visualização pública e disponibilidade geral com suporte à equipe de serviço do Key Vault. Outros clientes SDK para Key Vault estão disponíveis, mas são criados e suportados por equipas SDK individuais no GitHub e lançados de acordo com o cronograma das suas respetivas equipas. Para as versões mais recentes do SDK e pacotes de instalação, veja Bibliotecas do cliente.

O plano de dados controla o acesso a chaves, certificados e segredos. Pode usar Azure RBAC com Key Vault para controlo de acesso através do plano de dados.

APIs e SDKs para chaves

A tabela seguinte lista SDKs e quickstarts para trabalhar com chaves (operações no plano de dados). Para mais informações sobre chaves, veja Sobre chaves.

Azure CLI (Interface de Linha de Comando da 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 Azure Key Vault Keys for Go.

Observação

Este projeto não é suportado pela equipa do SDK do Azure, mas alinha-se com os clientes de criptografia noutros idiomas suportados.

Linguagem Referência
Go Referência

APIs e SDKs para certificados

A tabela seguinte lista SDKs e quickstarts para trabalhar com certificados (operações de plano de dados). Para mais informações sobre certificados, consulte Sobre certificados.

Azure CLI (Interface de Linha de Comando da 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/A 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 seguinte lista SDKs e introduções rápidas para trabalhar com segredos (operações da camada de dados). Para mais informações sobre segredos, veja Sobre segredos.

Azure CLI (Interface de Linha de Comando da 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 apenas segredos para seu aplicativo. Exemplos de segredos que devem ser armazenados no Cofre da Chave incluem:

  • Segredos do aplicativo cliente
  • Cadeias de ligação
  • Palavras-chave
  • Chaves de acesso partilhado
  • Chaves SSH

Qualquer informação relacionada a segredos, como nomes de usuário e IDs de aplicativos, pode ser armazenada como uma tag em um segredo. Para quaisquer outras definições de configuração confidenciais, você deve usar a Configuração do Aplicativo do Azure.

Para pacotes de instalação e código-fonte, consulte Bibliotecas de cliente.

Usar o Cofre da Chave em aplicativos

Para aproveitar os recursos mais recentes do Cofre da Chave, recomendamos que você use os SDKs do Cofre da Chave 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 práticas recomendadas e as diretrizes.

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

Para certificados, você pode usar:

Para segredos, você pode usar:

Exemplos de código

Para obter exemplos completos de como usar o Cofre da Chave com aplicativos, consulte Exemplos de código do Cofre de Chaves do Azure.

Orientação específica da tarefa

Os seguintes artigos e cenários fornecem orientações específicas para tarefas para trabalhar com o Azure Key Vault:

Integração com Key Vault

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

  • 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 no Cofre de Chaves do Azure para limitar ainda mais o acesso.
  • A Proteção de Informações do Azure permite que você gerencie sua própria chave de locatário. Por exemplo, em vez de a Microsoft gerir a sua chave de inquilino (a predefinição), pode gerir a sua própria chave de inquilino para cumprir regulamentos específicos que se aplicam à sua organização. Gerir a sua própria chave de cliente também é conhecido como traga a sua própria chave (BYOK).
  • O Azure Private Link permite que você acesse os serviços do Azure (por exemplo, Azure Key Vault, Armazenamento do Azure e Azure Cosmos DB) e serviços de cliente/parceiro hospedados pelo Azure em um ponto de extremidade privado em sua rede virtual.
  • A integração do Cofre da Chave com a Grade de Eventos do Azure permite que os usuários sejam notificados quando o status de um segredo armazenado no Cofre da Chave for alterado. Você pode distribuir novas versões de segredos para aplicações ou rodar segredos que estão prestes a expirar para evitar interrupções.
  • Proteja seus segredos do Azure DevOps contra acesso indesejado no Cofre da Chave.
  • Use segredos armazenados no Cofre da Chave para se conectar ao Armazenamento do Azure a partir do Azure Databricks.
  • Configure e execute o provedor do Azure Key Vault para o Secrets Store CSI driver no Kubernetes.

Recuperação após desastre e continuidade de negócio

O Key Vault oferece recuperação de desastres integrada com replicação regional automática. Para implementações em produção, ativa a proteção contra eliminação e purga suave, e implementa backups regulares. Para mais informações, consulte a disponibilidade e redundância do Azure Key Vault, a gestão de recuperação do Azure Key Vault e o backup do Azure Key Vault.

Desempenho e Escalabilidade   

Ao desenvolver aplicações que utilizam Key Vault, considere as seguintes melhores práticas de desempenho e escalabilidade:

  • Limites de serviço: Key Vault tem limites de serviço para transações por cofre por região. Ultrapassar estes limites resulta em restrição. Para mais informações, consulte limites de serviço do Azure Key Vault.
  • Orientações para controlo de limitação: Implementar lógica de tentativas repetidas com retardamento exponencial para gerir respostas de limitação. Para mais informações, consulte as orientações de controlo de fluxo do Azure Key Vault.
  • Cache: Cache segredos e certificados na sua aplicação para reduzir chamadas ao Key Vault e melhorar o desempenho.
  • Gestão de ligações: Reutilize ligações HTTP ao Key Vault sempre que possível para reduzir a latência e melhorar o desempenho.

Monitorização e registo

Permita o registo e monitorização para segurança, conformidade e resolução de problemas. Configure definições de diagnóstico, notificações da grelha de eventos e alertas para eventos críticos. Para orientações detalhadas, consulte Monitorizar o Azure Key Vault, Registos do Azure Key Vault, Monitorizar o Key Vault com o Azure Event Grid e Proteja o seu Azure Key Vault: Registos e Deteção de Ameaças.

Parâmetros comuns e padrões de pedido

Ao trabalhar com a API REST do Key Vault, compreender parâmetros comuns e padrões de pedido/resposta é útil:

  • Versões da API: O Key Vault utiliza APIs versionadas. Especifique sempre a versão da API nos seus pedidos.
  • Cabeçalhos comuns: Saiba mais sobre os cabeçalhos HTTP obrigatórios e opcionais para pedidos do Key Vault. Para mais informações, consulte parâmetros e cabeçalhos comuns do Azure Key Vault.
  • Pedidos de autenticação: Compreenda como os tokens de autenticação são adquiridos e utilizados. Para mais informações, consulte Autenticação, pedidos e respostas.
  • Códigos de erro: Familiarize-se com os códigos de erro comuns da API REST para lidar com falhas de forma elegante. Para mais informações, consulte os códigos de erro da API REST do Azure Key Vault.

Solução de problemas

Para ajuda a resolver problemas comuns:

Práticas recomendadas de segurança

Para orientações abrangentes de segurança, incluindo gestão de identidade e acessos, proteção de dados, conformidade, governação e estratégias de backup, consulte Secure your Azure Key Vault.

Recursos adicionais

Conceitos do Key Vault

Gestão e operações

Comunidade e apoio