翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
の Amazon S3 に保存されているアーティファクトのサーバー側の暗号化を設定する CodePipeline
Amazon S3 アーティファクトのサーバー側の暗号化を設定するには、次の 2 つの方法があります。
-
CodePipeline は、パイプラインの作成ウィザードを使用してパイプラインを作成する AWS マネージドキー ときに S3 アーティファクトバケットとデフォルトを作成します。 AWS マネージドキー はオブジェクトデータとともに暗号化され、 によって管理されます AWS。
-
独自の カスタマーマネージドキー を作成して管理できます。
重要
CodePipeline は対称KMSキーのみをサポートします。非対称KMSキーを使用して S3 バケット内のデータを暗号化しないでください。
デフォルトの S3 キーを使用している場合、この AWS マネージドキーを変更または削除することはできません。でカスタマーマネージドキーを使用して S3 バケット内のアーティファクトを AWS KMS 暗号化または復号する場合は、必要に応じてこのカスタマーマネージドキーを変更またはローテーションできます。
Amazon S3 は、バケットに格納されているすべてのオブジェクトに対してサーバー側の暗号化が必要な場合に使用できるバケットポリシーをサポートしています。例えば、次のバケットポリシーは、リクエストに SSE- でサーバー側の暗号化をリクエストするx-amz-server-side-encryption
ヘッダーが含まれていない場合、すべてのユーザーへのアップロードオブジェクト (s3:PutObject
) アクセス許可を拒否しますKMS。
{ "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 バケットに入れられるか、そこから取得されます。デフォルトでは、 for AWS マネージドキー Amazon S3 ( aws/s3
キー) AWS KMS を使用して でサーバー側の暗号化 CodePipeline を使用します。これは AWS マネージドキー 作成され、 AWS アカウントに保存されます。S3 バケットからアーティファクトを取得すると、 は同じ SSE-KMS プロセス CodePipeline を使用してアーティファクトを復号します。
に関する情報を表示するには 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キーのみをサポートします。非対称KMSキーを使用して S3 バケット内のデータを暗号化しないでください。