本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
在外部KMS金鑰存放區中建立金鑰
建立並連接外部金鑰存放區之後,您可以在金鑰存放區 AWS KMS keys 中建立 。它們必須是原始值為外部KMS金鑰存放區 () 的對稱加密金鑰EXTERNAL_KEY_STORE
。 您無法在自訂KMS金鑰存放區中使用匯入的金鑰材料建立非對稱金鑰 、HMACKMS金鑰或金鑰。 KMS 匯入金鑰的 AWS KMS 金鑰材料此外,您無法在自訂KMS金鑰存放區中使用對稱加密金鑰來產生非對稱資料金鑰對。
外部金鑰存放區中的KMS金鑰延遲、耐用性和可用性可能比標準KMS金鑰低,因為它取決於位於 外部的元件 AWS。在外部KMS金鑰存放區中建立或使用金鑰之前,請確認您需要具有外部金鑰存放區屬性的金鑰。
注意
有些外部金鑰管理員提供更簡單的方法來在外部KMS金鑰存放區中建立金鑰。如需詳細資訊,請參閱外部金鑰管理器文件。
若要在外部KMS金鑰存放區中建立金鑰,請指定下列項目:
除了外部金鑰之外,外部金鑰存放區中的KMS金鑰也具有 AWS KMS 金鑰材料。KMS 金鑰下加密的所有資料會先 AWS KMS 使用金鑰的 AWS KMS 金鑰材料加密,然後使用外部金鑰由外部金鑰管理員加密。此雙重加密程序可確保外部KMS金鑰存放區中受金鑰保護的密碼文字至少與僅受 保護的密碼文字一樣強 AWS KMS。如需詳細資訊,請參閱 外部金鑰存放區的運作方式。
當CreateKey
操作成功時,新金鑰的KMS金鑰狀態為 Enabled
。當您在外部KMS金鑰存放區中檢視金鑰時,您可以看到典型屬性,例如其金鑰 ID、金鑰規格 、金鑰用量 、金鑰狀態 和建立日期。但是您也可以看到外部金鑰存放區的 ID 和連接狀態以及外部金鑰的 ID。
如果您嘗試在外部KMS金鑰存放區中建立金鑰失敗,請使用錯誤訊息來識別原因。這可能表示外部金鑰存放區未連線 (CustomKeyStoreInvalidStateException
)、您的外部金鑰存放區代理找不到具有指定外部金鑰 ID (XksKeyNotFoundException
) 的外部金鑰,或外部金鑰已與相同外部金鑰存放區中的KMS金鑰建立關聯XksKeyAlreadyInUseException
。
如需在外部KMS金鑰存放區中建立金鑰的操作 AWS CloudTrail 日誌範例,請參閱 CreateKey。
外部KMS金鑰存放區中金鑰的需求
若要在外部KMS金鑰存放區中建立金鑰,外部金鑰存放區、KMS金鑰和做為KMS金鑰外部密碼編譯金鑰材料的外部金鑰需要下列屬性。
外部金鑰存放區要求
-
必須連接到其外部金鑰存放區代理。
若要檢視外部金鑰存放區的連接狀態,請參閱 檢視外部金鑰存放區。若要連接外部金鑰存放區,請參閱 連接和中斷連接外部金鑰存放區。
KMS 金鑰需求
您無法在建立KMS金鑰之後變更這些屬性。
-
金鑰規格:SYMMETRIC_DEFAULT
-
金鑰用量:ENCRYPT_DECRYPT
-
金鑰材料來源:EXTERNAL_KEY_STORE
-
多區域: FALSE
外部金鑰要求
-
256 位元AES密碼編譯金鑰 (256 個隨機位元)。外部金鑰的
KeySpec
必須為AES_256
。 -
已啟用並可供使用。外部金鑰的
Status
必須為ENABLED
。 -
設定用於加密和解密。外部金鑰的
KeyUsage
必須包含ENCRYPT
和DECRYPT
。 -
僅與此KMS金鑰搭配使用。外部金鑰存放區中的每個
KMS key
都必須與不同的外部金鑰關聯。AWS KMS 也建議將外部金鑰專用於外部金鑰存放區。此限制可讓您更輕鬆地識別並解決金鑰的問題。
-
可供外部金鑰存放區的外部金鑰存放區代理存取。
如果外部金鑰存放區代理找不到使用指定外部金鑰 ID 的金鑰,
CreateKey
操作就會失敗。 -
可以處理使用 AWS 服務 產生的預期流量。 AWS KMS 建議外部金鑰準備處理每秒最多 1,800 個請求。
在外部KMS金鑰存放區中建立新的金鑰
您可以在 AWS KMS 主控台的外部KMS金鑰存放區中或使用 CreateKey操作來建立新的金鑰。
有兩種方法可在外部KMS金鑰存放區中建立金鑰。
-
方法 1 (建議):選擇外部金鑰存放區,然後在該外部KMS金鑰存放區中建立金鑰。
-
方法 2:建立KMS金鑰,然後指示其位於外部金鑰存放區中。
如果您使用方法 1,在建立金鑰之前選擇外部金鑰存放區, 會為您 AWS KMS 選擇所有必要的KMS金鑰屬性,並填入外部金鑰存放區的 ID。此方法可避免您在建立KMS金鑰時可能發生的錯誤。
注意
請勿在別名、說明或標籤包含機密或敏感資訊。這些欄位可能會在 CloudTrail 日誌和其他輸出中以純文字顯示。
方法 1 (建議選擇):在外部金鑰存放區開始
若要使用此方法,請選擇您的外部金鑰存放區,然後建立KMS金鑰。 AWS KMS 主控台會為您選擇所有必要屬性,並填入外部金鑰存放區的 ID。此方法可避免您在建立KMS金鑰時發生許多錯誤。
-
登入 AWS Management Console 並在 https://console.aws.amazon.com/kms
開啟 AWS Key Management Service (AWS KMS) 主控台。 -
若要變更 AWS 區域,請使用頁面右上角的區域選擇器。
在導覽窗格中,依次選擇 Custom key stores (自訂金鑰存放區)、External key stores (外部金鑰存放區)。
-
選擇外部金鑰存放區的名稱。
-
在右上角,選擇在此KMS金鑰存放區中建立金鑰 。
如果未連接外部金鑰存放區,系統會提示您進行連接。如果連線嘗試失敗,您需要解決問題並連接外部金鑰存放區,才能在其中建立新的KMS金鑰。
如果外部金鑰存放區已連接,則系統會將您重新導向至 Customer managed keys (客戶受管金鑰) 頁面以建立金鑰。已為您選擇所需的 Key configuration (金鑰組態) 值。此外,會填寫外部金鑰存放區的自訂金鑰存放區 ID,不過您可以變更它。
-
在外部金鑰管理器中輸入外部金鑰的金鑰 ID。此外部金鑰必須符合與KMS金鑰搭配使用的要求。建立金鑰之後,便無法變更此值。
如果外部金鑰具有多個 IDs,請輸入外部金鑰存放區代理用來識別外部金鑰的金鑰 ID。
-
確認您打算在指定的外部KMS金鑰存放區中建立金鑰。
-
選擇 Next (下一步)。
此程序的其餘部分與建立標準KMS金鑰相同。
-
輸入索引KMS鍵的別名 (必要) 和描述 (選用)。
-
(選用)。在新增標籤頁面上,新增可識別或分類KMS金鑰的標籤。
當您將標籤新增至 AWS 資源時, AWS 會產生成本分配報告,其中包含使用量和標籤彙總的成本。標籤也可用於控制對KMS金鑰的存取。如需標記KMS金鑰的相關資訊,請參閱 中的標籤 AWS KMS和 ABAC 適用於 AWS KMS。
-
選擇 Next (下一步)。
-
在金鑰管理員區段中,選取可以管理KMS金鑰IAM的使用者和角色。如需詳細資訊,請參閱允許金鑰管理員管理KMS金鑰 。
注意
IAM 政策可以授予其他IAM使用者和角色使用 KMS金鑰的許可。
IAM 最佳實務會阻止使用具有長期憑證IAM的使用者。盡可能使用角色IAM,提供臨時憑證。如需詳細資訊,請參閱 IAM 使用者指南 中的安全最佳實務IAM。
-
(選用) 若要防止這些金鑰管理員刪除此KMS金鑰,請清除允許金鑰管理員刪除此金鑰核取方塊。
刪除KMS金鑰是一種具有破壞性且不可復原的操作,可能導致密碼文字無法復原。您無法在外部KMS金鑰存放區中重新建立對稱金鑰,即使您擁有外部金鑰材料。不過,刪除KMS金鑰不會影響其相關聯的外部金鑰。如需有關從外部KMS金鑰存放區刪除金鑰的資訊,請參閱刪除金鑰的特殊考量事項。
-
選擇 Next (下一步)。
-
在此帳戶區段中,選取可在密碼編譯操作 中使用 AWS 帳戶 KMS金鑰IAM的使用者和角色。如需詳細資訊,請參閱允許金鑰使用者使用KMS金鑰 。
注意
IAM 政策可以授予其他IAM使用者和角色使用 KMS金鑰的許可。
IAM 最佳實務會阻止使用具有長期憑證IAM的使用者。盡可能使用角色IAM,提供臨時憑證。如需詳細資訊,請參閱 IAM 使用者指南 中的安全最佳實務IAM。
-
(選用) 您可以允許其他 AWS 帳戶 將此KMS金鑰用於密碼編譯操作。若要這麼做,請在頁面底部的其他 AWS 帳戶區段中,選擇新增另一個 AWS 帳戶並輸入外部帳戶的 AWS 帳戶 ID。若要新增多個外部帳戶,請重複此步驟。
注意
其他 的管理員 AWS 帳戶 也必須透過為其使用者建立IAM政策來允許存取KMS金鑰。如需詳細資訊,請參閱允許其他帳戶中的使用者使用KMS金鑰。
-
選擇 Next (下一步)。
-
檢閱您選擇的金鑰設定。您仍然可以返回並變更所有設定。
-
完成時,請選擇 Finish (完成) 以建立金鑰。
方法 2:在客戶受管金鑰中開始
此程序與使用 AWS KMS 金鑰材料建立對稱加密金鑰的程序相同。但是,在此程序中,您可指定外部金鑰存放區的自訂金鑰存放區 ID 和外部金鑰的金鑰 ID。您還必須在外部KMS金鑰存放區中指定金鑰的必要屬性值,例如金鑰規格和金鑰用量。
-
登入 AWS Management Console 並在 https://console.aws.amazon.com/kms
開啟 AWS Key Management Service (AWS KMS) 主控台。 -
若要變更 AWS 區域,請使用頁面右上角的區域選擇器。
-
在導覽窗格中,選擇 Customer managed keys (客戶受管金鑰)。
-
選擇建立金鑰。
-
選擇 Symmetric (對稱)。
-
在 Key usage (金鑰用途) 欄位中,系統會自動選取 Encrypt and decrypt (加密和解密) 選項。請勿變更該欄位。
-
選擇 Advanced options (進階選項)。
-
對於 Key material origin (金鑰材料來源),選擇 External key store (外部金鑰存放區)。
-
確認您打算在指定的外部KMS金鑰存放區中建立金鑰。
-
選擇 Next (下一步)。
-
選擇代表新金鑰的外部KMS金鑰存放區的資料列。
您無法選擇已中斷連接的外部金鑰存放區。若要連接已中斷連接的金鑰存放區,請選擇金鑰存放區名稱,然後在 Key store actions (金鑰存放區動作) 中選擇 Connect (連接)。如需詳細資訊,請參閱 使用 AWS KMS 主控台。
-
在外部金鑰管理器中輸入外部金鑰的金鑰 ID。此外部金鑰必須符合與KMS金鑰搭配使用的要求。建立金鑰之後,便無法變更此值。
如果外部金鑰具有多個 IDs,請輸入外部金鑰存放區代理用來識別外部金鑰的金鑰 ID。
-
選擇 Next (下一步)。
此程序的其餘部分與建立標準KMS金鑰相同。
-
輸入KMS索引鍵的別名和選用描述。
-
(選用)。在新增標籤頁面上,新增可識別或分類KMS金鑰的標籤。
當您將標籤新增至 AWS 資源時, AWS 會產生成本分配報告,其中包含使用量和標籤彙總的成本。標籤也可用於控制對KMS金鑰的存取。如需標記KMS金鑰的相關資訊,請參閱 中的標籤 AWS KMS和 ABAC 適用於 AWS KMS。
-
選擇 Next (下一步)。
-
在金鑰管理員區段中,選取可以管理KMS金鑰IAM的使用者和角色。如需詳細資訊,請參閱允許金鑰管理員管理KMS金鑰 。
注意
IAM 政策可以授予其他IAM使用者和角色使用 KMS金鑰的許可。
-
(選用) 若要防止這些金鑰管理員刪除此KMS金鑰,請清除允許金鑰管理員刪除此金鑰核取方塊。
刪除KMS金鑰是一種具有破壞性且不可復原的操作,可能導致密碼文字無法復原。您無法在外部KMS金鑰存放區中重新建立對稱金鑰,即使您擁有外部金鑰材料。不過,刪除KMS金鑰不會影響其相關聯的外部金鑰。如需有關從外部KMS金鑰存放區刪除金鑰的資訊,請參閱 刪除 AWS KMS keys。
-
選擇 Next (下一步)。
-
在此帳戶區段中,選取其中 AWS 帳戶 可在密碼編譯操作 中使用 KMS金鑰IAM的使用者和角色。如需詳細資訊,請參閱允許金鑰使用者使用KMS金鑰 。
注意
IAM 政策可以授予其他IAM使用者和角色使用 KMS金鑰的許可。
-
(選用) 您可以允許其他 AWS 帳戶 將此KMS金鑰用於密碼編譯操作。若要這麼做,請在頁面底部的其他 AWS 帳戶區段中,選擇新增另一個 AWS 帳戶並輸入外部帳戶的 AWS 帳戶 ID。若要新增多個外部帳戶,請重複此步驟。
注意
其他 的管理員 AWS 帳戶 也必須透過為其使用者建立IAM政策來允許存取KMS金鑰。如需詳細資訊,請參閱允許其他帳戶中的使用者使用KMS金鑰。
-
選擇 Next (下一步)。
-
檢閱您選擇的金鑰設定。您仍然可以返回並變更所有設定。
-
完成時,請選擇 Finish (完成) 以建立金鑰。
程序成功時,顯示器會在您選擇的外部KMS金鑰存放區中顯示新金鑰。當您選擇新KMS金鑰的名稱或別名時,其詳細資訊頁面上的密碼編譯組態索引標籤會顯示KMS金鑰的來源 (外部金鑰存放區 )、自訂金鑰存放區的名稱、ID 和類型,以及外部金鑰的 ID、金鑰用量和狀態。如果程序失敗,則會出現錯誤訊息來描述失敗。若為 ,請參閱 外部金鑰存放區故障診斷。
提示
為了更輕鬆地識別自訂KMS金鑰存放區中的金鑰,請在客戶受管金鑰頁面上,將原始伺服器和自訂金鑰存放區 ID 欄新增至顯示。若要變更資料表欄位,請選擇頁面右上角的齒輪圖示。如需詳細資訊,請參閱 自訂您的主控台檢視。
若要在外部KMS金鑰存放區中建立新的金鑰,請使用 CreateKey操作。下列是必要參數:
-
Origin
值必須為EXTERNAL_KEY_STORE
。 -
CustomKeyStoreId
參數可識別您的外部金鑰存放區。指定的外部金鑰存放區的 ConnectionState 必須為CONNECTED
。若要尋找CustomKeyStoreId
和ConnectionState
,請使用DescribeCustomKeyStores
操作。 -
XksKeyId
參數可識別外部金鑰。此外部金鑰必須符合與KMS金鑰建立關聯的要求。
您也可以使用 CreateKey
操作的任何選用參數,例如使用 Policy
或 Tags (標籤) 參數。
注意
請勿在 Description
或 Tags
欄位包含機密或敏感資訊。這些欄位可能會在 CloudTrail 日誌和其他輸出中以純文字顯示。
本節中的範例使用 AWS Command Line Interface
(AWS CLI)
此範例命令使用 CreateKey操作在外部KMS金鑰存放區中建立金鑰。回應包含KMS金鑰的屬性、外部金鑰存放區的 ID,以及外部金鑰的 ID、用量和狀態。
執行此命令之前,請將範例自訂金鑰存放區 ID 換成有效的 ID。
$
aws kms create-key --origin EXTERNAL_KEY_STORE --custom-key-store-id
cks-1234567890abcdef0
--xks-key-idbb8562717f809024
{ "KeyMetadata": { "Arn": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "AWSAccountId": "111122223333", "CreationDate": "2022-12-02T07:48:55-07:00", "CustomerMasterKeySpec": "SYMMETRIC_DEFAULT", "CustomKeyStoreId": "cks-1234567890abcdef0", "Description": "", "Enabled": true, "EncryptionAlgorithms": [ "SYMMETRIC_DEFAULT" ], "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", "KeyManager": "CUSTOMER", "KeySpec": "SYMMETRIC_DEFAULT", "KeyState": "Enabled", "KeyUsage": "ENCRYPT_DECRYPT", "MultiRegion": false, "Origin": "EXTERNAL_KEY_STORE", "XksKeyConfiguration": { "Id": "bb8562717f809024" } } }