本文介绍如何使用适用于 JavaScript 的 Azure Key Vault 机密客户端库连接到Azure Key Vault。 连接后,可以针对保管库中的机密和机密属性运行你的代码。
API 参考 | 包 (npm) | Library 源代码 | 示例 | 反馈意见
先决条件
- Azure订阅 - 免费创建一个订阅。
- Azure Key Vault 实例。 查看Key Vault 的访问策略,以包含在代码中执行特定任务所需的权限。
- Node.js 版本 LTS
设置您的项目
打开命令行界面并进入你的项目文件夹。 将
<project-directory>更改为你的文件夹名称:cd <project-directory>如果目录中没有
package.json文件,请初始化项目以创建该文件:npm init -y安装适用于 JavaScript 的Azure Key Vault机密客户端库:
npm install @azure/keyvault-secrets如果要使用 Microsoft Entra ID 的无密码连接,请安装适用于 JavaScript 的标识客户端库Azure:
npm install @azure/identity
授权访问并连接到Key Vault
Microsoft Entra ID通过管理连接标识(托管标识)提供最安全的连接。 此无密码功能使你可以开发不需要存储在代码中的任何机密(密钥或连接字符串)的应用程序。
在通过编程方式对Azure进行身份验证以使用Azure Key Vault密钥之前,请确保设置您的环境。
生成应用程序
当你生成应用程序时,你的代码将与两种类型的资源交互:
-
KeyVaultSecret,其中包括:
- 机密名称(一个字符串值)。
- 机密值(机密的字符串)。 根据需要,将机密值序列化为字符串或从字符串中反序列化。
- 机密属性。
- SecretProperties,其中包括机密的元数据,例如其名称、版本、标记、过期数据以及其是否启用。
如果需要 KeyVaultSecret 的值,请使用返回 KeyVaultSecret 的方法:
其余方法返回 SecretProperties 对象或另一种形式的属性,例如:
创建 SecretClient 对象
SecretClient 对象是 SDK 中的顶级对象。 此客户端允许你操控机密。
设置Azure Key Vault访问角色和本地环境后,创建一个 JavaScript 文件,其中包含 @azure/identity 包。 创建凭据(例如 DefaultAzureCredential),以实现与保管库的无密码连接。 使用该凭据通过 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 = '<vault-name>';
const url = `https://${vaultName}.vault.azure.cn`;
const client = new SecretClient(url, credential);
// Get secret
const secret = await client.getSecret("MySecretName");