在一個中創建KMS密鑰 AWS CloudHSM 鑰匙存儲 - AWS Key Management Service

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

在一個中創建KMS密鑰 AWS CloudHSM 鑰匙存儲

在您創建了 AWS CloudHSM 密鑰存儲,您可以創建 AWS KMS keys在您的密鑰存儲中。它們必須是具有密KMS鑰材料的對稱加密密鑰 AWS KMS 生成。您無法在自訂KMS金鑰存放區中建立具有匯入KMS金鑰材料的非對稱金鑰、HMACKMS金鑰或金鑰。此外,您無法在自訂KMS金鑰存放區中使用對稱加密金鑰來產生非對稱資料金鑰配對。

若KMS要在 AWS CloudHSM 金鑰存放區, AWS CloudHSM 密鑰存儲必須連接到關聯 AWS CloudHSM 叢集和叢集必須至少包含兩個HSMs在不同可用區域中作用中的作用中。若要尋找的連線狀態和數目HSMs,請檢視 AWS CloudHSM 主要商店頁面 AWS Management Console。 使用作API業時,請使用DescribeCustomKeyStores作業來確認 AWS CloudHSM 金鑰存放區已連線。若要驗證叢集中的作用HSMs中數目及其可用區域,請使用 AWS CloudHSM DescribeClusters操作。

當您在 KMS AWS CloudHSM 鑰匙存儲, AWS KMS 創建KMS鍵 AWS KMS。 但是,它會為關聯的密鑰創建KMS密鑰材料 AWS CloudHSM 集群。具體而言, AWS KMS 以您建立的 kmsuser CU 身分登入叢集。然後它會在叢集中建立持續性、不可擷取的 256 位元進階加密標準 (AES) 對稱金鑰。 AWS KMS 將金鑰標籤屬性 (僅在叢集中可見) 的值設定為KMS金鑰的 Amazon 資源名稱 (ARN)。

當命令成功時,新KMS密鑰的密鑰狀態是,它Enabled的起源是AWS_CLOUDHSM。建立任何KMS關鍵字後,您無法變更任何關鍵字的原點。當您檢視中的KMS金鑰時 AWS CloudHSM 中的金鑰存放區 AWS KMS 控制台或通過使用DescribeKey操作,您可以看到典型的屬性,如其密鑰 ID,密鑰狀態和創建日期。但是您也可以看到自定義密鑰存儲 ID 和(可選) AWS CloudHSM 叢集識別碼。如需詳細資訊,請參閱 在一個視角KMS關鍵字 AWS CloudHSM 鑰匙存儲

如果您嘗試創建KMS密鑰 AWS CloudHSM 金鑰存放區失敗,請使用錯誤訊息來協助您判斷原因。它可能表明 AWS CloudHSM 密鑰存儲區未連接(CustomKeyStoreInvalidStateException)或關聯 AWS CloudHSM 簇沒有這個操作所需的兩個活動HSMs(CloudHsmClusterInvalidConfigurationException)。如需協助,請參閱對自訂金鑰存放區進行故障診斷

對於一個例子 AWS CloudTrail 在中創建KMS密鑰的操作日誌 AWS CloudHSM 金鑰存放區,請參閱CreateKey

在一個中創建一個KMS密鑰 AWS CloudHSM 金鑰存放區 (主控台)

使用下列程序來建立對稱加密KMS金鑰 AWS CloudHSM 金鑰存放區。

注意

請勿在別名、說明或標籤包含機密或敏感資訊。在 CloudTrail 記錄檔和其他輸出中,這些欄位可能會以純文字顯示。

  1. 登入 AWS Management Console 並打開 AWS Key Management Service (AWS KMS)控制台在 https://console.aws.amazon.com/公里

  2. 若要變更 AWS 區域,使用頁面右上角的「地區」選取器。

  3. 在導覽窗格中,選擇 Customer managed keys (客戶受管金鑰)。

  4. 選擇建立金鑰

  5. 選擇 Symmetric (對稱)

  6. Key usage (金鑰用途) 欄位中,系統會自動選取 Encrypt and decrypt (加密和解密) 選項。請勿變更該欄位。

  7. 選擇 Advanced options (進階選項)

  8. 對於關鍵材質原點,請選擇 AWS CloudHSM 金鑰存放區

    您無法在 AWS CloudHSM 金鑰存放區。

  9. 選擇 Next (下一步)

  10. 選擇一個 AWS CloudHSM 新金鑰的金KMS鑰存放區。若要建立新的 AWS CloudHSM 金鑰存放區,選擇建立自訂金鑰存放區

    所以此 AWS CloudHSM 您選取的金鑰存放區狀態必須為 [已連線]。其相關聯 AWS CloudHSM 叢集必須處於作用中狀態,且至少包含兩個不同可用區域HSMs中的作用中。

    有關連接的幫助 AWS CloudHSM 金鑰存放區,請參閱Connect 並斷開連接 AWS CloudHSM 鑰匙存儲。如需有關新增的說明HSMs,請參閱新增 HSM AWS CloudHSM 使用者指南

  11. 選擇 Next (下一步)

  12. 輸入金鑰的別名和選擇性描KMS述。

  13. (選用)。在「新增標籤」頁面上,新增可識別或分類KMS金鑰的標籤。

    當您將標籤新增至 AWS 資源, AWS 產生成本配置報告,其中包含按標籤彙總的使用情況和成本。標籤也可以用來控制對KMS金鑰的存取。若要取得有關為KMS鍵貼標籤的資訊,請參閱標記金鑰AWS KMS 的 ABAC

  14. 選擇 Next (下一步)

  15. 在「金鑰管理員」區段中,選取可以管理KMS金鑰的IAM使用者和角色。如需詳細資訊,請參閱允許金鑰管理員管理KMS金鑰

    注意

    IAM策略可以授予其他使用IAM者和角色使用KMS金鑰的權限。

    IAM最佳做法不鼓勵使用具有長期憑證的使用IAM者。請盡可能使用提供臨時認證的IAM角色。如需詳細資訊,請參閱《IAM使用指南》IAM中的安全性最佳做法

  16. (選擇性) 若要防止這些金鑰管理員刪除此KMS金鑰,請清除頁面底部允許金鑰管理員刪除此金鑰的核取方塊。

  17. 選擇 Next (下一步)

  18. 在「此帳戶」區段中,選取此帳戶中的IAM使用者和角色 AWS 帳戶 可以在密碼編譯操作中使用密KMS鑰。如需詳細資訊,請參閱允許金鑰使用者使用KMS金鑰

    注意

    IAM策略可以授予其他使用IAM者和角色使用KMS金鑰的權限。

    IAM最佳做法不鼓勵使用具有長期憑證的使用IAM者。請盡可能使用提供臨時認證的IAM角色。如需詳細資訊,請參閱《IAM使用指南》IAM中的安全性最佳做法

  19. (可選)您可以允許其他 AWS 帳戶 使用此密KMS鑰進行密碼編譯操作。要做到這一點,在其他 AWS 帳戶在頁面底部的部分,選擇添加另一個 AWS 帳戶並輸入 AWS 帳戶 外部帳戶的識別碼。若要新增多個外部帳戶,請重複此步驟。

    注意

    其他的管理員 AWS 帳戶 還必須通過為其用戶創建IAM策略來允許對KMS密鑰的訪問。如需詳細資訊,請參閱允許其他帳戶中的使用者使用 KMS 金鑰

  20. 選擇 Next (下一步)

  21. 檢閱您選擇的金鑰設定。您仍然可以返回並變更所有設定。

  22. 完成時,請選擇 Finish (完成) 以建立金鑰。

當程序成功時,畫面會KMS在 AWS CloudHSM 您選擇的金鑰存放區。當您選擇新KMS金鑰的名稱或別名時,其詳細資訊頁面上的 [密碼編譯組態] 索引標籤會顯示KMS金鑰的來源 (AWS CloudHSM)、自訂金鑰存放區的名稱、ID 和類型,以及 AWS CloudHSM 集群。如果程序失敗,則會出現錯誤訊息來描述失敗。

提示

若要更容易識別自訂KMS金鑰存放區中的金鑰,請在「客戶管理的金鑰」頁面上,將「自訂金鑰存放區 ID」欄新增至顯示畫面。按一下右上方的齒輪圖示,然後選取 Custom key store ID (自訂金鑰存放區 ID)。如需詳細資訊,請參閱 自訂KMS關鍵表

在一個中創建一個KMS密鑰 AWS CloudHSM 鑰匙存儲(API)

若要建立新的 AWS KMS key(KMS鍵)在你 AWS CloudHSM 密鑰存儲,使用CreateKey操作。使用 CustomKeyStoreId 參數來識別您的自訂金鑰存放區,並指定 Origin 值為 AWS_CLOUDHSM

您可能還想要使用 Policy 參數來指定金鑰政策。您可以隨時變更金鑰原則 (PutKeyPolicy) 並新增選擇性元素,例如說明標籤

本節中的範例使用 AWS Command Line Interface (AWS CLI),但您可以使用任何支援的程式設計語言。

下列範例會從呼叫作DescribeCustomKeyStores業開始,以驗證 AWS CloudHSM 密鑰存儲連接到其關聯 AWS CloudHSM 集群。在預設情況下,此操作會傳回您帳戶和區域中的所有自訂金鑰存放區。為了描述只有一個特定 AWS CloudHSM 密鑰存儲,使用其CustomKeyStoreIdCustomKeyStoreName參數(但不能兩者)。

執行此命令之前,請將範例自訂金鑰存放區 ID 換成有效的 ID。

注意

請勿在 DescriptionTags 欄位包含機密或敏感資訊。在 CloudTrail 記錄檔和其他輸出中,這些欄位可能會以純文字顯示。

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

下一個範例指令會使用DescribeClusters作業來確認 AWS CloudHSM 與 (叢集 1a23b4cdefgExampleKeyStore) 相關聯的叢集至少有兩個作用中。HSMs如果叢集少於兩個HSMs,則CreateKey作業會失敗。

$ aws cloudhsmv2 describe-clusters { "Clusters": [ { "SubnetMapping": { ... }, "CreateTimestamp": 1507133412.351, "ClusterId": "cluster-1a23b4cdefg", "SecurityGroup": "sg-865af2fb", "HsmType": "hsm1.medium", "VpcId": "vpc-1a2b3c4d", "BackupPolicy": "DEFAULT", "Certificates": { "ClusterCertificate": "-----BEGIN CERTIFICATE-----\...\n-----END CERTIFICATE-----\n" }, "Hsms": [ { "AvailabilityZone": "us-west-2a", "EniIp": "10.0.1.11", "ClusterId": "cluster-1a23b4cdefg", "EniId": "eni-ea8647e1", "StateMessage": "HSM created.", "SubnetId": "subnet-a6b10bd1", "HsmId": "hsm-abcdefghijk", "State": "ACTIVE" }, { "AvailabilityZone": "us-west-2b", "EniIp": "10.0.0.2", "ClusterId": "cluster-1a23b4cdefg", "EniId": "eni-ea8647e1", "StateMessage": "HSM created.", "SubnetId": "subnet-b6b10bd2", "HsmId": "hsm-zyxwvutsrqp", "State": "ACTIVE" }, ], "State": "ACTIVE" } ] }

此範例命令使用CreateKey作KMS業在 AWS CloudHSM 金鑰存放區。若KMS要在 AWS CloudHSM 金鑰存放區,您必須提供 AWS CloudHSM 密鑰存儲並指定一個OriginAWS_CLOUDHSM

回應包括自訂金鑰存放區和 IDs AWS CloudHSM 集群。

執行此命令之前,請將範例自訂金鑰存放區 ID 換成有效的 ID。

$ aws kms create-key --origin AWS_CLOUDHSM --custom-key-store-id cks-1234567890abcdef0 { "KeyMetadata": { "AWSAccountId": "111122223333", "Arn": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "CreationDate": 1.499288695918E9, "Description": "Example key", "Enabled": true, "MultiRegion": false, "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", "KeyManager": "CUSTOMER", "KeyState": "Enabled", "KeyUsage": "ENCRYPT_DECRYPT", "Origin": "AWS_CLOUDHSM" "CloudHsmClusterId": "cluster-1a23b4cdefg", "CustomKeyStoreId": "cks-1234567890abcdef0" "KeySpec": "SYMMETRIC_DEFAULT", "CustomerMasterKeySpec": "SYMMETRIC_DEFAULT", "EncryptionAlgorithms": [ "SYMMETRIC_DEFAULT" ] } }