DynamoDBテーブルの暗号化キーの確認

DynamoDBの既定の暗号化とKMSのキー管理要件を区別する

説明

DynamoDBは既定でテーブルの保存データを暗号化します。Pulumiの serverSideEncryption.enabled = false はAWS所有キーを選ぶ設定で、暗号化を無効にするものではありません。組織のキー管理要件に合うキーを選択してください。

想定される影響

AWS所有キーだけでは、組織が求めるキーの制御や監査の要件を満たせない場合があります。

対処方法

AWSマネージドKMSキーを使うには、serverSideEncryption.enabled を true に設定してください。カスタマーマネージドキーが必要なら kmsKeyArn も指定し、キーポリシーと利用権限を確認してください。

例

次の抜粋では、AWS所有キーからAWSマネージドKMSキーに切り替えています。その他の必須テーブル設定は省略しています。

変更前

yaml
name: aws-eks
runtime: yaml
resources:
  example:
    type: aws:dynamodb:Table
    properties:
      serverSideEncryption:
        enabled: false

変更後

yaml
name: aws-eks
runtime: yaml
resources:
  example:
    type: aws:dynamodb:Table
    properties:
      serverSideEncryption:
        enabled: true

参考資料