共用方式為


適用於 JavaScript 的 Azure Key Vault 管理用戶端庫 - 版本 4.7.0

Azure Key Vault 受控 HSM 是完全受控、高可用性、符合標準標準的雲端服務,可讓您使用 FIPS 140-2 層級 3 驗證的 HSM 來保護雲端應用程式的密碼編譯密鑰。 如果您想要深入瞭解 Azure Key Vault 受控 HSM,您可以檢閱:什麼是 Azure Key Vault 受控 HSM?

套件 @azure/keyvault-admin 支援系統管理 Key Vault 工作,例如完整備份/還原和密鑰層級角色型存取控制(RBAC)。

注意:系統管理連結庫僅適用於 Azure Key Vault 受控 HSM - 以 Key Vault 為目標的函式將會失敗。

注意:由於 Azure Key Vault 服務限制,無法在瀏覽器中使用此套件,請參閱本檔 以取得指引。

主要連結:

入門指南

安裝套件

使用 NPM安裝適用於 JavaScript 和 TypeScript 的 Azure Key Vault 系統管理用戶端連結庫:

npm install @azure/keyvault-admin

設定 TypeScript

TypeScript 用戶必須安裝 Node 類型定義:

npm install @types/node

您也需要在 tsconfig.json中啟用 compilerOptions.allowSyntheticDefaultImports。 請注意,如果您已啟用 compilerOptions.esModuleInterop,預設會啟用 allowSyntheticDefaultImports。 如需詳細資訊,請參閱 TypeScript 的編譯程式選項手冊

目前支援的環境

先決條件

驗證用戶端

若要與 Azure Key Vault 服務互動,您必須建立 KeyVaultAccessControlClient 類別或 KeyVaultBackupClient 類別的實例,以及 保存庫 url(您可能會在 Azure 入口網站中看到為「DNS 名稱」)和認證物件。 本檔中所示的範例會使用名為 DefaultAzureCredential的認證物件,適用於大部分案例,包括本機開發和生產環境。 此外,建議您在生產環境中使用 受控識別 進行驗證。

您可以在 Azure 身分識別檔中找到驗證方式及其對應認證類型的詳細資訊。

建立 KeyVaultAccessControlClient

使用 最適合您的驗證方法進行驗證之後,您可以依照下列方式建立 KeyVaultAccessControlClient,並在建構函式中取代受控 HSM URL:

import { DefaultAzureCredential } from "@azure/identity";
import { KeyVaultAccessControlClient } from "@azure/keyvault-admin";

const vaultUrl = `https://<MY KEY VAULT HERE>.vault.azure.net`;
const credentials = new DefaultAzureCredential();
const client = new KeyVaultAccessControlClient(vaultUrl, credentials);

建立 KeyVaultBackupClient

使用 最適合您的驗證方法進行驗證之後,您可以依照下列方式建立 KeyVaultBackupClient,並在建構函式中取代受控 HSM URL:

import { DefaultAzureCredential } from "@azure/identity";
import { KeyVaultBackupClient } from "@azure/keyvault-admin";

const vaultUrl = `https://<MY KEY VAULT HERE>.vault.azure.net`;
const credentials = new DefaultAzureCredential();
const client = new KeyVaultBackupClient(vaultUrl, credentials);

重要概念

KeyVaultRoleDefinition

角色定義是許可權的集合。 角色定義會定義可執行的作業,例如讀取、寫入和刪除。 它也可以定義排除在允許作業中的作業。

角色定義可以列出並指定為 KeyVaultRoleAssignment的一部分。

KeyVaultRoleAssignment 金鑰庫角色分配

角色指派是角色定義與服務主體的關聯。 您可以個別建立、列出、擷取和刪除它們。

KeyVaultAccessControl用戶端

KeyVaultAccessControlClient 提供作業,允許管理角色定義(KeyVaultRoleDefinition的實例)和角色指派(KeyVaultRoleAssignment實例)。

KeyVaultBackupClient

KeyVaultBackupClient 提供執行完整金鑰備份、完整金鑰還原和選擇性金鑰還原的作業。

長時間執行的作業

KeyVaultBackupClient 完成的作業可能需要 Azure 資源所需的時間,而用戶端層需要追蹤、串行化及繼續作業,並透過等候這些作業完成的程式生命週期。 這是透過封裝 @azure/core-lro的一般抽象概念來完成。

KeyVaultBackupClient 提供三種方法來執行長時間執行的作業:

  • beginBackup,開始在指定的記憶體 Blob 帳戶上產生 Azure Key Vault 受控 HSM 的備份。
  • beginRestore,使用指向先前儲存的 Azure Blob 記憶體備份資料夾的 SAS 令牌,開始還原所有密鑰數據。
  • beginSelectiveRestore,使用使用者提供的 SAS 令牌,開始還原指定密鑰的所有金鑰版本,指向先前儲存的 Azure Blob 記憶體備份資料夾。

開始長時間執行作業的方法會傳迴輪詢器,可讓您無限期等候作業完成。 如需詳細資訊,請於下列範例中取得。

範例

我們在 JavaScript 和 TypeScript 中都有範例,顯示此套件中的訪問控制和備份/還原功能。 請遵循對應的自述檔,以取得執行範例的詳細步驟。

故障排除

如需如何診斷各種失敗案例的詳細資訊,請參閱我們的 疑難解答指南

啟用記錄可能有助於找出有關失敗的實用資訊。 若要查看 HTTP 要求和回應的記錄,請將 AZURE_LOG_LEVEL 環境變數設定為 info。 或者,您可以在運行時間啟用記錄,方法是在 setLogLevel中呼叫 @azure/logger

import { setLogLevel } from "@azure/logger";

setLogLevel("info");

後續步驟

您可以透過下列連結找到更多程式碼範例:

貢獻

如果您想要參與此連結庫,請閱讀 參與指南,以深入瞭解如何建置和測試程序代碼。