翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
CodePipeline 用に Amazon S3 に保存したアーティファクトのサーバー側の暗号化を設定する
Amazon S3 アーティファクトのサーバー側の暗号化を設定するには、次の 2 つの方法があります。
-
CodePipeline は、パイプラインの作成ウィザードを使用してパイプラインを作成する AWS マネージドキー ときに、S3 アーティファクトバケットとデフォルトを作成します。 AWS マネージドキー はオブジェクトデータとともに暗号化され、 によって管理されます AWS。
-
独自の カスタマーマネージドキー を作成して管理できます。
重要
CodePipeline は、対称 KMS キーのみを対応しています。非対称 KMS キーを使用して S3 bucket のデータを暗号化しないでください。
デフォルトの S3 キーを使用している場合、この AWS マネージドキーを変更または削除することはできません。でカスタマーマネージドキーを使用して S3 バケット内のアーティファクトを AWS KMS 暗号化または復号する場合は、必要に応じてこのカスタマーマネージドキーを変更またはローテーションできます。
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、「サーバー側の暗号化を使用したデータの保護」および「 (SSE-KMS) に保存 AWS Key Management Service されている KMS キーを使用したサーバー側の暗号化を使用したデータの保護」を参照してください。
詳細については AWS KMS、「 AWS Key Management Service デベロッパーガイド」を参照してください。
を表示する AWS マネージドキー
[パイプラインの作成] ウィザードを使用して最初のパイプラインを作成すると、パイプラインを作成したのと同じリージョンに S3 バケットが作成されます。バケットは、パイプラインアーティファクトを格納するために使用されます。パイプラインを実行すると、アーティファクトが、S3 バケットに入れられるか、そこから取得されます。デフォルトでは、CodePipeline は AWS マネージドキー for Amazon S3 ( aws/s3
キー) AWS KMS を使用して でサーバー側の暗号化を使用します。 Amazon S3 これは AWS アカウントで AWS マネージドキー 作成され、保存されます。アーティファクトが S3 バケットから取得されると、CodePipeline は同じ SSE-KMS プロセスを使用してアーティファクトを復号化します。
に関する情報を表示するには AWS マネージドキー
-
にサインイン AWS Management Console し、 AWS KMS コンソールを開きます。
-
ウェルカムページが表示される場合は、[今すぐ始める] を選択します。
-
サービスのナビゲーションペインで、[AWS managed keys] を選択します。
-
パイプラインのリージョンを選択します。例えば、パイプラインが
us-east-2
に作成されている場合は、フィルタが 米国西部 (オハイオ州) に設定されていることを確認します。CodePipeline で使用できるリージョンとエンドポイントの詳細については、「AWS CodePipeline エンドポイントとクォータ」を参照してください。
-
リスト内のパイプラインに使用されるエイリアスがあるキー (デフォルトは aws/s3) を選択します。キーの基本情報が表示されます。
AWS CloudFormation または を使用して S3 バケットのサーバー側の暗号化を設定する AWS CLI
AWS CloudFormation または を使用してパイプライン AWS CLI を作成する場合は、サーバー側の暗号化を手動で設定する必要があります。上記のサンプルバケットポリシーを使用して、独自のカスタマーマネージドキーを作成します。デフォルトの AWS マネージドキーキーの代わりに独自のキーを使用することもできます。独自のキーを選択する理由には、次のようなものがあります。
-
組織のビジネス要件またはセキュリティ要件を満たすために、スケジュールに基づいてキーのローテーションをする必要があります。
-
別の AWS アカウントに関連付けられたリソースを使用するパイプラインを作成する必要があります。これには、 カスタマーマネージドキー を使用する必要があります。詳細については、「他の AWS アカウントからリソースを使用するパイプラインを CodePipeline で作成する方法について説明します。」を参照してください。
暗号化のベストプラクティスでは、暗号化キーの広範な再利用を推奨していません。ベストプラクティスとして、キーを定期的にローテーションします。 AWS KMS キーの新しい暗号化マテリアルを作成するには、カスタマーマネージドキーを作成し、新しいカスタマーマネージドキーを使用するようにアプリケーションまたはエイリアスを変更します。または、既存の カスタマー管理キー の自動キーローテーションを有効にすることができます。
カスタマーマネージドキーをローテーションするには、「キーローテーション」を参照してください。
重要
CodePipeline は、対称 KMS キーのみを対応しています。非対称キーを使用して S3 bucket のデータを暗号化しないでください。