RDS クラスターの保存時の暗号化設定の確認

RDS クラスターの実際の保存時の暗号化とキーを確認し、既存の非暗号化データは対応する手順で移行してください。

説明

保存時の暗号化は、データベースのストレージと関連するバックアップやスナップショットを保護します。実際に暗号化されていないクラスターにはこの保護がありませんが、テンプレートの値だけで現在の保存状態を断定してはいけません。

Aurora は、2026 年 2 月 18 日以降に作成する新しいクラスターを、既定で AWS 所有キーによって暗号化します。それ以前の非暗号化データから作成したスナップショット、クローン、リードレプリカは、暗号化されないままの場合があります。Aurora とほかの RDS クラスター、作成と復元の違いを踏まえて、実際の状態とキーの要件を確認してください。

想定される影響

実際に暗号化されていないストレージやバックアップを不正に取得されると、業務データが漏えいするリスクが高まります。暗号化しても正当な権限を持つ利用者の読み取りは制限されず、暗号化キーへのアクセスを失うとサービスが停止する可能性があります。

対処方法

  • 新しい構成には、必要な保存時の暗号化とキーを明示してください。カスタマーマネージドキーが必要な場合は、StorageEncrypted: true、適切な KmsKeyId、必要な権限を用意します。
  • 既存の非暗号化 Aurora クラスターは、スナップショットの復元など、サポートされている手順で新しい暗号化クラスターへ移行してください。設定を変えるだけでデータが自動移行されるとは考えないでください。
  • バックアップを保持し、変更セット、データの整合性、接続先の切り替えを確認してください。反映後に実際の暗号化、キー、データアクセスを検証し、認証と TLS も別途維持してください。

例

新しい Aurora PostgreSQL クラスターに要求する設定を比較します。DB インスタンスとネットワークは別途構成してください。どちらもマスターパスワードをサービス側で管理する例で、既存クラスターの移行手順ではありません。

暗号化を明示的に要求しない構成

yaml
Parameters:
  DBUsername:
    Type: String
Resources:
  RDSCluster:
    Type: AWS::RDS::DBCluster
    DeletionPolicy: Snapshot
    UpdateReplacePolicy: Snapshot
    Properties:
      Engine: aurora-postgresql
      MasterUsername: !Ref DBUsername
      ManageMasterUserPassword: true
      StorageEncrypted: false

現在の Aurora では新規クラスターの暗号化が既定で有効なため、この値だけで平文保存を意味するわけではありません。既存データの実際の状態を確認してください。

暗号化とキーを明示する構成

yaml
Parameters:
  DBUsername:
    Type: String
  DatabaseKmsKeyArn:
    Type: String
Resources:
  RDSCluster:
    Type: AWS::RDS::DBCluster
    DeletionPolicy: Snapshot
    UpdateReplacePolicy: Snapshot
    Properties:
      Engine: aurora-postgresql
      MasterUsername: !Ref DBUsername
      ManageMasterUserPassword: true
      StorageEncrypted: true
      KmsKeyId: !Ref DatabaseKmsKeyArn

同じリージョンで利用できる実際の KMS キー ARN と必要な権限を用意してください。スナップショットの保持は、データの復元やアプリケーションの切り替えを代行するものではありません。

参考資料