本文說明如何使用適用於 JavaScript 的 Azure Key Vault 秘密用戶端程式庫來連線到 Azure Key Vault。 連線後,您的程式碼可以對保管庫中的秘密和秘密屬性進行操作。
API 參考 | 套件 (npm) | 程式庫原始程式碼 | 範例 | 提供意見反應
先決條件
- Azure 訂用帳戶 - 建立免費帳戶。
- Azure 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 金鑰保存庫存取角色和本機環境之後,請建立 JavaScript 檔案,其中包含 @azure/身分識別 套件。 建立認證,例如 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");