AWS アカウントの AWS Key Management Service (AWS KMS) キーで暗号化したオブジェクトのみを Amazon Simple Storage Service (Amazon S3) バケットに保存したいと思います。どうしたら該当するオブジェクトのみをバケットにアップロードできますか?

Amazon S3 デフォルト暗号化を使用して、暗号化ヘッダー (x-amz-server-side-encryption や x-amz-server-side-encryption-aws-kms-key-id など) なしでアップロードされたオブジェクトを (S3 バケットに保存する前に) AWS KMS で確実に暗号化します。次に、バケットポリシーを使用し、別の暗号化設定 (AES-256) を使用したオブジェクトのアップロードを禁止して、AWS KMS 暗号化でアップロードされたオブジェクトに AWS アカウントのキー ID が含まれていることを確認します。

注意: AWS KMS キーによって暗号化されたオブジェクトをアップロードするには、キーおよび S3 バケットが同じ AWS リージョンにある必要があります。

Amazon S3 デフォルト暗号化

Amazon S3 コンソールでバケットの Amazon S3 デフォルト暗号化を AWS KMS に設定するには、以下のステップに従います。

  1. Amazon S3 コンソールを開きます。
  2. AWS KMS で暗号化したオブジェクト用のバケットを選択します。
  3. [プロパティ] ビューを選択します。
  4. [Default encryption (デフォルト暗号化)]、[AWS-KMS] の順に選択します。
  5. [Save] を選択します。

注意: REST API、AWS コマンドラインインターフェース (AWS CLI)、または AWS SDK を使用して Amazon S3 デフォルト暗号化を有効にするには、「S3 バケットの Amazon S3 デフォルト暗号化を設定する方法」を参照してください。

バケットポリシー

アップロードリクエストで異なる暗号化設定 (AES-256) を使用している場合や、AWS KMS 暗号化を使用しているが該当する AWS アカウントのキー ID とは異なる場合、これらのリクエストを拒否するようにバケットポリシーを設定するには、以下のステップに従います。

  1. Amazon S3 コンソールを開きます。
  2. AWS KMS で暗号化したオブジェクト用のバケットを選択します。
  3. [Routes (ルート)] ビューを選択します。
  4. [Bucket Policy] を選択します。
  5. 次のようなバケットポリシーを入力します。
    警告: samplebucketname はバケット名に置き換え、us-east-1:111122223333 は正しい AWS リージョンおよび AWS アカウント ID に置き換えてください。
{
    "Version": "2012-10-17",
    "Id": "PutObjPolicy",
    "Statement": [
        {
            "Sid": "DenySSE-S3",
            "Effect": "Deny",
            "Principal": "*",
            "Action": "s3:PutObject",
            "Resource": "arn:aws:s3:::samplebucketname/*",
            "Condition": {
                "StringEquals": {
                    "s3:x-amz-server-side-encryption": "AES256"
                }
            }
        },
  {
            "Sid": "RequireKMSEncryption",
            "Effect": "Deny",
            "Principal": "*",
            "Action": "s3:PutObject",
            "Resource": "arn:aws:s3:::samplebucketname/*",
            "Condition": {
                "StringNotLikeIfExists": {
                    "s3:x-amz-server-side-encryption-aws-kms-key-id": "arn:aws:kms:us-east-1:111122223333:key/*"
                }
            }
        }
    ]
}

このページは役に立ちましたか? はい | いいえ

AWS サポート ナレッジ センターに戻る

サポートが必要ですか? AWS サポートセンターをご覧ください。

公開日: 2018 年 08 月 03 日

更新日: 2018 年 08 月 31 日