Amazon GuardDuty のカスタム Amazon Simple Notification Service (Amazon SNS) 通知が配信されないのはなぜですか ?
簡単な説明
特定の AWS のサービスのイベントタイプをトリガーした場合にカスタム SNS 通知を送信するため、GuardDuty の Amazon EventBridge のルールを設定する手順に従いました。しかし、SNS 通知は配信されませんでした。
解決方法
これらの手順に従って、以下の正しい設定を確認します。
- Amazon SNS サブスクリプションの確認。
- Amazon SNS トピック AWS Identity and Access Management (IAM) アクセスポリシー。
- AWS Key Management Service (AWS KMS) のアクセス許可。
- EventBridge イベントパターン JSON オブジェクト結果タイプ。
Amazon SNS サブスクリプションを確認する
- Amazon SNS コンソールを開き、[Subscriptions] (サブスクリプション) を選択します。
- Amazon SNS サブスクリプション ID で、ステータスが [Confirmed] であることを確認します。
- ステータスが [Pending confirmation] (保留中の確認) の場合は、手順に従ってサブスクリプションを確認します。
SNS トピックアクセスポリシーのアクセス許可を確認する
- Amazon SNS コンソールを開き、[Topics] (トピック) を選択します。
- [Name] (名前) で、Amazon SNS トピックを選択します。
- [Details] (詳細) で、[Access policy] (アクセスポリシー) タブを選択します。
- IAM ポリシーで、次のような events.amazonaws.com プリンシパルを発行するための許可が付与されていることを確認します。
{
"Sid": "AWSEvents",
"Effect": "Allow",
"Principal": {
"Service": "events.amazonaws.com"
},
"Action": "sns:Publish",
"Resource": "arn:aws:sns:YOUR-REGION:YOUR-ACCOUNT-ID:YOUR-SNS-TOPIC"
}
AWS Key Management Service (AWS KMS) のアクセス許可を確認する
- AWS KMS コンソールを開き、[Customer managed keys] (カスタマーマネージドキー) を選択します。
- [Key ID] (キー ID) で、AWS KMS キーを選択します。
- [Key policy] (キーポリシー) で、[Switch to policy view] (ポリシービューへの切り替え) をクリックします。
- KMS キーポリシーで、次のような events.amazonaws.com プリンシパルを発行するための許可が付与されていることを確認します。
{
"Sid": "AWSEvents",
"Effect": "Allow",
"Principal": {
"Service": "events.amazonaws.com"
},
"Action": [
"kms:GenerateDataKey",
"kms:Decrypt"
],
"Resource": "*"
}
EventBridge イベントパターン JSON オブジェクト結果タイプを確認する
- EventBridge コンソールを開き、[Rules] (ルール) を選択します。
- [Name] (名前) で、ルールを選択します。
- [Event pattern] (イベントパターン) で、JSON オブジェクト結果タイプが次のような特定の AWS のサービスと一致することを確認します。
{
"source": [
"aws.guardduty"
],
"detail-type": [
"GuardDuty Finding"
]
}
関連情報
Amazon Elasticsearch Service (Amazon ES) を使用して GuardDuty でセキュリティをリアルタイムでモニタリングする
GuardDuty の結果タイプ