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