你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

在 JavaScript 中开始使用 Azure 密钥保管库机密

本文介绍如何使用适用于 JavaScript 的 Azure 密钥保管库机密客户端库连接到 Azure 密钥保管库。 连接后,可以针对保管库中的机密和机密属性运行你的代码。

API 参考 | 包 (npm) | 库源代码 | 示例 | 提供反馈

先决条件

设置项目

  1. 请打开命令提示符并更改为你的项目文件夹。 将 YOUR-DIRECTORY 更改为你的文件夹名称:

    cd YOUR-DIRECTORY
    
  2. 如果目录中没有 package.json 文件,请初始化项目以创建该文件:

    npm init -y
    
  3. 安装适用于 JavaScript 的 Azure 密钥保管库机密客户端库:

    npm install @azure/keyvault-secrets
    
  4. 如果要通过 Microsoft Entra ID 使用无密码连接,请安装适用于 JavaScript 的 Azure 标识客户端库:

    npm install @azure/identity
    

授予访问权限并连接到 Key Vault

Microsoft Entra ID 通过管理连接标识(托管标识)提供最安全的连接。 此无密码功能使你可以开发不需要存储在代码中的任何机密(密钥或连接字符串)的应用程序。

在以编程方式向 Azure 进行身份验证以使用 Azure 密钥保管库机密之前,请确保设置了环境。

Diagram of Azure SDK for JavaScript credential flow.

在代码中使用 DefaultAzureCredential 之前,开发人员应安装 Azure CLI 并使用 az login 命令以交互方式登录 Azure。

az login

生成应用程序

当你生成应用程序时,你的代码将与两种类型的资源交互:

  • 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");

另请参阅

后续步骤