説明
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
}
}
新規クラスターの保存時の暗号化を有効にします。既存クラスターのデータや接続は自動では移行されません。