{S3}Amazon S3 のデフォルトバケット暗号化の有効化

S3 バケットのデフォルトの暗号化の使用に追加料金はかかりません。

暗号化キータイプ
Amazon S3 キー (SSE-S3)
AWS Key Management Service キー (SSE-KMS) --- AWS 管理キー (aws/s3)
AWS Key Management Service キー (SSE-KMS) --- カスタマ 管理キー


前提:aws-cli/2.2.45

-- 1. S3 バケットを作成する

aws s3 mb s3://bucket123
aws s3 ls

-- 2. デフォルト暗号化の有効化

-- SSE-S3 を使用したデフォルトの暗号化

aws s3api put-bucket-encryption --bucket bucket123 --server-side-encryption-configuration '{
    "Rules": [
        {
            "ApplyServerSideEncryptionByDefault": {
                "SSEAlgorithm": "AES256"
            }
        }
    ]
}'

-- S3 バケットキーを使用した SSE-KMS でのデフォルトの暗号化
aws-cli v1を使用するとエラー

aws s3api put-bucket-encryption --bucket bucket123 --server-side-encryption-configuration '{
    "Rules": [
            {
                "ApplyServerSideEncryptionByDefault": {
                    "SSEAlgorithm": "aws:kms",
                    "KMSMasterKeyID": "arn:aws:kms:ap-northeast-1:999999999999:key/11111111-2222-3333-4444-555555555555"
                },
                "BucketKeyEnabled": true
            }
        ]
    }'


-- 3. デフォルト暗号化の確認
aws s3api get-bucket-encryption --bucket bucket123

-- 4. デフォルト暗号化の無効化
aws s3api delete-bucket-encryption --bucket bucket123


-- 5. クリーンアップ
-- バケットの削除
aws s3 rb s3://bucket123 --force
aws s3 ls