AWS マネージドキーで暗号化された SNS トピック

SNS の AWS マネージド暗号化キーが組織のキー管理要件に適しているか確認してください。

説明

SNS で alias/aws/sns を使うと、保存されるメッセージ本文が AWS マネージド KMS キーで暗号化されます。このキーの使用自体が、平文保存や暗号化強度の低下を意味するわけではありません。

ただし、キーポリシーは AWS が管理するため直接変更できません。組織がキーポリシーやライフサイクルを直接管理する必要がある場合は、カスタマー管理 KMS キーを使用してください。

想定される影響

カスタマー管理キーが必要なメッセージ経路で既定のキーを使用すると、組織の要件を満たせない場合があります。キーの権限を誤って制限すると発行や配信が失敗するおそれがあり、キーの種類にかかわらずトピックポリシーと配信先も確認する必要があります。

対処方法

  • カスタマー管理キーが必要な場合は、kms_master_key_id に実際の対称暗号化 KMS キーの ARN またはエイリアスを指定してください。
  • トピックポリシーとキーポリシーを併せて確認し、発行元や連携サービスに必要なキー権限を付与してください。
  • 変更後の発行・配信を確認し、既存メッセージの処理に必要なキーへのアクセスを維持してください。転送時暗号化とメッセージメタデータの保護は別途管理してください。

例

異なるトピックでキーの選択を比較する例です。既存トピックのキーだけを変更する場合は、トピック名を維持してください。

AWS マネージドキー

hcl
resource "aws_sns_topic" "example" {
  name              = "user-updates-topic"
  kms_master_key_id = "alias/aws/sns"
}

AWS マネージドキーで保存メッセージ本文を暗号化します。

カスタマー管理キー

hcl
resource "aws_sns_topic" "example" {
  name              = "sns_ecnrypted"
  kms_master_key_id = "alias/MyAlias"
}

alias/MyAlias を実際に使用するカスタマー管理キーのエイリアスに置き換えてください。キーポリシーと必要な使用権限も準備する必要があります。

参考資料