説明
RDS の保存時の暗号化は、データベースのストレージと関連するログ、バックアップ、スナップショットを保護します。実際に暗号化されていないインスタンスには、この保護がありません。
通常の RDS インスタンスを新規作成するときは、必要な暗号化を明示してください。リードレプリカやスナップショットからの復元では元の暗号化設定を引き継ぎ、Aurora インスタンスの暗号化はクラスターで管理します。そのため、インスタンスのテンプレートに StorageEncrypted がないだけで非暗号化とは判断できません。
想定される影響
非暗号化データやバックアップを不正に取得されると、機密情報が漏えいするリスクが高まります。保存時の暗号化が有効でもデータベースの権限と TLS は必要であり、KMS キーが利用できなくなるとサービスが停止する可能性があります。
対処方法
- 通常の新規インスタンスには
StorageEncrypted: trueと必要なキー・権限を設定してください。実際のインスタンスとバックアップの暗号化も確認します。 - 既存の非暗号化インスタンスは、スナップショットを取得し、暗号化したコピーから新しいインスタンスを復元するなど、サポートされている手順で移行してください。バックアップ、データの整合性、接続先の切り替えを検証します。
- 非暗号化のソースから暗号化したリードレプリカは作成できません。リージョンをまたぐ暗号化レプリカには、移行先リージョンの KMS キーも必要です。
例
リージョンをまたぐリードレプリカの抜粋です。参照するパラメーターは完全なテンプレートで定義し、実際のソース ARN とリージョン、対応するインスタンスクラス、移行先リージョンのキーを指定してください。ネットワークは別途設定が必要です。二つの例はソースの状態を比較するもので、既存データベースを暗号化する手順ではありません。
非暗号化ソースのレプリカ
Resources:
MyDBSmall:
Type: AWS::RDS::DBInstance
Properties:
DBInstanceClass: !Ref DBInstanceType
SourceDBInstanceIdentifier: !Ref UnencryptedSourceDBArn
SourceRegion: !Ref SourceRegion
非暗号化ソースの設定を引き継ぎます。レプリカに暗号化の設定を追加しても、元の非暗号化データを変換することはできません。
暗号化済みソースのレプリカ
Resources:
MyDBSmall:
Type: AWS::RDS::DBInstance
Properties:
DBInstanceClass: !Ref DBInstanceType
SourceDBInstanceIdentifier: !Ref EncryptedSourceDBArn
SourceRegion: !Ref SourceRegion
KmsKeyId: !Ref MyKey
暗号化済みのソースと移行先リージョンの KMS キーを使用します。リードレプリカの StorageEncrypted はソースから引き継ぐため、個別には指定しません。ソースを変更する更新は、切り替えを計画してから行ってください。