Redshift の保存時暗号化の確認

Redshift の実際の保存時暗号化と、既存クラスターの移行要件を確認してください。

説明

Redshift は分析用データを長期間保存することが多いため、データウェアハウスとスナップショットの暗号化が重要です。実際に暗号化されていない既存クラスターは、保存データの保護要件を満たせない場合があります。

現在の Redshift クラスター作成 API は既定で暗号化を使用し、Encrypted: false を許可しません。そのため、暗号化設定の省略を、新しいクラスターでの平文保存と解釈しないでください。以前に作成したクラスターとスナップショットは、実際の状態を確認してください。

想定される影響

未暗号化のストレージやスナップショットを権限のない相手が取得すると、運用データや機密情報が漏えいするおそれがあります。KMS キーが利用できなくなると、データへのアクセスや復旧にも支障が生じる場合があります。

対処方法

  • encrypted = true を明示し、実際のクラスターとスナップショットの状態、組織で必要な KMS キーを確認してください。
  • 既存の未暗号化クラスターでは、サポートされる暗号化への移行手順と Terraform の計画を確認してください。移行中の書き込み制限や中断に備えて、アプリケーションと処理ジョブを準備してください。
  • 必要なキーの権限とバックアップを保持し、移行後にデータの整合性、接続、復旧を検証してください。

例

対象リージョンと単一ノード構成でサポートされるノードタイプを指定してください。パスワードを安全な方法で渡し、Terraform の状態へのアクセスを制限してください。ネットワークとバックアップ方針は別途設定する必要があります。

暗号化の無効化を要求

hcl
resource "aws_redshift_cluster" "analytics" {
  cluster_identifier = "tf-redshift-cluster"
  database_name      = "mydb"
  master_username    = "foo"
  master_password    = var.redshift_password
  node_type          = var.redshift_node_type
  cluster_type       = "single-node"
  encrypted          = false
}

未暗号化クラスターを要求する設定ですが、現在の作成 API では拒否されます。新しい未暗号化クラスターを作成するための有効な手順ではありません。

暗号化の有効化を要求

hcl
resource "aws_redshift_cluster" "analytics" {
  cluster_identifier = "tf-redshift-cluster"
  database_name      = "mydb"
  master_username    = "foo"
  master_password    = var.redshift_password
  node_type          = var.redshift_node_type
  cluster_type       = "single-node"
  encrypted          = true
}

保存時暗号化を明示しています。既存クラスターに適用する前に、サポートされる移行方法と運用への影響を確認してください。

参考資料