我的 Amazon GuardDuty 自訂 Amazon Simple Notification Service (Amazon SNS) 通知未傳遞。
簡短說明
我會遵循指示來設定 GuardDuty 的 Amazon EventBridge 規則,以便在特定 AWS 服務事件類型啟動時傳送自訂 SNS 通知。但是,SNS 通知未傳遞。
解決方法
請遵循下列指示來確認下列設定是否正確:
- Amazon SNS 訂閱確認。
- Amazon SNS 主題 AWS 身份和存取管理 (IAM) 存取政策。
- AWS Key Management Service (AWS KMS) 權限。
- EventBridge 事件模式 JSON 物件調查結果類型。
確認 Amazon SNS 訂閱
- 開啟 Amazon SNS 主控台,然後選擇訂閱。
- 對於您的 Amazon SNS 訂閱 ID,請驗證狀態是否為已確認且主題正確。
- 如果狀態為待確認,請遵循指示以確認訂閱。
確認 SNS 主題 IAM 存取政策的許可
- 開啟 Amazon SNS 主控台,然後選擇主題。
- 在名稱中,選擇您的 Amazon SNS 主題。
- 在詳細資訊中,選擇存取政策索引標籤。
- 驗證 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 KMS 許可
**注意:**您可以跳過此步驟,若您尚未啟動加密或使用 AWS 受管金鑰。
- 開啟 AWS KMS 主控台,然後選擇客戶受管金鑰。
- 在金鑰 ID 中,選擇用來加密 SNS 訊息的客戶受管金鑰。
- 在金鑰政策中,選擇切換至政策檢視。
- 請確定 KMS 金鑰政策允許發佈類似於下列內容的 events.amazonaws.com 主體:
{
"Sid": "AWSEvents",
"Effect": "Allow",
"Principal": {
"Service": "events.amazonaws.com"
},
"Action": [
"kms:GenerateDataKey",
"kms:Decrypt"
],
"Resource": "*"
}
確認 EventBridge 事件模式 JSON 物件調查結果類型
- 開啟EventBridge 主控台,然後選擇Rules (規則)。
- 在名稱中,選擇您的規則。
- 在事件模式中,驗證 JSON 物件調查結果類型與類似於下列內容的特定 AWS 服務相符:
{ "source": [
"aws.guardduty"
],
"detail-type": [
"GuardDuty Finding"
]
}
如需詳細資訊,請參閱使用 Amazon CloudWatch Events 建立對 GuardDuty 調查結果的自訂回應。
確認 EventBridge 匯出頻率
- 開啟 GuardDuty 主控台,然後選擇設定。
- 在調查結果匯出選項中,選擇編輯。
- 在編輯頻率以發佈更新的調查結果中,檢查頻率集。依預設,每 6 小時會將調查結果自動傳送至 EventBridge。若要從預設設定為 6 小時的頻率進行變更,請選擇 1 小時或 15 分鐘,然後選擇儲存變更。
**注意:**GuardDuty 會在 5 分鐘內傳送新的調查結果類型的通知。如需詳細資訊,請參閱 GuardDuty 的 CloudWatch Events 通知頻率。
相關資訊
調查結果類型
匯出調查結果
為什麼我的 Amazon SNS 主題沒有收到 EventBridge 通知?