データベースのデフォルトKMSキーの使用

暗号化されたデータベースのデフォルトKMSキーが、組織のキー管理要件を満たすか確認してください。

説明

暗号化するRDSまたはAuroraデータベースの作成時にKmsKeyIdを省略すると、デフォルトのAWS管理KMSキーが使われます。このキーでもデータは暗号化されるため、カスタマー管理キーを指定しないことは平文保存を意味しません。

キーポリシー、ライフサイクル、サービスごとのキー分離を組織が直接管理する必要がある場合は、カスタマー管理キーが必要になることがあります。

想定される影響

  • デフォルトのキーでは、独自のキー管理や権限分離の要件を満たせない場合があります。
  • サービスごとの移行制約を考慮せずにキーを変更すると、データへのアクセスや復元に支障が生じる可能性があります。

対処方法

  • カスタマー管理キーが必要なリソースには、StorageEncrypted: trueと承認済みのKmsKeyIdを設定してください。
  • サービスと運用担当者に必要なキー権限を付与し、キーの無効化と削除を管理してください。
  • 既存の暗号化RDS・Auroraデータベースでは、テンプレート値の変更だけでキーを切り替えられません。対応するスナップショットのコピー・復元手順とアプリケーションの切り替えを計画してください。

例

新しいAurora MySQLクラスターの暗号化設定の抜粋です。DatabaseKeyArnには同じリージョンの承認済みカスタマー管理キーのARNを指定し、認証情報、インスタンス、ネットワークは別途構成してください。

変更前

yaml
Resources:
  AppDbCluster:
    Type: AWS::RDS::DBCluster
    Properties:
      Engine: aurora-mysql
      StorageEncrypted: true

保存データはデフォルトのAWS管理キーで暗号化されます。組織の要件を満たす場合、この構成を使用できます。

変更後

yaml
Resources:
  AppDbCluster:
    Type: AWS::RDS::DBCluster
    Properties:
      Engine: aurora-mysql
      StorageEncrypted: true
      KmsKeyId: !Ref DatabaseKeyArn

新しいクラスターに使うカスタマー管理キーを明示します。既存クラスターのデータを別のキーへ自動移行する例ではありません。

参考資料