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

2 分的閱讀內容
0

我的 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 訂閱

  1. 開啟 Amazon SNS 主控台,然後選擇訂閱
  2. 對於您的 Amazon SNS 訂閱 ID,請驗證狀態是否為已確認主題正確。
  3. 如果狀態為待確認,請遵循指示以確認訂閱

確認 SNS 主題 IAM 存取政策的許可

  1. 開啟 Amazon SNS 主控台,然後選擇主題
  2. 名稱中,選擇您的 Amazon SNS 主題。
  3. 詳細資訊中,選擇存取政策索引標籤。
  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 KMS 許可

**注意:**您可以跳過此步驟,若您尚未啟動加密或使用 AWS 受管金鑰。

  1. 開啟 AWS KMS 主控台,然後選擇客戶受管金鑰
  2. 金鑰 ID 中,選擇用來加密 SNS 訊息的客戶受管金鑰
  3. 金鑰政策中,選擇切換至政策檢視
  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 CloudWatch Events 建立對 GuardDuty 調查結果的自訂回應

確認 EventBridge 匯出頻率

  1. 開啟 GuardDuty 主控台,然後選擇設定
  2. 調查結果匯出選項中,選擇編輯
  3. 編輯頻率以發佈更新的調查結果中,檢查頻率集。依預設,每 6 小時會將調查結果自動傳送至 EventBridge。若要從預設設定為 6 小時的頻率進行變更,請選擇 1 小時15 分鐘,然後選擇儲存變更

**注意:**GuardDuty 會在 5 分鐘內傳送新的調查結果類型的通知。如需詳細資訊,請參閱 GuardDuty 的 CloudWatch Events 通知頻率

相關資訊

調查結果類型

匯出調查結果

為什麼我的 Amazon SNS 主題沒有收到 EventBridge 通知?

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