保存時の暗号化がない AWS DAX クラスター

DAX クラスターがディスクに保存するデータを暗号化してください。

説明

DAX は DynamoDB のキャッシュ層ですが、アプリケーションデータの保護は必要です。DAX の保存時の暗号化はディスクに保存されるデータを保護し、メモリの保護や通信の暗号化の代わりにはなりません。

想定される影響

実際に暗号化されていないストレージを不正に取得されると、キャッシュされた機密情報が漏えいするおそれがあります。組織のキャッシュ暗号化要件を満たせない場合もあります。

対処方法

  • 新規クラスターと再利用するテンプレートに server_side_encryption { enabled = true } を明示してください。
  • DAX の保存時の暗号化は作成時に選択し、後から変更できません。既存の非暗号化クラスターは新しい暗号化クラスターに置き換え、アプリケーションの接続先の切り替えを計画してください。
  • 実際の暗号化を確認し、ネットワーク、アクセス権限、通信の暗号化も別途検討してください。

例

クラスター設定の抜粋です。環境に合うロール、ネットワーク、サポートされるノードタイプを指定してください。

変更前

hcl
resource "aws_dax_cluster" "dax_cluster" {
  cluster_name       = "cluster-example"
  iam_role_arn       = data.aws_iam_role.example.arn
  node_type          = "dax.r4.large"
  replication_factor = 1

  server_side_encryption {
    enabled = false
  }
}

保存時の暗号化を要求していません。

変更後

hcl
resource "aws_dax_cluster" "dax_cluster" {
  cluster_name       = "cluster-example"
  iam_role_arn       = data.aws_iam_role.example.arn
  node_type          = "dax.r4.large"
  replication_factor = 1

  server_side_encryption {
    enabled = true
  }
}

新規クラスターの保存時の暗号化を有効にします。既存クラスターのデータや接続は自動では移行されません。

参考資料