對自訂金鑰存放區進行故障診斷 - AWS Key Management Service

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

對自訂金鑰存放區進行故障診斷

AWS CloudHSM 主要商店設計為可用且具備彈性。但是,您可能需要修復一些錯誤情況才能保持您的 AWS CloudHSM 關鍵存儲操作。

如何修復無法使用的KMS金鑰

關鍵狀態 AWS KMS keys 在一個 AWS CloudHSM 密鑰存儲通常是Enabled。像所有密KMS鑰一樣,當您禁用密鑰時,密KMS鑰狀態會更改 AWS CloudHSM 密鑰存儲或排程它們進行刪除。不過,與其他KMS金鑰不同,自訂KMS金鑰存放區中的金鑰也可以具有的金鑰狀態Unavailable

的金鑰狀態Unavailable表示KMS金鑰位於有意中連線的自訂金鑰存放區中,並嘗試重新連線 (如果有的話) 失敗。當KMS金鑰無法使用時,您可以檢視和管理KMS金鑰,但無法將其用於密碼編譯作業

若要尋找金鑰的金KMS鑰狀態,請在客戶管理的金鑰頁面上檢視金KMS鑰的 [狀態] 欄位。或者,使用DescribeKey操作並查看響應中的KeyState元素。如需詳細資訊,請參閱 檢視金鑰

已中斷連線的自訂KMS金鑰存放區中的金鑰狀態為UnavailablePendingDeletion。KMS排定從自訂金鑰存放區刪除的金鑰具有金Pending Deletion鑰狀態,即使自訂金鑰存放區中斷連線也是如此。這可讓您取消排程的金鑰刪除,而無需重新連接自訂金鑰存放區。

若要修正無法使用的KMS金鑰,請重新連線自訂金鑰存放區。重新連線自訂金鑰存放區之後,自訂金鑰存放區中KMS金鑰的金鑰狀態會自動還原到先前的狀態,例如EnabledDisabled。KMS擱置刪除的金鑰會保留在PendingDeletion狀態。但是,雖然問題仍然存在,但啟用和停用無法使用的KMS金鑰並不會變更其金鑰狀態。啟用或停用動作僅在金鑰可供使用時生效。

如需失敗的連接的協助,請參閱如何修正連線失敗

如何修復失敗的KMS密鑰

在中創建和使用KMS密鑰時出現問題 AWS CloudHSM 關鍵存儲可能是由您的問題引起的 AWS CloudHSM 金鑰存放區, 其關聯 AWS CloudHSM 集群,KMS密鑰或它的關鍵材料。

當 AWS CloudHSM 密鑰存儲與其斷開 AWS CloudHSM 群集,自定義密KMS鑰存儲中密鑰的密鑰狀態是Unavailable。在斷開連接的所有請求中創建KMS密鑰 AWS CloudHSM 密鑰存儲返回一個CustomKeyStoreInvalidStateException異常。加密、解密、重新加密或產生資料金鑰的所有請求會傳回 KMSInvalidStateException 例外狀況。若要修正此問題,請重新連線 AWS CloudHSM 金鑰存放區

但是,您嘗試使用KMS密鑰 AWS CloudHSM 密碼編譯作業的金鑰存放區可能會失敗,即使其金鑰狀態為Enabled且連線狀態為 AWS CloudHSM 密鑰存儲是Connected。這可能是因為以下任何情況所造成。

  • 金鑰的金鑰材料可能已從關聯的中刪除 KMS AWS CloudHSM 集群。若要進行調查,請尋找金鑰的金鑰材料的KMS金鑰 ID,如有必要,請嘗試復原金鑰材料

  • 所HSMs有內容都已從 AWS CloudHSM 與相關聯的叢集 AWS CloudHSM 金鑰存放區。若要使用KMS金鑰 AWS CloudHSM 密鑰存儲在加密操作中,其 AWS CloudHSM 叢集必須包含至少一個作用中的HSM。若要驗證中的編號和狀態 HSMs AWS CloudHSM 叢集,使用 AWS CloudHSM 控制台DescribeClusters操作。若要新增HSM至叢集,請使用 AWS CloudHSM 控制台或CreateHsm操作。

  • 所以此 AWS CloudHSM 與相關聯的叢集 AWS CloudHSM 金鑰存放區已刪除。若要修正此問題,請從與原始叢集相關的備份 (例如,原始叢集的備份,或用於建立原始叢集的備份) 建立叢集。然後在自訂金鑰存放區設定中編輯叢集 ID。如需說明,請參閱 如何復原已刪除金鑰的KMS金鑰材料

  • 所以此 AWS CloudHSM 與自訂金鑰存放區關聯的叢集沒有任何可用的 PKCS #11 工作階段。這通常發生在高爆量流量期間,此時需要額外的工作階段來服務流量。若要回應KMSInternalException有關 PKCS #11 工作階段的錯誤訊息,請退回並再次重試要求。

如何修正連線失敗

如果您嘗試連接 AWS CloudHSM 密鑰存儲到其 AWS CloudHSM 群集,但操作失敗,連接狀態 AWS CloudHSM 金鑰存放區變更為FAILED。若要尋找的連線狀態 AWS CloudHSM 金鑰存放區,使用 AWS KMS 控制台或DescribeCustomKeyStores操作。

或者,由於很容易偵測到叢集組態錯誤,一些連接嘗試會很快失敗。在這種情況下,連接狀態仍然是 DISCONNECTED。這些失敗會傳回錯誤訊息或 例外狀況來說明嘗試失敗的原因。檢閱例外狀況描述和叢集需求、修正問題、更新 AWS CloudHSM 密鑰存儲,如果必要的話,並嘗試再次連接。

當連接狀態為時FAILED,執行DescribeCustomKeyStores作業並查看回應中的ConnectionErrorCode元素。

注意

當一個連接狀態 AWS CloudHSM 密鑰存儲是FAILED,您必須斷開連接 AWS CloudHSM在嘗試重新連接之前的密鑰存儲。您無法連接 AWS CloudHSM 具有FAILED連接狀態的密鑰存儲區。

  • CLUSTER_NOT_FOUND表示 AWS KMS 找不到 AWS CloudHSM 具有指定叢集 ID 的叢集。這可能是因為提供了錯誤的叢集 ID 給API作業,或者叢集已刪除而未取代。若要修正此錯誤,請驗證叢集 ID,例如使用 AWS CloudHSM 控制台或DescribeClusters操作。如果已刪除叢集,請從原始叢集的最近備份建立叢集。然後,斷開 AWS CloudHSM 金鑰存放區編輯 AWS CloudHSM 金鑰存放區叢集 ID 設定,並重新連線 AWS CloudHSM 叢集的金鑰存放區

  • INSUFFICIENT_CLOUDHSM_HSMS表示相關聯 AWS CloudHSM 群集不包含任何HSMs. 若要連線,叢集必須至少有一個HSM。若要尋找叢集HSMs中的編號,請使用DescribeClusters作業。若要解決此錯誤,請至少新增一個HSM至叢集。如果您新增多個HSMs,最好在不同的可用區域中建立它們。

  • INSUFFICIENT_FREE_ADDRESSES_IN_SUBNET表示 AWS KMS 無法連接 AWS CloudHSM 密鑰存儲到其 AWS CloudHSM 叢集,因為至少有一個與叢集關聯的私有子網路沒有任何可用的 IP 位址。同時 AWS CloudHSM 金鑰存放區連線需要在每個關聯的私有子網路中使用一個可用的 IP 位址,但最好使用兩個位址。

    無法將 IP 位址 (CIDR區塊) 新增至現有的子網路。如果可能,請移動或刪除使用子網路中 IP 位址的其他資源,例如未使用的EC2執行個體或彈性網路介面。否則,您可以從最近的備份建立叢集 AWS CloudHSM 叢集與具有更多可用位址空間的新的或現有的私有子網路。然後,將新叢集與您的叢集相關聯 AWS CloudHSM 金鑰存放區, 中斷自訂金鑰存放區連線, 變更 AWS CloudHSM 密鑰存儲到新集群的 ID,然後嘗試再次連接。

    提示

    若要避免重設kmsuser密碼,請使用最新的備份 AWS CloudHSM 集群。

  • INTERNAL_ERROR表示 AWS KMS 由於內部錯誤,無法完成要求。重試 請求。對於ConnectCustomKeyStore請求,請中斷連接 AWS CloudHSM 重新嘗試連接之前的密鑰存儲。

  • INVALID_CREDENTIALS表示 AWS KMS 無法登錄到關聯 AWS CloudHSM 集群,因為它沒有正確的kmsuser帳戶密碼。如需此錯誤的協助,請參閱如何修正無效的 kmsuser 登入資料

  • NETWORK_ERRORS 通常指出暫時性的網路問題。斷開 AWS CloudHSM 密鑰存儲,等待幾分鐘,然後嘗試再次連接。

  • SUBNET_NOT_FOUND表示至少有一個子網路 AWS CloudHSM 已刪除叢集配置。If AWS KMS 找不到叢集配置中的所有子網路,嘗試連線 AWS CloudHSM 金鑰存放區 AWS CloudHSM 叢集失敗。

    若要修正此錯誤,請從最近的備份建立叢集 AWS CloudHSM 集群。(此程序會建立具有VPC和私有子網路的新叢集配置。) 請確認新叢集符合自訂金鑰存放區的需求,並記下新的叢集 ID。然後,將新叢集與您的叢集相關聯 AWS CloudHSM 金鑰存放區, 中斷自訂金鑰存放區連線, 變更 AWS CloudHSM 密鑰存儲到新集群的 ID,然後嘗試再次連接。

    提示

    若要避免重設kmsuser密碼,請使用最新的備份 AWS CloudHSM 集群。

  • USER_LOCKED_OUT表示kmsuser加密用戶(CU)帳戶已被鎖定在關聯 AWS CloudHSM 由於密碼嘗試失敗次數過多而造成群集。如需此錯誤的協助,請參閱如何修正無效的 kmsuser 登入資料

    若要修正此錯誤,請中斷連線 AWS CloudHSM 密鑰存儲並使用雲中的用戶更改密碼命令HSMCLI來更改kmsuser帳戶密碼。然後編輯自訂金鑰存放區的kmsuser 密碼設定,並嘗試重新連接。如需協助,請使用如何修正無效的 kmsuser 登入資料主題中描述的程序。

  • USER_LOGGED_IN表示 kmsuser CU 帳戶已登錄到關聯 AWS CloudHSM 集群。這可以防止 AWS KMS 從輪換kmsuser帳戶密碼並登錄到集群。若要修正這個錯誤,請將 kmsuser CU 登出叢集。如果您變更kmsuser密碼以登入叢集,您還必須更新的金鑰存放區密碼值 AWS CloudHSM 金鑰存放區。如需協助,請參閱 如何登出和重新連線

  • USER_NOT_FOUND表示 AWS KMS 在關聯的中找不到 kmsuser CU 帳戶 AWS CloudHSM 集群。若要修正此錯誤,請在叢集中建立 kmsuser CU 帳戶,然後更新 AWS CloudHSM 金鑰存放區。如需協助,請參閱 如何修正無效的 kmsuser 登入資料

如何回應密碼編譯操作失敗

在自訂金鑰存放區中使用KMS金鑰的密碼編譯作業可能會失敗,並顯示. KMSInvalidStateException 下列錯誤訊息可能會伴隨 KMSInvalidStateException

KMS無法與您的雲端HSM叢集通訊。這可能是暫時性的網路問題。如果您重複看到此錯誤,請確認您VPC的網路ACLs和安全性群組規則 AWS CloudHSM 群集是正確的。
  • 雖然這是 HTTPS 400 錯誤,但可能是暫時性的網路問題所導致。若要回應,請先重試請求。不過,如果繼續失敗,請檢查聯網元件的組態。此錯誤很可能是因為網路元件設定錯誤所造成,例如防火牆規則或封鎖傳出流量的VPC安全性群組規則。

KMS無法與您的溝通 AWS CloudHSM 群集,因為 kmsuser 已被鎖定。如果您重複看到此錯誤,請中斷連線 AWS CloudHSM 密鑰存儲和重置 kmsuser 帳戶密碼。更新自訂金鑰存放區的 kmsuser 密碼並重試請求。

如何修正無效的 kmsuser 登入資料

當您連接 AWS CloudHSM 鑰匙存儲, AWS KMS 登錄到關聯 AWS CloudHSM 群集為加kmsuser密用戶(CU)。它保持登錄狀態,直到 AWS CloudHSM 金鑰存放區已中斷連線。回DescribeCustomKeyStores應顯示ConnectionState的是FAILEDConnectionErrorCodeINVALID_CREDENTIALS,如下列範例所示。

如果您斷開連接 AWS CloudHSM 密鑰存儲和更改kmsuser密碼, AWS KMS 無法登錄 AWS CloudHSM 使用 kmsuser CU 帳戶的憑據集群。因此,所有嘗試連接 AWS CloudHSM 金鑰存放區失敗。DescribeCustomKeyStores 回應顯示 FAILEDConnectionStateINVALID_CREDENTIALSConnectionErrorCode 值,如以下範例所示。

$ aws kms describe-custom-key-stores --custom-key-store-name ExampleKeyStore { "CustomKeyStores": [ "CloudHsmClusterId": "cluster-1a23b4cdefg", "ConnectionErrorCode": "INVALID_CREDENTIALS" "CustomKeyStoreId": "cks-1234567890abcdef0", "CustomKeyStoreName": "ExampleKeyStore", "TrustAnchorCertificate": "<certificate string appears here>", "CreationDate": "1.499288695918E9", "ConnectionState": "FAILED" ], }

此外,在嘗試使用錯誤密碼登入叢集的五次失敗之後, AWS CloudHSM 鎖定使用者帳戶。若要登入叢集,您必須變更帳戶的密碼。

If AWS KMS 當它嘗試以 kmsuser CU (連接的請求) 身份登入叢集時,會取得鎖定回應 AWS CloudHSM 金鑰存放區失敗。回DescribeCustomKeyStores應包含ConnectionStateFAILEDConnectionErrorCodeUSER_LOCKED_OUT,如下列範例所示。

$ aws kms describe-custom-key-stores --custom-key-store-name ExampleKeyStore { "CustomKeyStores": [ "CloudHsmClusterId": "cluster-1a23b4cdefg", "ConnectionErrorCode": "USER_LOCKED_OUT" "CustomKeyStoreId": "cks-1234567890abcdef0", "CustomKeyStoreName": "ExampleKeyStore", "TrustAnchorCertificate": "<certificate string appears here>", "CreationDate": "1.499288695918E9", "ConnectionState": "FAILED" ], }

若要修正任一個情況,請使用下列程序。

  1. 斷開 AWS CloudHSM 金鑰存放區

  2. 執行DescribeCustomKeyStores作業並檢視回應中ConnectionErrorCode元素的值。

    • 如果 ConnectionErrorCode 值為 INVALID_CREDENTIALS,請判斷 kmsuser 帳戶目前的密碼。如有必要,請使用 Cloud 中的用戶更改密碼命令HSMCLI將密碼設置為已知值。

    • 如果ConnectionErrorCode值為USER_LOCKED_OUT,則必須使用 Cloud 中的使用者變更密碼指令HSMCLI來變更密碼。kmsuser

  3. 編輯 kmsuser 密碼設定,讓它符合叢集中目前的 kmsuser 密碼。這個動作告訴 AWS KMS 用來登入叢集的密碼。它不會變更叢集中的 kmsuser 密碼。

  4. 連接自訂金鑰存放區

如何刪除遺棄的金鑰材料

排程從刪除KMS金鑰之後 AWS CloudHSM 密鑰存儲,您可能需要從關聯的密鑰手動刪除相應的密鑰材料 AWS CloudHSM 集群。

當您在 KMS AWS CloudHSM 鑰匙存儲, AWS KMS 建立KMS金鑰中繼資料 AWS KMS 並產生關聯的關鍵材料 AWS CloudHSM 集群。當您排程刪除中的KMS索引鍵時 AWS CloudHSM 鑰匙店,等待期後, AWS KMS 刪除KMS金鑰中繼資料。然後 AWS KMS 盡最大努力從中刪除相應的關鍵材料 AWS CloudHSM 集群。如果嘗試可能會失敗 AWS KMS 無法存取叢集,例如當叢集中斷連線時 AWS CloudHSM 密鑰存儲或kmsuser密碼更改。 AWS KMS 不會嘗試從叢集備份刪除金鑰材料。

AWS KMS 報告其嘗試從集群中刪除密鑰材料DeleteKey的結果 AWS CloudTrail 日誌。它會出現在 additionalEventData 元素的 backingKeysDeletionStatus 元素中,如以下範例項目所示。該條目還包括KMS密鑰ARN, AWS CloudHSM 叢集識別碼,以及金鑰材料的 ID (backing-key-id)。

{ "eventVersion": "1.08", "userIdentity": { "accountId": "111122223333", "invokedBy": "AWS Internal" }, "eventTime": "2021-12-10T14:23:51Z", "eventSource": "kms.amazonaws.com", "eventName": "DeleteKey", "awsRegion": "us-west-2", "sourceIPAddress": "AWS Internal", "userAgent": "AWS Internal", "requestParameters": null, "responseElements": { "keyId":"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" }, "additionalEventData": { "customKeyStoreId": "cks-1234567890abcdef0", "clusterId": "cluster-1a23b4cdefg", "backingKeys": "[{\"backingKeyId\":\"backing-key-id\"}]", "backingKeysDeletionStatus": "[{\"backingKeyId\":\"backing-key-id\",\"deletionStatus\":\"FAILURE\"}]" }, "eventID": "c21f1f47-f52b-4ffe-bff0-6d994403cf40", "readOnly": false, "resources": [ { "accountId": "111122223333", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:eu-west-1:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" } ], "eventType": "AwsServiceEvent", "recipientAccountId": "111122223333", "managementEvent": true, "eventCategory": "Management" }
備註

下列程序使用 AWS CloudHSM 客戶端 SDK 5 命令行工具,雲HSMCLI。雲端HSMCLI會取代key-handlekey-reference.

在二零二五年一月一日 AWS CloudHSM 將結束對用戶端 SDK 3 命令列工具、雲端HSM管理公用程式 (CMU) 和金鑰管理公用程式 (KMU) 的支援。如需有關用戶端 SDK 3 命令列工具和用戶端 SDK 5 命令列工具之間差異的詳細資訊,請參閱從用戶端 SDK 3 CMU 和用戶端 5 雲端移轉KMU至用戶端 SDK 5 雲端 HSM CLI AWS CloudHSM 使用者指南

以下程序示範如何從關聯的刪除孤立的主鍵材料 AWS CloudHSM 集群。

  1. 斷開 AWS CloudHSM 密鑰存儲,如果尚未斷開連接,則登錄,如中所述如何中斷連線和登入

    注意

    當自訂金鑰存放區中斷連線時,所有嘗試在自訂KMS金鑰存放區中建立金鑰或在密碼編譯作業中使用現有KMS金鑰的嘗試都會失敗。此動作可防止使用者存放和存取敏感資料。

  2. 使用 Cloud HSM CLI 中的金鑰刪除指令,從叢集HSMs中刪除金鑰。

    用於密碼編譯操作的所有 CloudTrail 日誌條目,其中包含一個密KMS鑰 AWS CloudHSM 金鑰存放區包含帶有customKeyStoreId和的additionalEventData欄位backingKey。欄位中傳回的backingKeyId值是 Cloud HSM 金鑰id屬性。我們建議您透過篩選金鑰刪除作業,id以刪除您在記錄檔 CloudTrail 中識別的孤立金鑰材料。

    AWS CloudHSM 將該backingKeyId值識別為十六進制值。若要篩選條件id,您必須在前面加上backingKeyIdOx例如,如果記 CloudTrail 錄檔backingKeyId中的是1a2b3c45678abcdef,您可以依據篩選0x1a2b3c45678abcdef

    下列範例會從叢集HSMs中刪除金鑰。會列backing-key-id在 CloudTrail 記錄項目中。在運行此命令之前,請用您帳戶中的backing-key-id有效示例替換該示例。

    aws-cloudhsm key delete --filter attr.id="0x<backing-key-id>" { "error_code": 0, "data": { "message": "Key deleted successfully" } }
  3. 登出並重新連接 AWS CloudHSM 如中所述的金鑰存放區如何登出和重新連線

如何復原已刪除金鑰的KMS金鑰材料

如果關鍵材料為 AWS KMS key 被刪除,密KMS鑰無法使用,並且在密KMS鑰下加密的所有密文都無法解密。這可能發生,如果在一個鍵的KMS關鍵材料 AWS CloudHSM 密鑰存儲已從關聯中刪除 AWS CloudHSM 集群。不過,復原金鑰材料可能可行。

當您創建 AWS KMS key (KMS鍵)中 AWS CloudHSM 鑰匙存儲, AWS KMS 登錄到關聯 AWS CloudHSM 集群並創建密鑰的關KMS鍵材料。它還將密碼更改為只有它知道並保持登錄的值,只要 AWS CloudHSM 金鑰存放區已連線。因為只有金鑰擁有者 (也就是建立金鑰的 CU) 可以刪除金鑰,因此不太可能會HSMs意外刪除金鑰。

但是,如果從叢集HSMs中刪除KMS金鑰的金鑰材料,則金鑰的金鑰狀態最終會變更為UNAVAILABLE。KMS如果您嘗試使用KMS金鑰進行密碼編譯作業,作業會失敗,並顯示KMSInvalidStateException例外狀況。最重要的是,任何以KMS金鑰加密的資料都無法解密。

在某些情況下,您可以透過從包含金鑰材料的備份建立叢集來復原已刪除的金鑰材料。此策略僅在當該金鑰存在時並且在刪除它之前建立了至少一個備份的情況下才有用。

使用以下程序來復原金鑰材料。

  1. 尋找包含金鑰材料的叢集備份。該備份也必須包含您需要支援叢集及其加密資料的所有使用者和金鑰。

    使用此DescribeBackups作業列出叢集的備份。然後使用備份時間戳記來協助您選取備份。若要將輸出限制為與 AWS CloudHSM 金鑰存放區中,使用Filters參數,如下列範例所示。

    $ aws cloudhsmv2 describe-backups --filters clusterIds=<cluster ID> { "Backups": [ { "ClusterId": "cluster-1a23b4cdefg", "BackupId": "backup-9g87f6edcba", "CreateTimestamp": 1536667238.328, "BackupState": "READY" }, ... ] }
  2. 從選取的備份建立叢集。驗證備份包含已刪除的金鑰和叢集所需的其他使用者和金鑰。

  3. 斷開 AWS CloudHSM 金鑰存放區,以便您可以編輯其屬性。

  4. 編輯的叢集 ID AWS CloudHSM 金鑰存放區。輸入您從備份建立之叢集的叢集 ID。由於該叢集與原始叢集共用備份歷史記錄,新叢集 ID 應該是有效的。

  5. 重新連接 AWS CloudHSM 金鑰存放區

如何以 kmsuser 身分登入

若要在中建立和管理關鍵材料 AWS CloudHSM 您的叢集 AWS CloudHSM 鑰匙存儲, AWS KMS 使用kmsuser加密用戶(CU)帳戶。您可以在叢集中建立 kmsuser CU 帳戶,並將其密碼提供給 AWS KMS 當你創建 AWS CloudHSM 金鑰存放區。

在一般情況下, AWS KMS 管理kmsuser帳戶。但是,對於某些任務,您需要斷開 AWS CloudHSM 金鑰存放區,以 kmsuser CU 身分登入叢集,然後使用雲端HSM命令列介面 (CLI)

注意

當自訂金鑰存放區中斷連線時,所有嘗試在自訂KMS金鑰存放區中建立金鑰或在密碼編譯作業中使用現有KMS金鑰的嘗試都會失敗。此動作可防止使用者存放和存取敏感資料。

本主題說明如何中斷連接 AWS CloudHSM 密鑰存儲和登錄kmsuser,運行 AWS CloudHSM 命令行工具,然後註銷並重新連接 AWS CloudHSM 金鑰存放區

如何中斷連線和登入

每次需要以kmsuser密碼使用者身分登入關聯的叢集時,請遵循下列程序。

備註

下列程序使用 AWS CloudHSM 客戶端 SDK 5 命令行工具,雲HSMCLI。雲端HSMCLI會取代key-handlekey-reference.

在二零二五年一月一日 AWS CloudHSM 將結束對用戶端 SDK 3 命令列工具、雲端HSM管理公用程式 (CMU) 和金鑰管理公用程式 (KMU) 的支援。如需有關用戶端 SDK 3 命令列工具和用戶端 SDK 5 命令列工具之間差異的詳細資訊,請參閱從用戶端 SDK 3 CMU 和用戶端 5 雲端移轉KMU至用戶端 SDK 5 雲端 HSM CLI AWS CloudHSM 使用者指南

  1. 斷開 AWS CloudHSM 密鑰存儲,如果尚未斷開連接。您可以使用 AWS KMS 控制台或 AWS KMS API.

    雖然你 AWS CloudHSM 鑰匙已連接, AWS KMS 已登入為kmsuser. 如此會防止您以 kmsuser 身分登入或變更 kmsuser 密碼。

    例如,此命令用DisconnectCustomKeyStore於中斷範例金鑰存放區的連線。取代範例 AWS CloudHSM 金鑰存放區 ID 與有效的。

    $ aws kms disconnect-custom-key-store --custom-key-store-id cks-1234567890abcdef0
  2. 使用 login 命令以管理員身份登錄。使用「使用雲端 HSM CLI」一節中所述的程序 AWS CloudHSM 使用者指南

    aws-cloudhsm > login --username admin --role admin Enter password: { "error_code": 0, "data": { "username": "admin", "role": "admin" } }
  3. 使用 Cloud 中的用戶更改密碼命令HSMCLI將kmsuser帳戶的密碼更改為您知道的密碼。 (AWS KMS 連接時旋轉密碼 AWS CloudHSM 金鑰存放區。) 密碼必須包含 7 到 32 個英數字元。區分大小寫,且不能包含任何特殊字元。

  4. kmsuser使用您設定的密碼登入。如需詳細指示,請參閱 HSM CLI AWS CloudHSM 使用者指南

    aws-cloudhsm > login --username kmsuser --role crypto-user Enter password: { "error_code": 0, "data": { "username": "kmsuser", "role": "crypto-user" } }

如何登出和重新連線

每次您需要以kmsuser加密使用者身分登出並重新連線金鑰存放區時,請使用下列程序。

備註

下列程序使用 AWS CloudHSM 客戶端 SDK 5 命令行工具,雲HSMCLI。雲端HSMCLI會取代key-handlekey-reference.

在二零二五年一月一日 AWS CloudHSM 將結束對用戶端 SDK 3 命令列工具、雲端HSM管理公用程式 (CMU) 和金鑰管理公用程式 (KMU) 的支援。如需有關用戶端 SDK 3 命令列工具和用戶端 SDK 5 命令列工具之間差異的詳細資訊,請參閱從用戶端 SDK 3 CMU 和用戶端 5 雲端移轉KMU至用戶端 SDK 5 雲端 HSM CLI AWS CloudHSM 使用者指南

  1. 執行工作,然後使用 Cloud HSM CLI 中的登出指令登出。如果您未登出,請嘗試重新連線 AWS CloudHSM 密鑰存儲將失敗。

    aws-cloudhsm logout { "error_code": 0, "data": "Logout successful" }
  2. 編輯自訂金鑰存放區的 kmsuser 密碼設定

    這告訴 AWS KMS 叢集中目前kmsuser的密碼。如果您省略此步驟, AWS KMS 將無法登錄到群集kmsuser,並且所有嘗試重新連接您的自定義密鑰存儲都將失敗。您可以使用 AWS KMS 控制台或UpdateCustomKeyStore操作的KeyStorePassword參數。

    例如,這個命令告訴 AWS KMS 目前的密碼是tempPassword。將範例密碼以實際密碼取代。

    $ aws kms update-custom-key-store --custom-key-store-id cks-1234567890abcdef0 --key-store-password tempPassword
  3. 重新連接 AWS KMS 密鑰存儲到其 AWS CloudHSM 集群。取代範例 AWS CloudHSM 金鑰存放區 ID 與有效的。在連接過程中, AWS KMS 將kmsuser密碼更改為只有它知道的值。

    ConnectCustomKeyStore作業會快速傳回,但連線程序可能需要較長的時間。初始回應並不表示連接程序已成功。

    $ aws kms connect-custom-key-store --custom-key-store-id cks-1234567890abcdef0
  4. 使用DescribeCustomKeyStores作業來驗證 AWS CloudHSM 金鑰存放區已連線。取代範例 AWS CloudHSM 金鑰存放區 ID 與有效的。

    在此範例中,連線狀態欄位會顯示 AWS CloudHSM 金鑰存放區現已連線。

    $ aws kms describe-custom-key-stores --custom-key-store-id cks-1234567890abcdef0 { "CustomKeyStores": [ "CustomKeyStoreId": "cks-1234567890abcdef0", "CustomKeyStoreName": "ExampleKeyStore", "CloudHsmClusterId": "cluster-1a23b4cdefg", "TrustAnchorCertificate": "<certificate string appears here>", "CreationDate": "1.499288695918E9", "ConnectionState": "CONNECTED" ], }