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