適用於 JavaScript 的 Azure 金鑰保存庫 系統管理用戶端連結庫 - 4.5.0 版

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

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

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

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

重要連結:

開始使用

安裝套件

使用 NPM 安裝適用於 JavaScript 和 TypeScript 的 Azure 金鑰保存庫 管理用戶端連結庫:

npm install @azure/keyvault-admin

設定 TypeScript

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

npm install @types/node

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

目前支援的環境

必要條件

驗證用戶端

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

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

建立 KeyVaultAccessControlClient

使用 最適合您的驗證方法進行驗證之後,您可以在建構函式的 Managed HSM URL 中建立 KeyVaultAccessControlClient ,如下所示:

const { DefaultAzureCredential } = require("@azure/identity");
const { KeyVaultAccessControlClient } = require("@azure/keyvault-admin");

const credentials = new DefaultAzureCredential();

const client = new KeyVaultAccessControlClient(`<your Managed HSM URL>`, credentials);

建立 KeyVaultBackupClient

使用 最適合您的驗證方法進行驗證之後,您可以在建構函式的 Managed HSM URL 中建立 KeyVaultBackupClient ,如下所示:

const { DefaultAzureCredential } = require("@azure/identity");
const { KeyVaultBackupClient } = require("@azure/keyvault-admin");

const credentials = new DefaultAzureCredential();

const client = new KeyVaultBackupClient(`<your Managed HSM URL>`, credentials);

重要概念

KeyVaultRoleDefinition

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

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

KeyVaultRoleAssignment

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

KeyVaultAccessControlClient

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

KeyVaultBackupClient

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

長時間執行的作業

完成 KeyVaultBackupClient 的作業可能需要 Azure 資源所需的時間,而需要用戶端層在等候它們完成的程式生命週期中,持續追蹤、串行化和繼續作業。 這是透過套件 @azure/core-lro 的常見抽象概念來完成。

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

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

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

範例

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

疑難排解

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

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

const { setLogLevel } = require("@azure/logger");

setLogLevel("info");

後續步驟

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

參與

如果您希望向此程式庫投稿,請參閱投稿指南,深入瞭解如何組建與測試程式碼。

曝光數