DocumentDB の暗号化キー設定の確認

DocumentDB の既定の KMS キーと、カスタマーマネージドキーの要件を区別してください。

説明

DocumentDB のストレージ暗号化を有効にし、kms_key_id を省略すると、サービスの既定の AWS マネージド KMS キーを使用します。キー識別子の省略は、KMS 暗号化がないことを意味しません。

組織で独自のキーポリシーやライフサイクルを管理する必要がある場合は、カスタマーマネージドキーを指定してください。どのキーを使う場合も、必要な権限と実際の暗号化状態を確認してください。

想定される影響

既定のキーでは組織のキー管理要件を満たせない場合があります。必要な権限を削除したりキーを使用できなくしたりすると、データへのアクセスや復旧が停止するおそれがあります。

対処方法

  • 新規クラスターには storage_encrypted = true と、必要なカスタマーマネージド kms_key_id を指定してください。組織の基準を満たす場合は既定のキーも使用できます。
  • 同じリージョンの使用可能なキーを選択し、キーの権限を必要な範囲に制限してください。
  • 既存クラスターのキーは直接変更できません。必要なキーで暗号化したスナップショットのコピーを新しいクラスターに復元する手順と、Terraform の置き換え計画を検討してください。

例

作成設定の抜粋です。パスワードは安全に供給して Terraform の状態を保護してください。インスタンス、ネットワーク、バックアップは別途構成し、例の skip_final_snapshot = true も運用要件に合わせて検討してください。

既定の AWS マネージドキー

hcl
resource "aws_docdb_cluster" "docdb_cluster" {
  cluster_identifier      = "my-docdb-cluster"
  engine                  = "docdb"
  master_username         = "foo"
  master_password         = var.docdb_password
  backup_retention_period = 5
  preferred_backup_window = "07:00-09:00"
  skip_final_snapshot     = true
  storage_encrypted       = true
}

暗号化を有効にして既定の KMS キーを使用します。独自のキー管理が必要か確認してください。

カスタマーマネージドキーの指定

hcl
resource "aws_docdb_cluster" "docdb_cluster" {
  cluster_identifier      = "my-docdb-cluster"
  engine                  = "docdb"
  master_username         = "foo"
  master_password         = var.docdb_password
  backup_retention_period = 5
  preferred_backup_window = "07:00-09:00"
  skip_final_snapshot     = true
  storage_encrypted       = true
  kms_key_id              = "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"
}

例の ARN を実際に承認されたキー ARN に置き換えてください。この設定だけで既存クラスターが新しいキーへ移行するわけではありません。

参考資料