在 JavaScript 中開始使用 Azure Key Vault 祕密

本文說明如何使用適用於 JavaScript 的 Azure Key Vault 祕密用戶端程式庫連線至 Azure Key Vault。 連線之後,您的程式碼就可以針對保存庫中的秘密和秘密屬性運作。

API 參考 | 套件 (npm) | 程式庫原始程式碼 | 範例 | 提供意見反應

必要條件

設定您的專案

  1. 開啟命令提示字元,並變更至您的專案資料夾。 將 YOUR-DIRECTORY 變更為您的資料夾名稱:

    cd YOUR-DIRECTORY
    
  2. 如果您的目錄中還沒有 package.json 檔案,請初始化該專案以建立檔案:

    npm init -y
    
  3. 安裝適用於 JavaScript 的 Azure Key Vault 祕密用戶端程式庫:

    npm install @azure/keyvault-secrets
    
  4. 如果您想要透過 Microsoft Entra ID 使用無密碼連線,請安裝適用於 JavaScript 的 Azure 身分識別用戶端程式庫:

    npm install @azure/identity
    

授權存取並連線至 Key Vault

Microsoft Entra ID 藉由管理連線身分識別 (受控識別) 提供最安全的連線。 此無密碼功能可讓您開發不需要在程式碼中儲存任何秘密 (金鑰或連接字串) 的應用程式。

在以程式設計方式向 Azure 進行驗證以使用 Azure Key Vault 祕密之前,請確定您已設定環境。

Diagram of Azure SDK for JavaScript credential flow.

開發人員應該安裝 Azure CLI,並使用 az login 命令以互動方式登入 Azure,然後在程式碼中使用 DefaultAzureCredential。

az login

建置您的 應用程式

當您建置應用程式時,您的程式碼會與兩種類型的資源互動:

  • KeyVaultSecret,其中包括:
    • 祕密名稱,為字串值。
    • 秘密值,為秘密的字串。 您可以視需要將秘密值序列化至字串中,或從字串中還原序列化。
    • 祕密屬性。
  • SecretProperties,其中包含祕密的中繼資料,例如其名稱、版本、標籤、到期日,以及是否啟用。

如果您需要 KeyVaultSecret 的值,請使用可傳回 KeyVaultSecret 的方法:

其餘方法會傳回 SecretProperties 物件或其他形式的屬性,例如:

建立 SecretClient 物件

SecretClient 物件是 SDK 中的最上層物件。 此用戶端可讓您操作祕密。

設定 Azure Key Vault 存取角色和本機環境之後,請建立包含 @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");

另請參閱

下一步