你当前正在访问 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 密钥保管库机密之前,请确保设置了环境。

适用于 JavaScript 的 Azure SDK 凭据流的示意图。

在代码中使用 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");

另请参阅

后续步骤