説明
暗号化する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
新しいクラスターに使うカスタマー管理キーを明示します。既存クラスターのデータを別のキーへ自動移行する例ではありません。