Amazon S3 が管理する暗号化キーによるサーバー側の暗号化 (SSE-S3) を使用したデータの保護 - Amazon Simple Storage Service

新しい Amazon S3 ユーザーガイドにようこそ! Amazon S3 ユーザーガイドは、使用中止された 3 つのガイド (Amazon S3 開発者ガイドAmazon S3 コンソールユーザーガイドAmazon S3 入門ガイド) の情報と手順をまとめたものです。

Amazon S3 が管理する暗号化キーによるサーバー側の暗号化 (SSE-S3) を使用したデータの保護

サーバー側の暗号化は、保管中のデータを保護します。各オブジェクトは一意なキーで暗号化されます。さらにセキュリティを強化するために、キー自体が、定期的に更新されるマスターキーで暗号化されます。Amazon S3 のサーバー側の暗号化では、データを暗号化するための最強のブロック暗号の一つである、256 ビットの高度暗号化規格 (AES-256) を使用します。

Amazon S3 が管理するキーによるサーバー側の暗号化 (SSE-S3) を使用するために、新たにかかる料金はありません。ただし、SSE-S3 を設定および使用するためのリクエストには、標準の Amazon S3 リクエスト料金が発生します。料金については、「Amazon S3 の料金」を参照してください。

バケットに保存されているすべてのオブジェクトに対してサーバー側の暗号化を必要とする場合は、バケットポリシーを使用します。たとえば、次のバケットポリシーは、サーバー側の暗号化を要求する x-amz-server-side-encryption ヘッダーがリクエストに含まれない限り、オブジェクトをアップロードする許可を拒否します。

{ "Version": "2012-10-17", "Id": "PutObjectPolicy", "Statement": [ { "Sid": "DenyIncorrectEncryptionHeader", "Effect": "Deny", "Principal": "*", "Action": "s3:PutObject", "Resource": "arn:aws:s3:::awsexamplebucket1/*", "Condition": { "StringNotEquals": { "s3:x-amz-server-side-encryption": "AES256" } } }, { "Sid": "DenyUnencryptedObjectUploads", "Effect": "Deny", "Principal": "*", "Action": "s3:PutObject", "Resource": "arn:aws:s3:::awsexamplebucket1/*", "Condition": { "Null": { "s3:x-amz-server-side-encryption": "true" } } } ] }
注記
  • サーバー側の暗号化では、オブジェクトのメタデータではなく、オブジェクトデータのみが暗号化されます。

サーバー側の暗号化での API サポート

オブジェクト作成の REST API を使用してサーバー側の暗号化を要求するには、x-amz-server-side-encryption リクエストヘッダーを提供します。REST API の詳細については、「REST API の使用」を参照してください。

以下の Amazon S3 API でこのヘッダーがサポートされています。

  • PUT オペレーション - PUT API を使用してデータをアップロードする場合は、リクエストヘッダーを指定します。詳細については、「Put Object」を参照してください。

  • マルチパートアップロードの開始 — マルチパートアップロード API を使用して大きいオブジェクトをアップロードするときに、開始リクエストでヘッダーを指定します。詳細については、「Initiate Multipart Upload」を参照してください。

  • COPY オペレーション – オブジェクトをコピーする場合、ソースオブジェクトとターゲットオブジェクトがあります。詳細については、「PUT Object - Copy」を参照してください。

注記

POST オペレーションを使用してオブジェクトをアップロードする場合は、リクエストヘッダーを指定する代わりに、フォームフィールドで同じ情報を指定します。詳細については、「POST Object」を参照してください。

AWS SDK にも、サーバー側の暗号化を要求するために使用できるラッパー API があります。また、AWS マネジメントコンソールを使用して、オブジェクトをアップロードしてサーバー側の暗号化を要求することもできます。