如何對未傳遞的 GuardDuty 自訂 Amazon SNS 通知進行疑難排解?

2 分的閱讀內容
0

為什麼我的 Amazon GuardDuty 自訂 Amazon Simple Notification Service (Amazon SNS) 通知沒有傳遞?

簡短說明

我依照指示設定 GuardDuty 的 Amazon EventBridge 規則,以便在特定 AWS 服務事件類型觸發時傳送自訂 SNS 通知。但是,SNS 通知尚未傳遞。

解決方案

請依照這些指示確認下列項目的正確設定:

  • Amazon SNS 訂閱確認。
  • Amazon SNS 主題 (IAM) 存取政策。
  • AWS Key Management Service (AWS KMS) 權限。
  • EventBridge 事件模式 JSON 物件調查結果類型。

確認 Amazon SNS 訂閱

  1. 開啟 Amazon SNS 主控台,然後選擇 Subscriptions (訂閱)。
  2. 對於您的 Amazon SNS 訂閱 ID,請確認狀態為已確認
  3. 如果狀態為等待確認,請依照指示確認訂閱

確認 SNS 主題存取政策的權限

  1. 開啟 Amazon SNS 主控台,然後選擇 Topics (主題)。
  2. 名稱中,選擇您的 Amazon SNS 主題。
  3. 詳細資訊中,選擇 Access policy (存取政策) 索引標籤。
  4. 確認 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 (KMS) 權限

  1. 開啟 AWS KMS 主控台,然後選擇 Customer managed keys (客戶受管金鑰)。
  2. 金鑰 ID 中,選擇您的 AWS KMS 金鑰。
  3. 金鑰政策中,選擇 Switch to policy view (切換至政策檢視)。
  4. 確認 KMS 金鑰政策允許發佈類似下述內容的 events.amazonaws.com 主體:
{
    "Sid": "AWSEvents",
    "Effect": "Allow",
    "Principal": {
        "Service": "events.amazonaws.com"
    },
    "Action": [
        "kms:GenerateDataKey",
        "kms:Decrypt"
    ],
    "Resource": "*"
}

確認 EventBridge 事件模式 JSON 物件調查結果類型

  1. 開啟EventBridge 主控台,然後選擇Rules (規則)。
  2. 名稱中,選擇您的規則。
  3. 事件模式中,確認 JSON 物件調查結果類型與特定 AWS 服務相符,如下所示:
{
  "source": [
    "aws.guardduty"
  ],
  "detail-type": [
    "GuardDuty Finding"
  ]
}

相關資訊

使用 Amazon Elasticsearch Service (Amazon ES) 和 GuardDuty 即時監控您的安全性

GuardDuty 調查結果類型

AWS 官方
AWS 官方已更新 3 年前