變更 AWS CloudHSM 用戶端金鑰耐久性設定 - AWS CloudHSM

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

變更 AWS CloudHSM 用戶端金鑰耐久性設定

金鑰同步處理大部分是自動程序,但您可以管理用戶端金鑰耐久性設定。在用戶端 5 SDK 和用戶端 3 SDK 中,用戶端金鑰耐久性設定的運作方式不同。

  • 在用戶端 SDK 5 中,我們介紹了金鑰可用量的概念,該概念要求您執行至少有兩個 的叢集HSMs。您可以使用用戶端金鑰耐久性設定來選擇退出兩項HSM要求。如需定額組的詳細資訊,請參閱 用戶端 SDK 5 概念

  • 在用戶端 SDK 3 中,您可以使用用戶端金鑰耐久性設定來指定HSMs金鑰建立必須成功才能將整體操作視為成功的數目。

在用戶端 SDK 5 中,金鑰同步是全自動程序。使用金鑰可用量時,新建立的金鑰必須存在於叢集HSMs中的兩個 上,您的應用程式才能使用金鑰。若要使用金鑰可用量,您的叢集必須至少有兩個 HSMs。

如果您的叢集組態不符合金鑰耐久性需求,則建立或使用權杖金鑰的任何嘗試都會失敗,並在日誌中顯示下列錯誤訊息:

Key <key handle> does not meet the availability requirements - The key must be available on at least 2 HSMs before being used.

您可以使用用戶端組態設定來選擇退出金鑰可用性定額組。例如HSM,您可能想要選擇退出,以使用單一 執行叢集。

用戶端 SDK 5 概念

金鑰可用性定額組

AWS CloudHSM 指定叢集HSMs中金鑰必須存在的 數目,您的應用程式才能使用金鑰。需要至少有兩個 的叢集HSMs。

管理用戶端金鑰耐久性設定

若要管理用戶端金鑰耐久性設定,您必須使用 Client 5 SDK 的設定工具。

PKCS #11 library
在 Linux 上停用用戶端 5 SDK 的用戶端金鑰耐久性
  • 使用設定工具來停用用戶端金鑰耐久性設定。

    $ sudo /opt/cloudhsm/bin/configure-pkcs11 --disable-key-availability-check
在 Windows 上停用用戶端 5 SDK 的用戶端金鑰耐久性
  • 使用設定工具來停用用戶端金鑰耐久性設定。

    "C:\Program Files\Amazon\CloudHSM\bin\configure-pkcs11.exe" --disable-key-availability-check
OpenSSL Dynamic Engine
在 Linux 上停用用戶端 5 SDK 的用戶端金鑰耐久性
  • 使用設定工具來停用用戶端金鑰耐久性設定。

    $ sudo /opt/cloudhsm/bin/configure-dyn --disable-key-availability-check
JCE provider
在 Linux 上停用用戶端 5 SDK 的用戶端金鑰耐久性
  • 使用設定工具來停用用戶端金鑰耐久性設定。

    $ sudo /opt/cloudhsm/bin/configure-jce --disable-key-availability-check
在 Windows 上停用用戶端 5 SDK 的用戶端金鑰耐久性
  • 使用設定工具來停用用戶端金鑰耐久性設定。

    "C:\Program Files\Amazon\CloudHSM\bin\configure-jce.exe" --disable-key-availability-check
CloudHSM CLI
在 Linux 上停用用戶端 5 SDK 的用戶端金鑰耐久性
  • 使用設定工具來停用用戶端金鑰耐久性設定。

    $ sudo /opt/cloudhsm/bin/configure-cli --disable-key-availability-check
在 Windows 上停用用戶端 5 SDK 的用戶端金鑰耐久性
  • 使用設定工具來停用用戶端金鑰耐久性設定。

    "C:\Program Files\Amazon\CloudHSM\bin\configure-cli.exe" --disable-key-availability-check

在用戶端 SDK 3 中,金鑰同步主要是自動程序,但您可以使用用戶端金鑰耐久性設定讓金鑰更持久。您可以指定HSMs金鑰建立必須成功才能將整體操作視為成功的數目。無論您選擇何種設定,用戶端同步一律會盡力將金鑰複製到叢集HSM中的每個 。您的設定會強制執行HSMs您指定數目的金鑰建立。如果您指定值,且系統無法將金鑰複寫到該數目的 HSMs,則系統會自動清除任何不需要的金鑰材料,您可以再試一次。

重要

如果您未設定用戶端金鑰耐久性設定 (或使用預設值 1),您的金鑰容易遺失。如果目前的 HSM 應該在伺服器端服務將該金鑰複製到另一個 之前失敗HSM,您會遺失金鑰材料。

若要最大限度地提高金鑰耐久性,請考慮HSMs為用戶端同步指定至少兩個。請記住,無論您HSMs指定多少工作負載,叢集上的工作負載都保持不變。用戶端同步一律會盡力將金鑰複製到叢集HSM中的每個 。

建議

  • 下限:HSMs每個叢集兩個

  • 上限 :少於叢集HSMs中 總數的

如果用戶端同步處理失敗,用戶端服務會清除任何可能已建立且現在不需要的多餘金鑰。這種清理是盡力而為的回應,可能並非不總是有效。如果清理失敗,您可能必須刪除不需要的金鑰材料。如需詳細資訊,請參閱金鑰同步處理失敗

設定用戶端金鑰耐久性的組態檔案

若要指定用戶端金鑰耐久性設定,您必須編輯 cloudhsm_client.cfg

編輯用戶端組態檔案
  1. 打開 cloudhsm_client.cfg.

    Linux

    /opt/cloudhsm/etc/cloudhsm_client.cfg

    Windows

    C:\ProgramData\Amazon\CloudHSM\data\cloudhsm_client.cfg
  2. 在 檔案的client節點中,新增create_object_minimum_nodes並指定 的最小數量值HSMs,該值 AWS CloudHSM 必須成功建立金鑰才能成功建立金鑰操作。

    "create_object_minimum_nodes" : 2
    注意

    key_mgmt_util (KMU) 命令列工具具有用戶端金鑰耐久性的額外設定。如需詳細資訊,請參閱 KMU 和用戶端同步

組態參考

以下是用戶端同步處理屬性,如 cloudhsm_client.cfg 的摘錄所示:

{ "client": { "create_object_minimum_nodes" : 2, ... }, ... }
create_object_minimum_nodes

指定將金鑰產生、金鑰匯入或金鑰展開操作視為成功HSMs所需的最小數量。如果設定,則預設值為 1。這表示對於每個金鑰建立操作,用戶端服務會嘗試在叢集HSM中的每個 上建立金鑰,但若要傳回成功,只需要在叢集HSM中的一個金鑰上建立單一金鑰

KMU 和用戶端同步

如果您使用 key_mgmt_util (KMU) 命令列工具建立金鑰,您可以使用選用的命令列參數 (-min_srv) 來限制HSMs複製金鑰的數目。如果您指定命令列參數組態檔案中的值, 會 AWS CloudHSM 認可兩個值LARGER的 。

如需詳細資訊,請參閱下列主題: