説明
検索ドメインにはログ、文書のインデックス、運用データが保存されることがあり、保存時暗号化が必要です。暗号化が無効な場合、インデックスと関連する保存データには、この保護が適用されません。
保存時暗号化はドメインのデータと自動スナップショットを保護します。手動スナップショットの保存先、CloudWatch に出力したログ、転送中のデータは別途保護する必要があります。
想定される影響
暗号化されていない保存データやバックアップを権限のない相手が取得すると、機密文書やログが漏えいするおそれがあります。組織の検索サービスに関する暗号化要件も満たせない場合があります。
対処方法
encrypt_at_restにenabled = trueを設定してください。カスタマーマネージドキーが必要な場合は、承認されたキー ARN をkms_key_idに指定してください。- 新しいドメインには、Elasticsearch 5.1 以降と暗号化に対応するインスタンスタイプが必要です。既存のドメインでは 6.7 以降で暗号化を有効にできます。それより前のバージョンでは Terraform がドメインを置き換える場合があるため、先にデータ移行を計画してください。
- 変更計画とサービスの制約を確認し、実際の暗号化状態、キーの権限、スナップショットからの復旧、クライアント接続を検証してください。元のデータと復旧手段を保持してください。
例
サポートされるバージョンを変数で指定する暗号化設定の抜粋です。必要なインスタンス、ストレージ、アクセスポリシー、ネットワークは別途設定してください。
変更前
hcl
resource "aws_elasticsearch_domain" "search_domain" {
domain_name = "example"
elasticsearch_version = var.elasticsearch_version
encrypt_at_rest {
enabled = false
}
}
ドメインの保存時暗号化を無効にしています。
変更後
hcl
resource "aws_elasticsearch_domain" "search_domain" {
domain_name = "example"
elasticsearch_version = var.elasticsearch_version
encrypt_at_rest {
enabled = true
}
}
保存時暗号化を有効にしています。キーを省略すると既定のサービス KMS キーを使用するため、カスタマーマネージドキーの要件も別途確認してください。