在 JavaScript 中開始使用 Azure Key Vault 祕密
本文說明如何使用適用於 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 存取角色和本機環境之後,請建立包含 @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");