Introdução aos segredos do Azure Key Vault no JavaScript
Este artigo mostra como se conectar ao Azure Key Vault usando a biblioteca cliente de segredos do Azure Key Vault para JavaScript. Uma vez conectado, seu código pode operar em segredos e propriedades secretas no cofre.
Referência de API | Pacote (npm) | Código-fonte da biblioteca | Amostras | Enviar comentários
Pré-requisitos
- Uma assinatura do Azure – crie uma gratuitamente.
- Instância do Azure Key Vault. Examine as políticas de acesso em seu Key Vault para incluir as permissões necessárias para as tarefas específicas executadas no código.
- Node.js versão LTS
Configurar o seu projeto
Abra um prompt de comando e mude para a pasta do projeto. Altere
YOUR-DIRECTORY
para o nome da pasta:cd YOUR-DIRECTORY
Se você ainda não tiver um arquivo
package.json
no diretório, inicialize o projeto para criar o arquivo:npm init -y
Instale a biblioteca de clientes de segredo do Azure Key Vault para JavaScript:
npm install @azure/keyvault-secrets
Se você quiser usar conexões sem senha usando o Microsoft Entra ID, instale a biblioteca de clientes da Identidade do Azure para JavaScript:
npm install @azure/identity
Autorizar o acesso e se conectar ao Key Vault
O Microsoft Entra ID fornece a conexão mais segura gerenciando a identidade de conexão (identidade gerenciada). Essa funcionalidade sem senha permite que você desenvolva um aplicativo que não requer nenhum segredo (chaves ou cadeias de conexão) armazenado no código.
Antes de se autenticar programaticamente no Azure para usar os segredos do Azure Key Vault, configure seu ambiente.
Um desenvolvedor deve instalar a CLI do Azure e entrar interativamente com o comando az login para fazer logon no Azure antes de usar o DefaultAzureCredential no código.
az login
Crie seu aplicativo
Conforme você compila seu aplicativo, seu código interage com dois tipos de recursos:
- KeyVaultSecret, que inclui:
- Nome do segredo, um valor de cadeia de caracteres.
- Valor do segredo, que é uma cadeia de caracteres do segredo. Você fornece a serialização e desserialização do valor do segredo dentro e fora de uma cadeia de caracteres, conforme necessário.
- Propriedades do segredo.
- SecretProperties, que incluem os metadados do segredo, como seu nome, versão, marcas, dados de expiração e se está habilitado.
Se você precisar do valor de KeyVaultSecret, use métodos que retornam o KeyVaultSecret:
O restante dos métodos retorna o objeto SecretProperties ou outra forma das propriedades, como:
- Propriedades DeletedSecret
Criar um objeto SecretClient
O objeto SecretClient é o principal objeto no SDK. O cliente permite que você manipule os segredos.
Depois que as funções de acesso do Azure Key Vault e seu ambiente local forem configuradas, crie um arquivo JavaScript que inclua o pacote @azure/identity. Crie uma credencial, como DefaultAzureCredential, para implementar conexões sem senha com o seu cofre. Use essa credencial para autenticar com um objeto SecretClient.
// Include required dependencies
import { DefaultAzureCredential } from '@azure/identity';
import { SecretClient } from '@azure/keyvault-secrets';
// Authenticate to Azure
const credential = new DefaultAzureCredential();
// Create SecretClient
const vaultName = '<your-vault-name>';
const url = `https://${vaultName}.vault.azure.net`;
const client = new SecretClient(url, credential);
// Get secret
const secret = await client.getSecret("MySecretName");