為 Amazon S3 中存放的成品設定伺服器端加密 CodePipeline - AWS CodePipeline

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

為 Amazon S3 中存放的成品設定伺服器端加密 CodePipeline

有兩種方法可以為 Amazon S3 成品設定伺服器端加密:

  • CodePipeline 使用「建立管道」精靈建立管道 AWS 受管金鑰 時,會建立 S3 成品儲存貯體並預設值。會與物件資料 AWS 受管金鑰 一起加密,並由 AWS.

  • 您可以建立和管理自己的客戶管理金鑰。

重要

CodePipeline 僅支援對稱 KMS 金鑰。請勿使用非對稱 KMS 金鑰來加密 S3 儲存貯體中的資料。

如果您使用預設 S3 金鑰,則無法變更或刪除此金鑰 AWS 受管金鑰。如果您使用客戶受管金鑰 AWS KMS 來加密或解密 S3 儲存貯體中的成品,您可以視需要變更或輪換此客戶受管金鑰。

如果儲存貯體中所存放的所有物件都需要伺服器端加密,則 Amazon S3 支援您可使用的儲存貯體政策。例如,如果要求不包含要求含 SSE-KMS 之伺服器端加密的 s3:PutObject 標頭,則下列儲存貯體政策會拒絕向所有人上傳物件 (x-amz-server-side-encryption) 的許可。

{ "Version": "2012-10-17", "Id": "SSEAndSSLPolicy", "Statement": [ { "Sid": "DenyUnEncryptedObjectUploads", "Effect": "Deny", "Principal": "*", "Action": "s3:PutObject", "Resource": "arn:aws:s3:::codepipeline-us-west-2-89050EXAMPLE/*", "Condition": { "StringNotEquals": { "s3:x-amz-server-side-encryption": "aws:kms" } } }, { "Sid": "DenyInsecureConnections", "Effect": "Deny", "Principal": "*", "Action": "s3:*", "Resource": "arn:aws:s3:::codepipeline-us-west-2-89050EXAMPLE/*", "Condition": { "Bool": { "aws:SecureTransport": "false" } } } ] }

如需伺服器端加密的詳細資訊 AWS KMS,請參閱使用伺服器端加密保護資料和使用儲存於 AWS Key Management Service (SSE-KMS) 的 KMS 金鑰使用伺服器端加密保護資料。

如需詳細資訊 AWS KMS,請參閱AWS Key Management Service 開發人員指南

檢視您的 AWS 受管金鑰

當您使用 Create Pipeline (建立管道) 精靈建立第一個管道時,在您建立管道的相同區域中,將會為您建立 S3 儲存貯體。儲存貯體用於存放管道成品。當管道執行時,S3 儲存貯體中會放入和擷取成品。預設情況下, CodePipeline 使用伺服器端加密並 AWS KMS 使用 AWS 受管金鑰 適用於 Amazon S3 (aws/s3金鑰)。這 AWS 受管金鑰 是創建並存儲在您的 AWS 帳戶中。從 S3 儲存貯體擷取人工因素時, CodePipeline 會使用相同的 SSE-KMS 程序來解密成品。

若要檢視您的相關資訊 AWS 受管金鑰
  1. 登入 AWS Management Console 並開啟 AWS KMS 主控台。

  2. 如果出現歡迎頁面,請選擇 [立即開始使用]。

  3. 在服務導覽窗格中,選擇AWS 受管理的金鑰

  4. 選擇管道的「區域」。例如,如果管線是在中建立的us-east-2,請確定篩選器已設定為美國東部 (俄亥俄州)。

    如需有關可用之區域和端點的詳細資訊 CodePipeline,請參閱AWS CodePipeline 端點和配額

  5. 在列表中,選擇帶有用於管道的別名的密鑰(默認情況下,aws/s3)。隨即顯示金鑰的基本資訊。

使用 AWS CloudFormation 或設定 S3 儲存貯體的伺服器端加密 AWS CLI

使用 AWS CloudFormation 或建立管線 AWS CLI 時,必須手動設定伺服器端加密。使用上面的範例儲存貯體政策,然後建立自己的客戶受管金鑰。您也可以使用您自己的金鑰,而不是 AWS 受管金鑰. 選擇您自己的金鑰的一些原因包括:

密碼編譯最佳實務不鼓勵大量重複使用加密金鑰。根據最佳實務,請定期輪換您的金鑰。若要為您的 AWS KMS 金鑰建立新的加密資料,您可以建立客戶管理的金鑰,然後變更應用程式或別名以使用新的客戶管理金鑰。或者,您可以為現有客戶管理的金鑰啟用自動金鑰輪換功能。

若要旋轉您的客戶管理金鑰,請參閱旋轉金鑰

重要

CodePipeline 僅支援對稱 KMS 金鑰。請勿使用非對稱 KMS 金鑰來加密 S3 儲存貯體中的資料。