新しいオブジェクトで SSE−KMS の S3 バケットキーを使用するようにバケットを設定する
AWS Key Management Service (AWS KMS) キー (SSE-KMS) を使用してサーバー側の暗号化を設定する場合、新しいオブジェクトで SSE−KMS の S3 バケットキーを使用するようにバケットを設定できます。S3 バケットキーは、Amazon S3 から AWS KMS へのリクエストトラフィックを減らし、SSE−KMS におけるコストを削減します。詳細については、「Amazon S3 バケットキーを使用した SSE−KMS のコストの削減」を参照してください。
Amazon S3 コンソール、REST API、AWS SDK、AWS Command Line Interface (AWS CLI)、または AWS CloudFormation を使用して、新しいオブジェクトで SSE−KMS の S3 バケットキーを使用するようにバケットを設定できます。既存のオブジェクトの S3 バケットキーを有効または無効にするには、CopyObject
オペレーションを使用できます。詳細については、(オブジェクトレベルで S3 バケットキーを設定する ) および (バッチオペレーションを使用して SSE-KMS の S3 バケットキーを有効にする) を参照してください。
レプリケート元バケットまたはレプリケート先バケットで S3 バケットキーを有効にすると、暗号化コンテキストはバケットの Amazon リソースネーム (ARN) になり、オブジェクト ARN にはなりません (例えば、arn:aws:s3:::
)。IAM ポリシーを更新して、暗号化コンテキストにバケット ARN を使用する必要があります。詳細については、「S3 バケットキーとレプリケーション」を参照してください。bucket_ARN
以下の例では、S3 バケットキーがレプリケーションでどのように機能するかを示しています。詳細については、「暗号化されたオブジェクトのレプリケート (SSE-S3、SSE-KMS、DSSE-KMS、SSE-C)」を参照してください。
前提条件
S3 バケットキーを使用するようにバケットを設定する前に、「S3 バケットキーを有効にする前に注意するべき変更点」を確認してください。
トピック
S3 コンソールでは、新しいバケットまたは既存のバケットに対して S3 バケットキーを有効または無効にできます。S3 コンソールのオブジェクトは、バケット設定からそれらの S3 バケットキーの設定を継承します。バケットで S3 バケットキーを有効にすると、バケットにアップロードする新しいオブジェクトでは、SSE-KMS に S3 バケット キーが使用されます。
S3 バケットキーが有効になっているバケット内のオブジェクトをアップロード、コピー、または変更する
S3 バケットキーが有効になっているバケットでオブジェクトをアップロード、変更、またはコピーすると、そのオブジェクトの S3 バケットキーの設定がバケット設定に合わせて更新されることがあります。
オブジェクトで既に S3 バケットキーが有効になっている場合、オブジェクトをコピーまたは変更しても、そのオブジェクトの S3 バケットキーの設定は変更されません。ただし、レプリケート先バケットに S3 バケットキーの設定がある状態で S3 バケットキーが有効になっていないオブジェクトを変更またはコピーした場合、オブジェクトはレプリケート先バケットの S3 バケットキーの設定を継承します。例えば、ソースオブジェクトで S3 バケットキーが有効になっていないが、レプリケート先バケットで S3 バケットキーが有効になっている場合、S3 バケットキーは有効になります。
新しいバケットの作成時に S3 バケットキーを有効にするには
AWS Management Console にサインインし、Amazon S3 コンソール (https://console.aws.amazon.com/s3/
) を開きます。 -
左側のナビゲーションペインで、[バケット] を選択します。
-
[Create bucket (バケットの作成)] を選択します。
-
バケット名を入力し、AWS リージョンを選択します。
-
[デフォルトの暗号化] の [暗号化キーの種類] で、[AWS Key Management Service キー (SSE-KMS)] を選択します。
-
[AWS KMS キー] で、次のいずれかを実行して KMS キーを選択します。
-
使用可能な KMS キーのリストから選択するには、[AWS KMS keys から選択する] を選択し、使用可能なキーのリストから自分の KMS キーを選択します。
AWS マネージドキー (
aws/s3
) とカスタマーマネージドキーの両方がこのリストに表示されます。カスタマーマネージドキーの詳細については、AWS Key Management Serviceデベロッパーガイドの「カスタマーキーと AWS キー」を参照してください。 -
KMS キー ARN を入力するには、[AWS KMS key ARN を入力] を選択し、表示されるフィールドに KMS キー ARN を入力します。
-
AWS KMS コンソールで新しいカスタマーマネージドキーを作成するには、[KMS キーを作成] を選択します。
AWS KMS key の作成の詳細については、「AWS Key Management Service デベロッパーガイド」の「キーの作成」を参照してください。
-
-
[バケットキー] で [有効化] を選択します。
-
[Create bucket] (バケットの作成) をクリックします。
Amazon S3 は、S3 バケットキーを有効にしてバケットを作成します。バケットにアップロードする新しいオブジェクトには、S3 バケットキーを使用します。
S3 バケットキーを無効にするには、前の手順に従い、[無効化] を選択します。
既存のバケットに対して S3 バケットキーを有効にするには
https://console.aws.amazon.com/s3/
で Amazon S3 コンソールを開きます。 -
左側のナビゲーションペインで、[バケット] を選択します。
-
[バケット] リストで、S3 バケットキーを有効にするバケットを選択します。
-
[プロパティ] タブを選択します。
-
[デフォルトの暗号化] で、[編集] を選択します。
-
[デフォルトの暗号化] の [暗号化キーの種類] で、[AWS Key Management Service キー (SSE-KMS)] を選択します。
-
[AWS KMS キー] で、次のいずれかを実行して KMS キーを選択します。
-
使用可能な KMS キーのリストから選択するには、[AWS KMS keys から選択する] を選択し、使用可能なキーのリストから自分の KMS キーを選択します。
AWS マネージドキー (
aws/s3
) とカスタマーマネージドキーの両方がこのリストに表示されます。カスタマーマネージドキーの詳細については、AWS Key Management Serviceデベロッパーガイドの「カスタマーキーと AWS キー」を参照してください。 -
KMS キー ARN を入力するには、[AWS KMS key ARN を入力] を選択し、表示されるフィールドに KMS キー ARN を入力します。
-
AWS KMS コンソールで新しいカスタマーマネージドキーを作成するには、[KMS キーを作成] を選択します。
AWS KMS key の作成の詳細については、「AWS Key Management Service デベロッパーガイド」の「キーの作成」を参照してください。
-
-
[バケットキー] で [有効化] を選択します。
-
[Save changes] (変更の保存) をクリックします。
Amazon S3 では、バケットに追加された新しいオブジェクトに対して S3 バケットキーが有効になります。既存のオブジェクトでは S3 バケットキーは使用しません。既存のオブジェクトの S3 バケットキーを設定するには、
CopyObject
オペレーションを使用できます。詳細については、「オブジェクトレベルで S3 バケットキーを設定する 」を参照してください。S3 バケットキーを無効にするには、前の手順に従い、[Disable (無効化)] を選択します。
PutBucketEncryption を使用してバケットの S3 バケットキーを有効または無効にできます。PutBucketEncryption
で S3 バケットキーを設定するには、ServerSideEncryptionRule を使用します。これには、SSE-KMS を使用したデフォルトの暗号化が含まれます。また、オプションで、カスタマーマネージドキーの KMS キー ID を指定して、カスタマーマネージドキーを使用することもできます。
詳細と構文の例については、PutBucketEncryption を参照してください。
次の例では、AWS SDK for Java を使用して、S3 バケットキーと SSE−KMS によるデフォルトのバケット暗号化を有効にします。
次の例では、AWS CLI を使用して、S3 バケットキーと SSE−KMS によるデフォルトのバケット暗号化を有効にします。
を、ユーザー自身の情報に置き換えます。user input
placeholders
aws s3api put-bucket-encryption --bucket
amzn-s3-demo-bucket
--server-side-encryption-configuration '{ "Rules": [ { "ApplyServerSideEncryptionByDefault": { "SSEAlgorithm": "aws:kms", "KMSMasterKeyID": "KMS-Key-ARN
" }, "BucketKeyEnabled": true } ] }'
AWS CloudFormation を使用して S3 バケットキーを設定する方法の詳細については、AWS CloudFormation ユーザーガイドの「AWS::S3::Bucket ServerSideEncryptionRule」を参照してください。