デフォルト暗号化の削除を要求する S3 バケット設定

S3 のデフォルト暗号化設定を削除しても、新しいアップロードの暗号化は無効になりません。必要な暗号化方式とキーが維持されるか確認してください。

説明

encryption: none はバケットのデフォルト暗号化設定の削除を要求します。現在の AWS S3 で DeleteBucketEncryption を実行すると、S3 管理キーを使う SSE-S3 に戻ります。2023 年 1 月 5 日以降、新しいオブジェクトのアップロードは自動的にサーバー側で暗号化され、この基本的な保護は無効にできません。

SSE-KMS のデフォルト設定を削除すると、その後にデフォルトを使用するアップロードに組織が求める KMS キー管理が適用されなくなる場合があります。新しいアップロードの保護と既存オブジェクトの状態は別です。デフォルト設定の変更だけで、過去の非暗号化オブジェクトが暗号化されるわけではありません。

想定される影響

  • SSE-KMS から SSE-S3 に戻ると暗号化自体は維持されますが、必要なキーとキーポリシーによる制御が新しいアップロードに適用されなくなる場合があります。
  • 個々の暗号化状態を確認しないと、保存データの暗号化要件を満たさないオブジェクトが残る可能性があります。暗号化によって過剰な読み取り権限や公開アクセスが解消されるわけではありません。

対処方法

  • 暗号化方式とキー管理の要件を定め、現在の AWS の動作に対応するモジュールで AES256 または aws:kms を明示的に設定してください。特定のキーが必要な場合は encryption_key_id と使用権限も設定してください。
  • 変更後に実際のデフォルトのアルゴリズムとキーを確認し、アップロードとダウンロードを検証してください。旧モジュールが失敗しても、すでに要求した設定変更が取り消されたとは限りません。
  • 個々のオブジェクトの暗号化も確認してください。過去の非暗号化オブジェクトを保護する必要がある場合は、コピーや S3 Batch Operations による暗号化コピーの作成を計画してください。アクセスポリシーと通信経路の保護も維持してください。

例

バケット名を管理対象に置き換え、現在の AWS の動作に対応するモジュールを使用してください。以下はデフォルト設定の例であり、既存オブジェクトの暗号化を変更するものではありません。

デフォルト暗号化設定の削除要求

yaml
- name: Create a simple s3 bucket
  amazon.aws.s3_bucket:
    name: mys3bucket
    state: present
    encryption: "none"

現在の AWS S3 では、デフォルトの暗号化が SSE-S3 に戻ります。新しいアップロードの暗号化を無効にする方法ではありません。

SSE-KMS をデフォルトに指定

yaml
- name: Create a simple s3 bucket
  amazon.aws.s3_bucket:
    name: mys3bucket
    state: present
    encryption: aws:kms

新しいアップロードのデフォルトとして SSE-KMS を要求します。encryption_key_id がないため、特定のカスタマーマネージドキーを指定する例ではありません。必要なキーと、アップロード・ダウンロードを行う主体の使用権限を別途確認してください。

参考資料