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:
- Usar o Azure Key Vault com uma máquina virtual no .NET
- Usar o Azure Key Vault com uma máquina virtual no Python
- Usar uma identidade gerenciada para conectar o Key Vault com um aplicativo Web do Azure no .NET
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:
- A extensão de VM (máquina virtual) do Key Vault, que fornece atualização automática dos certificados armazenados no cofre de chaves do Azure. Para obter mais informações, consulte:
- Integração do Serviço de Aplicativo do Azure, que pode importar e atualizar automaticamente certificados do Key Vault. Para saber mais, confira Importar um certificado do Key Vault.
Para segredos, você pode usar:
- Segredos do Key Vault com as configurações de aplicativo do Serviço de Aplicativo. Para obter mais informações, confira Usar as referências do Key Vault para o Serviço de Aplicativo e o Azure Functions.
- Referências do Key Vault com a Configuração de Aplicativos do Azure para agilizar o acesso do seu aplicativo à configuração e aos segredos. Para obter mais informações, veja usar referências do Key Vault na Configuração de Aplicativos do Azure.
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:
- Para acessar um cofre de chaves, seu aplicativo cliente precisa ser capaz de acessar vários pontos de extremidade para diversas funcionalidades. Confira Acessando o Key Vault por trás de um firewall.
- Um aplicativo de nuvem em execução em uma VM do Azure precisa de um certificado. Como você obtém esse certificado para essa VM? Confira Extensão da máquina virtual do Key Vault para Windows e Extensão da máquina virtual do Key Vault para Linux.
- Para atribuir uma política de acesso usando a CLI do Azure, o PowerShell ou o portal do Azure, confira Atribuir uma política de acesso do Key Vault.
- Para obter diretrizes sobre o uso e o ciclo de vida de um cofre de chaves e vários objetos do cofre de chaves com a exclusão temporária habilitada, confira Gerenciamento de recuperação do Azure Key Vault com exclusão temporária e proteção contra limpeza.
- Quando precisa passar um valor seguro (como uma senha) como um parâmetro durante a implantação, você pode armazenar esse valor como um segredo em um cofre de chaves e fazer referência a ele em outros modelos do Resource Manager. Confira Usar o Azure Key Vault para passar valores de parâmetro seguros durante a implantação.
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:
- Um recurso que permite a recuperação de objetos excluídos, seja a exclusão acidental ou intencional, confira Visão geral da exclusão temporária do Azure Key Vault.
- Os conceitos básicos de limitação e para obter uma abordagem para seu aplicativo, confira Diretrizes de limitação do Azure Key Vault.
- As relações entre regiões e áreas de segurança, confira Limites geográficos e mundiais de segurança do Azure Key Vault.