説明
SNS トピックは通知や運用イベントを扱います。サーバー側の暗号化は、受信したメッセージ本文を KMS キーで暗号化して保存し、配信時に復号します。暗号化を無効にしたトピックには、この保存データの保護がありません。
この機能は、トピック名、メッセージの件名や属性などのメタデータを暗号化しません。機密情報をメタデータに含めず、発行・サブスクリプションの権限も別途制限してください。
想定される影響
暗号化されていないメッセージでは保存データの漏えいに対する保護が不足し、組織の暗号化要件を満たせない場合があります。キー権限の誤りによって、正規の発行や配信に支障が出る可能性もあります。
対処方法
kms_master_key_idに対称 KMS キーを指定し、発行元や連携サービスに必要なキー権限を設定してください。- 暗号化されたトピックへのリクエストには HTTPS と Signature Version 4 を使用し、変更後に実際の発行から配信までの流れをテストしてください。
- 暗号化は有効化後に発行されたメッセージに適用され、既存の未配信メッセージには遡って適用されません。配信先の保存時暗号化とアクセスポリシーも別途確認してください。
例
トピック設定の抜粋です。alias/MyAlias は同じリージョンの実際のキーエイリアスに置き換え、必要な権限を用意してください。
変更前
hcl
resource "aws_sns_topic" "user_updates" {
name = "user-updates-topic"
kms_master_key_id = ""
}
保存するメッセージの暗号化キーが空です。
変更後
hcl
resource "aws_sns_topic" "user_updates" {
name = "user-updates-topic"
kms_master_key_id = "alias/MyAlias"
}
指定したキーで新しいメッセージ本文を暗号化します。この設定だけでメタデータや配信先のデータもすべて保護されるわけではありません。