本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
步驟 1:建立 AWS KMS key 不含金鑰材料的
根據預設, 會在 AWS KMS 您建立金鑰時為您建立KMS金鑰材料。若要改為匯入您自己的金鑰材料,請先建立不含KMS金鑰材料的金鑰。然後再匯入金鑰材料。若要建立不含KMS金鑰材料的金鑰,請使用 AWS KMS 主控台或 CreateKey操作。
若要建立不含金鑰資料的金鑰,請指定 EXTERNAL
的來源。KMS 金鑰的原始屬性是不可變的。建立KMS金鑰後,您就無法將專為匯入金鑰材料設計的KMS金鑰轉換為具有來自 或任何其他來源之金鑰材料 AWS KMS 的金鑰。
具有EXTERNAL
原始伺服器且沒有金鑰材料之KMS金鑰的金鑰狀態為 PendingImport
。KMS 金鑰可以無限期保持PendingImport
狀態。不過,您無法在密碼編譯操作中使用PendingImport
狀態為 的KMS金鑰。當您匯入金鑰材料時,KMS金鑰的金鑰狀態會變更為 Enabled
,而且您可以在密碼編譯操作中使用它。
AWS KMS 當您建立KMS金鑰 、下載公有金鑰和匯入權杖 ,以及匯入金鑰材料 時, 會在 AWS CloudTrail 日誌中記錄事件。 AWS KMS 也會在您刪除匯入的金鑰材料 或 AWS KMS 刪除過期的金鑰材料 時記錄 CloudTrail 事件。
建立不含KMS金鑰材料的金鑰 (主控台)
您只需要為匯入的KMS金鑰材料建立金鑰一次。您可以視需要經常將相同的金鑰材料匯入現有KMS金鑰,但無法將不同的金鑰材料匯入KMS金鑰。如需詳細資訊,請參閱 步驟 2:下載包裝公有金鑰及匯入字符。
若要在客戶受管KMS金鑰資料表中尋找具有匯入金鑰資料的現有金鑰,請使用右上角的齒輪圖示,在KMS金鑰清單中顯示來源欄。 匯入金鑰的來源值為外部 (匯入金鑰資料)。
若要使用匯入的金鑰材料建立KMS金鑰,請先遵循建立偏好KMS金鑰類型 金鑰的指示,但有下列例外狀況。
在選擇金鑰用途之後,請執行下列步驟:
-
展開 Advanced options (進階選項)。
-
對於 Key material origin (金鑰材料來源),選擇 External (Import key material) (外部 (匯入金鑰材料))。
-
然後選擇我了解採用已匯入金鑰的安全性及持久性隱憂旁邊的核取方塊,表示您了解使用匯入金鑰資料的隱憂。如要閱讀這些隱憂的相關資訊,請參閱 保護匯入的金鑰資料。
-
選用:若要使用匯入KMS的金鑰材料建立多區域金鑰,請在區域下選取多區域金鑰 。
-
返回基本說明。對於該類型的所有KMS金鑰,基本程序的其餘步驟都相同。
當您選擇完成 時,您已建立不含金鑰材料的KMS金鑰,且狀態 (金鑰狀態 ) 為待匯入 。
然而,主控台不會返回客戶自管金鑰表,而是顯示頁面讓您可在其中下載匯入金鑰資料所需的公有金鑰與匯入字符。您可立即繼續執行下載步驟,或選擇取消並在此時停止。您可隨時返回此下載步驟。
下一步:步驟 2:下載包裝公有金鑰及匯入字符。
建立不含KMS金鑰材料的金鑰 (AWS KMS API)
若要使用 AWS KMS API建立不含金鑰材料的對稱加密KMS金鑰,請將 Origin
參數設定為 的CreateKey請求傳送。 EXTERNAL
以下範例顯示如何使用 AWS Command Line Interface (AWS CLI)
$
aws kms create-key --origin EXTERNAL
如果命令成功執行,您會看到類似如下的輸出。 AWS KMS 金鑰的 Origin
是 EXTERNAL
,其 KeyState
是 PendingImport
。
提示
如果命令未成功,您可能看到 KMSInvalidStateException
或 NotFoundException
。您可重試請求。
{ "KeyMetadata": { "Origin": "EXTERNAL", "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", "Description": "", "Enabled": false, "MultiRegion": false, "KeyUsage": "ENCRYPT_DECRYPT", "KeyState": "PendingImport", "CreationDate": 1568289600.0, "Arn": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "AWSAccountId": "111122223333", "KeyManager": "CUSTOMER", "KeySpec": "SYMMETRIC_DEFAULT", "CustomerMasterKeySpec": "SYMMETRIC_DEFAULT", "EncryptionAlgorithms": [ "SYMMETRIC_DEFAULT" ] } }
從命令輸出複製 KeyId
值以供後續步驟使用,然後繼續進行 步驟 2:下載包裝公有金鑰及匯入字符。
注意
此命令會使用 KeySpec
SYMMETRIC_DEFAULT
和 KeyUsage
的 建立對稱加密KMS金鑰ENCRYPT_DECRYPT
。您可以使用選用參數 --key-spec
和 --key-usage
來建立非對稱或HMACKMS金鑰。如需詳細資訊,請參閱 CreateKey操作。