暗号化されていない AWS EBS ボリューム

EBS ボリュームの実際の暗号化を確認し、既存の非暗号化データを安全に移行してください。

説明

EBS ボリュームには、アプリケーションデータ、ログ、一時ファイル、運用資産などが保存されます。保存時の暗号化は、ボリュームとそのデータから作成するスナップショットを保護します。

実際の暗号化には、元のスナップショットやリージョンの EBS 既定の暗号化も関係します。encrypted の省略や false だけで非暗号化と判断せず、状態を確認してください。

想定される影響

非暗号化ボリュームやスナップショットを不正に取得されると、機密情報が漏えいするおそれがあります。一部のボリュームだけが組織の暗号化基準を満たさずに残る場合もあります。

対処方法

  • 新規ボリュームに encrypted = true を設定し、作成モジュールやテンプレートにも適用してください。
  • 必要な KMS 権限と、作成されたボリュームの実際の暗号化を確認してください。
  • 既存の非暗号化ボリュームは、暗号化したスナップショットのコピーから新しいボリュームを作成して移行してください。Terraform の置き換え、整合性、インスタンスへの接続を検討し、検証が終わるまで元のデータを保持してください。

例

ボリューム作成設定の抜粋です。アベイラビリティゾーンは使用するインスタンスと一致させる必要があり、接続設定は別途必要です。

変更前

hcl
resource "aws_ebs_volume" "app_data_volume" {
  availability_zone = "us-west-2a"
  size              = 40
  encrypted         = false
}

ボリュームの暗号化を明示的には要求していません。リージョンの既定値も含め、実際の暗号化を確認してください。

変更後

hcl
resource "aws_ebs_volume" "app_data_volume" {
  availability_zone = "us-west-2a"
  size              = 40
  encrypted         = true
}

新規ボリュームの暗号化を要求します。このフラグだけで既存ボリュームが暗号化されるわけではありません。

参考資料