Amazon RDS DBクラスター暗号化設定について

このブログシリーズ 「クラウドセキュリティ 実践集」 では、一般的なセキュリティ課題を取り上げ、「なぜ危険なのか?」 というリスクの解説から、 「どうやって直すのか?」 という具体的な修復手順(コンソール、AWS CLI、Terraformなど)まで、分かりやすく解説します。
この記事では、Amazon RDS DBクラスターの暗号化実装について、セキュリティリスクの詳細な分析と、既存の非暗号化クラスターから暗号化クラスターへの安全な移行手順を解説します。

ポリシーの説明
Amazon RDS DBクラスターの暗号化は、データベースの保管時データを保護する重要なセキュリティ機能です。暗号化を有効にすると、データベースインスタンス、自動バックアップ、読み取りレプリカ、およびスナップショットに保存されるすべてのデータが、AWS Key Management Service(KMS)を使用してAES-256暗号化アルゴリズムで暗号化されます。
暗号化は、DBクラスターの作成時にのみ設定可能であり、既存の非暗号化クラスターを直接暗号化することはできません。ただし、スナップショットを介した移行により、既存のデータを暗号化クラスターに移行することが可能です。このポリシーは、暗号化されていないRDS DBクラスターを検出し、データ保護の観点から警告を発します。
暗号化は、Amazon Aurora、Amazon RDS for MySQL、Amazon RDS for PostgreSQL、Amazon RDS for MariaDB、Amazon RDS for Oracle、Amazon RDS for SQL Serverのすべてのエンジンでサポートされています。
修復方法
コンソールでの修復手順
AWSマネジメントコンソールを使用して、暗号化されたRDS DBクラスターを作成し、既存の非暗号化クラスターからデータを移行します。
重要: 既存のDBクラスターを直接暗号化することはできません。暗号化されたクラスターへの移行が必要です。
- クラスター設定の構成
- DBクラスター識別子を入力
- エンジンバージョンを選択(元のクラスターと同じ)
- DBインスタンスクラスを選択
- マルチAZ配置の設定
- 暗号化設定の有効化
- 「暗号化」セクションで「暗号化を有効化」にチェック
- KMSキーを選択(デフォルトまたはカスタムキー)
- 新しいスナップショット識別子を入力
- 「スナップショットのコピー」をクリック
- ネットワークとセキュリティ設定
- VPCを選択
- サブネットグループを選択
- セキュリティグループを設定
- データベースポートを確認
- クラスターの作成と確認
- 「DBクラスターの作成」をクリック
- クラスターが「利用可能」になるまで待機
- 暗号化ステータスが「暗号化済み」であることを確認
Terraformでの修復手順
RDS DBクラスターの暗号化を有効についてです。
storage_encrypted
のフラグを有効化し、かつCMKを利用するためにはKMSキーを指定すれば暗号化設定は完了します。
# 暗号化されたDBクラスター
resource "aws_rds_cluster" "encrypted" {
>>>> Skip
# 暗号化設定(必須)
storage_encrypted = true
kms_key_id = aws_kms_key.rds.arn
}
最後に
この記事では、Amazon RDS DBクラスターの暗号化実装について、セキュリティリスクの詳細な分析と実践的な移行手順を解説しました。データベースの暗号化は、現代のセキュリティ要件において必須の要素であり、適切な実装により規制要件への準拠とデータ保護を実現できます。
この問題の検出は弊社が提供するSecurifyのCSPM機能で簡単に検出及び管理する事が可能です。 運用が非常に楽に出来る製品になっていますので、ぜひ興味がある方はお問い合わせお待ちしております。 最後までお読みいただきありがとうございました。この記事が皆さんの役に立てば幸いです。