建立非對稱KMS金鑰 - AWS Key Management Service

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

建立非對稱KMS金鑰

您可以在 AWS KMS 主控台中使用 或使用 CreateKey API::::KMSKey 範本 建立非對稱金鑰。 AWSKMS AWS CloudFormation非對稱KMS金鑰代表可用於加密、簽署或衍生共用密碼的公有和私有金鑰對。私有金鑰會保留在 內 AWS KMS。若要下載用於 外部的公有金鑰 AWS KMS,請參閱 下載公有金鑰

建立非對稱KMS金鑰時,您必須選取金鑰規格。通常,您選取的金鑰規格取決於法規、安全或業務需求。但也可能受需要加密或簽署之訊息的大小所左右。一般而言,較長的加密金鑰更能抵禦暴力破解攻擊。如需所有支援金鑰規格的詳細說明,請參閱 金鑰規格參考

AWS 與 整合的 服務 AWS KMS 不支援非對稱KMS金鑰。如果您想要建立KMS金鑰來加密您在 AWS 服務中存放或管理的資料,請建立對稱加密KMS金鑰

如需建立KMS金鑰所需的許可資訊,請參閱 建立KMS金鑰的許可

您可以使用 AWS Management Console 建立非對稱 AWS KMS keys (KMS 金鑰)。每個非對稱KMS金鑰代表公有和私有金鑰對。

重要

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

  1. 登入 AWS Management Console 並在 https://console.aws.amazon.com/kms 開啟 AWS Key Management Service (AWS KMS) 主控台。

  2. 若要變更 AWS 區域,請使用頁面右上角的區域選擇器。

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

  4. 選擇建立金鑰

  5. 若要建立非對稱KMS金鑰,請在金鑰類型中選擇非對稱

  6. 若要為公有KMS金鑰加密建立非對稱金鑰,請在金鑰用量 中,選擇加密和解密

    若要建立非對稱KMS金鑰來簽署訊息和驗證簽章,請在金鑰用量 中,選擇簽署和驗證

    若要建立非對稱KMS金鑰以擷取共用密碼,請在金鑰使用量 中選擇金鑰協議

    如需選擇金鑰用途值的說明,請參閱選擇要建立的KMS金鑰類型

  7. 為您的非對稱金鑰選取規格 (KMS金鑰規格 )。

  8. 選擇 Next (下一步)

  9. 輸入KMS金鑰的別名。別名名稱的開頭不可以是 aws/aws/ 字首由 Amazon Web Services 保留,以代表您帳戶中的 AWS 受管金鑰 。

    別名是易記的名稱,可用於在主控台和某些 中識別KMS金鑰 AWS KMS APIs。建議您選擇別名,指出您計劃保護的資料類型,或您計劃搭配 KMS金鑰使用的應用程式。

    當您在 中建立KMS金鑰時,需要別名 AWS Management Console。使用 CreateKey操作時,您無法指定別名,但您可以使用 主控台或 CreateAlias操作為現有KMS金鑰建立別名。如需詳細資訊,請參閱 中的別名 AWS KMS

  10. (選用) 輸入KMS金鑰的描述。

    輸入說明,說明您計劃保護的資料類型或您計劃搭配 KMS 金鑰使用的應用程式。

    您可以立即新增描述或在任意時間更新,除非金鑰狀態Pending DeletionPending Replica Deletion。若要新增、變更或刪除現有客戶受管金鑰的描述,請在 中編輯KMS金鑰詳細資訊頁面上的描述 AWS Management Console ,或使用 UpdateKeyDescription操作。

  11. (選用) 輸入標籤索引鍵和選用標籤值。若要將多個標籤新增至KMS金鑰,請選擇新增標籤

    當您將標籤新增至 AWS 資源時, AWS 會產生成本分配報告,其中包含使用量和標籤彙總的成本。標籤也可用於控制對KMS金鑰的存取。如需標記KMS金鑰的相關資訊,請參閱 中的標籤 AWS KMSABAC 適用於 AWS KMS

  12. 選擇 Next (下一步)

  13. 選取可管理KMS金鑰IAM的使用者和角色。

    注意

    此金鑰政策可 AWS 帳戶 完全控制此KMS金鑰。它允許帳戶管理員使用IAM政策來授予其他主體管理KMS金鑰的許可。如需詳細資訊,請參閱 預設金鑰政策

    IAM 最佳實務會阻止使用具有長期憑證IAM的使用者。盡可能使用角色IAM,提供臨時憑證。如需詳細資訊,請參閱 IAM 使用者指南 中的安全最佳實務IAM

  14. (選用) 若要防止選取的IAM使用者和角色刪除此KMS金鑰,請在頁面底部的金鑰刪除區段中清除允許金鑰管理員刪除此金鑰核取方塊。

  15. 選擇 Next (下一步)

  16. 選取可用於密碼編譯操作 的 KMS金鑰IAM的使用者和角色。

    注意

    此金鑰政策可 AWS 帳戶 完全控制此KMS金鑰。它允許帳戶管理員使用IAM政策,讓其他主體在密碼編譯操作中使用KMS金鑰。如需詳細資訊,請參閱 預設金鑰政策

    IAM 最佳實務會阻止使用具有長期憑證IAM的使用者。盡可能使用角色IAM,提供臨時憑證。如需詳細資訊,請參閱 IAM 使用者指南 中的安全最佳實務IAM

  17. (選用) 您可以允許其他 AWS 帳戶 將此KMS金鑰用於密碼編譯操作。若要這樣做,請在頁面底部的其他 AWS 帳戶 區段中,選擇新增另一個 AWS 帳戶,然後輸入外部帳戶的 AWS 帳戶 識別號碼。若要新增多個外部帳戶,請重複此步驟。

    注意

    若要允許外部帳戶中的主體使用KMS金鑰,外部帳戶的管理員必須建立提供這些許可IAM的政策。如需詳細資訊,請參閱允許其他帳戶中的使用者使用KMS金鑰

  18. 選擇 Next (下一步)

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

  20. 選擇完成以建立KMS金鑰。

您可以使用 CreateKey操作來建立非對稱 AWS KMS key。以下範例使用 AWS Command Line Interface (AWS CLI),但您可以使用任何支援的程式設計語言。

建立非對稱KMS金鑰時,您必須指定 KeySpec 參數,這會決定您建立的金鑰類型。此外,您必須指定 ENCRYPT_DECRYPT、SIGN_ VERIFY或 KEY_ KeyUsage的值AGREEMENT。您無法在建立KMS金鑰後變更這些屬性。

CreateKey 操作不會讓您指定別名,但您可以使用 CreateAlias操作來為新KMS金鑰建立別名。

重要

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

為公有加密建立非對稱KMS金鑰對

下列範例使用 CreateKey操作來建立非對稱KMS金鑰 4096 位元金鑰,該RSA金鑰專為公有金鑰加密而設計。

$ aws kms create-key --key-spec RSA_4096 --key-usage ENCRYPT_DECRYPT { "KeyMetadata": { "KeyState": "Enabled", "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", "KeyManager": "CUSTOMER", "Description": "", "Arn": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "CreationDate": 1569973196.214, "MultiRegion": false, "KeySpec": "RSA_4096", "CustomerMasterKeySpec": "RSA_4096", "KeyUsage": "ENCRYPT_DECRYPT", "EncryptionAlgorithms": [ "RSAES_OAEP_SHA_1", "RSAES_OAEP_SHA_256" ], "AWSAccountId": "111122223333", "Origin": "AWS_KMS", "Enabled": true } }
建立非對稱KMS金鑰對以進行簽署和驗證

下列範例命令會建立非對稱KMS金鑰,代表ECC用於簽署和驗證的金鑰對。您無法建立用於加密和解密的橢圓曲線金鑰對。

$ aws kms create-key --key-spec ECC_NIST_P521 --key-usage SIGN_VERIFY { "KeyMetadata": { "KeyState": "Enabled", "KeyId": "0987dcba-09fe-87dc-65ba-ab0987654321", "CreationDate": 1570824817.837, "Origin": "AWS_KMS", "SigningAlgorithms": [ "ECDSA_SHA_512" ], "Arn": "arn:aws:kms:us-west-2:111122223333:key/0987dcba-09fe-87dc-65ba-ab0987654321", "AWSAccountId": "111122223333", "KeySpec": "ECC_NIST_P521", "CustomerMasterKeySpec": "ECC_NIST_P521", "KeyManager": "CUSTOMER", "Description": "", "Enabled": true, "MultiRegion": false, "KeyUsage": "SIGN_VERIFY" } }
建立非對稱KMS金鑰對以衍生共用秘密

下列範例命令會建立非對稱KMS金鑰,代表ECDH用來衍生共用秘密的金鑰對。您無法建立用於加密和解密的橢圓曲線金鑰對。

$ aws kms create-key --key-spec ECC_NIST_P256 --key-usage KEY_AGREEMENT { "KeyMetadata": { "AWSAccountId": "111122223333", "KeyId": "0987dcba-09fe-87dc-65ba-ab0987654321", "Arn": "arn:aws:kms:us-west-2:111122223333:key/0987dcba-09fe-87dc-65ba-ab0987654321", "CreationDate": "2023-12-27T19:10:15.063000+00:00", "Enabled": true, "Description": "", "KeyUsage": "KEY_AGREEMENT", "KeyState": "Enabled", "Origin": "AWS_KMS", "KeyManager": "CUSTOMER", "CustomerMasterKeySpec": "ECC_NIST_P256", "KeySpec": "ECC_NIST_P256", "KeyAgreementAlgorithms": [ "ECDH" ], "MultiRegion": false } }