你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
本文介绍如何使用适用于 JavaScript 的 Azure Key Vault 机密客户端库连接到 Azure Key Vault。 连接后,代码可以对保管库中的机密和机密属性进行操作。
API 参考 | 包 (npm) | 库源代码 | 示例 | 提供反馈
先决条件
- Azure 订阅 - 免费创建订阅。
- Azure Key Vault 实例。 查看 Key Vault 上的 访问策略 ,以包含代码中执行的特定任务所需的权限。
- Node.js 版本 LTS
设置你的项目
请打开命令提示符并切换到你的项目文件夹。 将
YOUR-DIRECTORY
更改为你的文件夹名称:cd YOUR-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/标识 包。 创建凭据(如 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 = '<your-vault-name>';
const url = `https://${vaultName}.vault.azure.net`;
const client = new SecretClient(url, credential);
// Get secret
const secret = await client.getSecret("MySecretName");