使用 AWS re:Post 即表示您同意 AWS re:Post 使用條款

AWS 資源不符合規範時,如何使用 AWS Config 收到通知?

2 分的閱讀內容
0

我想建立 Amazon EventBridge 規則,在 AWS 資源不符合規範時,會傳送自訂電子郵件通知給我。

簡短說明

若要將 AWS Config 評估規則輸出比對為 NON_COMPLIANT,請先建立具有自訂事件模式和輸入變壓器的 EventBridge 規則。然後,將來自 EventBridge 的回應路由至 Amazon Simple Notification Service (Amazon SNS) 主題。

解決方案

在下列範例中,當 ec2-security-group-attached-to-eni 受管理規則將 AWS 資源報告為 NON_COMPLIANT 時,系統會收到 SNS 通知。不合規資源是 Amazon Elastic Compute Cloud (Amazon EC2) 安全群組。

**注意事項:**您可以替換特定 AWS 服務和 AWS Config 規則的 AWS Config 資源類型規則

完成下列步驟:

  1. 建立 Amazon SNS 主題。如果您有現有的 Amazon SNS 主題,請繼續進行下一步。
    **重要注意事項:**Amazon SNS 主題必須與您的 AWS Config 服務位於相同 AWS 區域。

  2. 開啟 EventBridge 主控台

  3. 選取 EventBridge Rule (EventBridge 規則),然後選擇 Create rule (建立規則)。

  4. Define rule detail (定義規則詳細資料) 畫面上的 Rule detail (規則詳細資料) 下方,輸入下列資訊:
    對於 Name (名稱),輸入規則的名稱。
    (選用) 對於 Description (描述),輸入規則的描述。
    對於 Rule type (規則類型),選擇 Rule with an event pattern (具有事件模式的規則)。然後,選擇 Next (下一步)。

  5. 對於 Event source (事件來源),選擇 AWS 事件或 EventBridge 合作夥伴事件

  6. Creation method (建立方法) 下方,選擇 Custom pattern (JSON editor) (自訂模式 (JSON 編輯器)),然後輸入下列事件模式範例:

    {
      "source": [
        "aws.config"
      ],
      "detail-type": [
        "Config Rules Compliance Change"
      ],
      "detail": {
        "messageType": [
          "ComplianceChangeNotification"
        ],
        "configRuleName": [
          "ec2-security-group-attached-to-eni"
        ],
        "resourceType": [
          "AWS::EC2::SecurityGroup"
        ],
        "newEvaluationResult": {
          "complianceType": [
            "NON_COMPLIANT"
          ]
        }
      }
    }
  7. 選擇 Next (下一步)。

  8. Select target(s) (選取目標) 畫面上,輸入下列資訊:
    Target types (目標類型) 中,選擇 AWS service (AWS 服務)。
    對於 Select a target (選取目標),選擇 SNS topic (SNS 主題)。
    對於 Topic (主題),選擇您的 SNS 主題。
    Additional settings (其他設定) 下方,對於 Configure target input (設定目標輸入) 選擇 Input transformer (輸入變壓器)。
    選擇 Configure input transformer (設定輸入變壓器)。
    然後,在 Input Path (輸入路徑) 文字方塊的 Target input transformer (目標輸入變壓器) 下方,輸入下列路徑範例:

    {
      "awsRegion": "$.detail.awsRegion",
      "resourceId": "$.detail.resourceId",
      "awsAccountId": "$.detail.awsAccountId",
      "compliance": "$.detail.newEvaluationResult.complianceType",
      "rule": "$.detail.configRuleName",
      "time": "$.detail.newEvaluationResult.resultRecordedTime",
      "resourceType": "$.detail.resourceType"
    }

    Template (範本) 中,輸入下列範本範例:

    "On yourTime AWS Config rule yourRule evaluated the yourResourceType with Id yourResourceId in the account yourAWSAccountId Region yourAwsRegion as yourCompliance. For more details open the AWS Config console at https://console.aws.amazon.com/config/home?region=yourAwsRegion#/timeline/yourResourceType/yourResourceId]/configuration"

    **注意事項:**在上述範例中,請根據您使用案例所需的時間、規則、資源類型、資源識別碼、AWS 帳戶識別碼和 AWS 區域、合規和資源資訊,以您自己的值取代 yourTime、yourRule、yourResourceType、yourResourceId、yourAWSAccountId、yourAWSRegion、yourCompliance
    選擇 Confirm (確認)。

  9. 選擇 Next (下一步)。然後,選擇 Next (下一步)。

  10. 選擇 Create rule (建立規則)。

觸發事件類型後,您會收到內含已填入自訂欄位的 SNS 電子郵件通知。

範例:

"On ExampleTime AWS Config rule ExampleRuleName evaluated the ExampleResourceType with Id ExampleResource_ID in the account ExampleAccount_ID in Region ExampleRegion as ExampleComplianceType. For more details open the AWS Config console at https://console.aws.amazon.com/config/home?region=ExampleRegion#/timeline/ExampleResourceType/ExampleResource_ID/configuration"

相關資訊

如何在 Amazon Route 53 託管區域記錄變更時收到通知?

使用 AWS Config 服務在 AWS 帳戶中建立資源後,如何接收自訂電子郵件通知?

對於特定 AWS 服務事件類型,如何為 GuardDuty 設定 EventBridge 規則以傳送自訂 SNS 通知?

AWS 官方
AWS 官方已更新 2 個月前