

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 监控
<a name="monitoring"></a>

您可以使用其他 AWS 服务来监控 AWS Config 资源。
+ 每次由于用户 API 活动而创建、更新或以其他方式修改支持的 AWS 资源时，您都可以使用亚马逊简单通知服务 (SNS) Simple Notification Service 向您发送通知。
+ 您可以使用 Amazon EventBridge 来检测 AWS Config 事件状态的变化并做出反应。

**Topics**
+ [使用 Amazon SQS](monitor-resource-changes.md)
+ [使用亚马逊 EventBridge](monitor-config-with-cloudwatchevents.md)

# 使用 Amazon SQS 监控 AWS 资源变化
<a name="monitor-resource-changes"></a>

AWS Config 每次由于用户 API 活动而创建、更新或以其他方式修改支持的 AWS 资源时，都会使用亚马逊简单通知服务 (SNS) Simple Notification Service 向您发送通知。但是您可能只关注特定资源配置的更改。例如，您可能认为必须在有人修改了安全组配置时了解这一情况，但不需要在您的 Amazon EC2 实例标签每次更改时都得到通知。或者，您可能想要编写一个在指定资源被更新时执行指定操作的程序。例如，您可能想要在某个安全组的配置发生更改时启动特定工作流程。如果您想通过这些或其他方式以编程方式使用来自 AWS Config 的数据，请使用亚马逊简单队列服务队列作为 Amazon SNS 的通知终端节点。

**注意**  
Amazon SNS 发出的通知的形式可以是电子邮件、发送到支持短信服务功能的手机和智能手机上的短信服务（SMS）消息、发送到移动设备应用程序上的通知消息，或者发送到一个或多个 HTTP 或 HTTPS 端点的通知消息。

无论每个区域只订阅一个主题还是每个区域的每个账户只订阅一个主题，您都可以使用单个 SQS 队列订阅多个主题。您必须用队列订阅您需要的 SNS 主题。(您可以用多个队列订阅一个 SNS 主题。） 有关更多信息，请参阅[将 Amazon SNS 消息发送到 Amazon SQS 队列](https://docs.aws.amazon.com/sns/latest/dg/SendMessageToSQS.html)。

## Amazon SQS 的权限
<a name="sqs-policy"></a>

要将 Amazon SQS 与配合使用 AWS Config，您必须配置一项策略，向您的账户授予执行所有 SQS 队列所允许的操作的权限。以下示例策略授予账户 111122223333 和 444455556666 权限，允许其在名为 arn:aws:sqs:us-east-2:444455556666:queue1. 的队列每次发生配置更改时发送相关消息。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Id": "Queue1_Policy_UUID",
  "Statement": 
    {
       "Sid":"Queue1_SendMessage",
       "Effect": "Allow",
       "Principal": {
            "AWS": ["111122223333","444455556666"]
         },
        "Action": "sqs:SendMessage",
        "Resource": "arn:aws:sqs:us-east-2:444455556666:queue1"
     }
}
```

------

您还必须创建一项策略，授予 SNS 主题和订阅该主题的 SQS 队列之间的连接权限。以下是一个策略示例，它允许使用亚马逊资源名称 (ARN) 的 SNS 主题 arn: aws: sns: us-east-2:111122223333: test-topic 对名为 arn: aws: sqs: us-east-2:111122223333: 的队列执行任何操作。test-topic-queue

**注意**  
SNS 主题和 SQS 队列的账户必须处于同一区域中。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Id": "SNStoSQS",
  "Statement": 
    {
      "Sid":"rule1",
      "Effect": "Allow",
      "Principal": {
        "Service": "sns.amazonaws.com"
      },
      "Action": "SQS:SendMessage",
      "Resource": "arn:aws:sqs:us-east-2:111122223333:test-topic-queue",
      "Condition" : {
        "StringEquals" : {
          "aws:SourceArn":"arn:aws:sns:us-east-2:111122223333:test-topic"
        }
      }
    }
}
```

------

每项策略中的规定可以只针对一个队列而不是多个队列。有关 Amazon SQS 策略受到的其他限制的信息，请参阅 [Amazon SQS 策略的特别信息](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/AccessPolicyLanguage_SpecialInfo.html)。

# AWS Config 使用 Amazon 进行监控 EventBridge
<a name="monitor-config-with-cloudwatchevents"></a>

Amazon EventBridge 提供了描述 AWS 资源变化的近乎实时的系统事件流。使用 Amazon EventBridge 来检测 AWS Config 事件状态的变化并做出反应。

您可以创建一个规则，只要状态发生变换或者在变换到一个或多个感兴趣的状态时，就运行该规则。然后，当事件与您在规则中指定的值相匹配时，Amazon 会根据您创建的规则 EventBridge 调用一个或多个目标操作。根据事件类型，您可能想要发送通知、捕获事件信息、采取纠正措施、启动事件或采取其他操作。

但是 AWS Config，在为创建事件规则之前，应执行以下操作：
+ 熟悉中的事件、规则和目标。 EventBridge有关更多信息，请参阅[什么是亚马逊 EventBridge？](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-what-is.html)
+ 有关如何开始使用 EventBridge 和设置规则的更多信息，请参阅 [Amazon 入门 EventBridge](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-get-started.html)。
+ 创建将在您的事件规则中使用的目标。

**Topics**
+ [注意事项](#monitor-config-with-cloudwatchevents-considerations)
+ [Amazon EventBridge 格式为 AWS Config](#cloudwatch-event-format-for-awsconfig)
+ [为以下各项创建亚马逊 EventBridge 规则 AWS Config](#create-cloudwatch-events-rule-for-awsconfig)

## 注意事项
<a name="monitor-config-with-cloudwatchevents-considerations"></a>

如果您不使用以下资源类型录制警报，则不会通过 EventBridge 以下方式接收警报 AWS Config：
+ `AWS::ACM::Certificate`
+ `AWS::CloudTrail::Trail`
+ `AWS::CloudWatch::Alarm`
+ `AWS::EC2::CustomerGateway`
+ `AWS::EC2::EIP`
+ `AWS::EC2::Host`
+ `AWS::EC2::Instance`
+ `AWS::EC2::InternetGateway`
+ `AWS::EC2::NetworkAcl`
+ `AWS::EC2::NetworkInterface`
+ `AWS::EC2::RouteTable`
+ `AWS::EC2::SecurityGroup`
+ `AWS::EC2::Subnet`
+ `AWS::EC2::VPC`
+ `AWS::EC2::VPNConnection`
+ `AWS::EC2::VPNGateway`
+ `AWS::EC2::Volume`
+ `AWS::ElasticLoadBalancingV2::LoadBalancer`
+ `AWS::IAM::Group`
+ `AWS::IAM::Policy`
+ `AWS::IAM::Role`
+ `AWS::IAM::User`
+ `AWS::RDS::DBInstance`
+ `AWS::RDS::DBSecurityGroup`
+ `AWS::RDS::DBSnapshot`
+ `AWS::RDS::DBSubnetGroup`
+ `AWS::RDS::EventSubscription`
+ `AWS::Redshift::Cluster`
+ `AWS::Redshift::ClusterParameterGroup`
+ `AWS::Redshift::ClusterSecurityGroup`
+ `AWS::Redshift::ClusterSnapshot`
+ `AWS::Redshift::ClusterSubnetGroup`
+ `AWS::Redshift::EventSubscription`
+ `AWS::S3::Bucket`

## Amazon EventBridge 格式为 AWS Config
<a name="cloudwatch-event-format-for-awsconfig"></a>

 EventBridge [的事件](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-events.html) AWS Config 采用以下格式：

```
          {
             "version": "0",
             "id": "cd4d811e-ab12-322b-8255-872ce65b1bc8",
             "detail-type": "event type",
             "source": "aws.config",
             "account": "111122223333",
             "time": "2018-03-22T00:38:11Z",
             "region": "us-east-1",
             "resources": [
                resources
             ],
             "detail": {
                specific message type
             }
          }
```

## 为以下各项创建亚马逊 EventBridge 规则 AWS Config
<a name="create-cloudwatch-events-rule-for-awsconfig"></a>

使用以下步骤创建触发事件的 EventBridge 规则。 AWS Config尽最大努力发出事件。

1. 在导航窗格中，选择**规则**。

1. 选择**创建规则**。

1. 为规则输入名称和描述。

   规则不能与同一区域中的另一个规则和同一事件总线上的名称相同。
**注意**  
事件总线从源接收事件，通过规则对事件进行评估，应用所有已配置的输入转换，然后将事件路由至相应的一个或多个目标。您的账户有一个默认事件总线，它接收来自 AWS 服务的事件。自定义事件总线可以从您的自定义应用程序和服务接收事件。合作伙伴事件总线从 SaaS 合作伙伴创建的事件源接收事件。这些事件来自合作伙伴的服务或应用程序。有关更多信息，请参阅《亚马逊* EventBridge 用户指南》 EventBridge中的 Amaz* [on 事件总线](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-event-bus.html)。

1. 对于**规则类型**，选择**具有事件模式的规则**。

1. 对于**事件来源**，选择**AWS 事件或 EventBridge 合作伙伴事件**。

1. （可选）对于**示例事件类型**，选择 **AWS 事件**。

1. （可选）对于**示例事件**，选择用于触发此规则的事件类型：
   + 选择 **AWS API 调用来源 CloudTrail**以根据对此服务进行的 API 调用制定规则。有关创建此类规则的更多信息，请参阅[教程：为 AWS CloudTrail API 调用创建 Amazon EventBridge 规则](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-ct-api-tutorial.html)。
   + 选择 **Config Configuration Item Change** 以在您账户中的资源发生更改时获取通知。

     如这些支持文章中所述，在创建或删除资源时，您可以使用 EventBridge 接收自定义电子邮件通知。在[我的 using AWS Config 服务中创建资源时，如何接收自定义电子邮件通知？ AWS 账户](https://aws.amazon.com/premiumsupport/knowledge-center/config-email-resource-created/) 以及当[我的 AWS 账户 使用 AWS Config 服务中的资源被删除时，如何才能收到自定义电子邮件通知？](https://aws.amazon.com/premiumsupport/knowledge-center/config-email-resource-deleted/) 。
   + 选择 **Config Rules Compliance Change** 以在对您的规则进行合规性检查失败时获取通知。

     如本支持文章所述，当资源不合规时，您可以使用 EventBridge 接收自定义电子邮件通知，当资源不合规[时，如何使用通知我](https://repost.aws/knowledge-center/config-resource-non-compliant)？ AWS AWS Config。
   + 选择 **Config Rules Re-evaluation Status** 以获取重新评估状态通知。
   + 选择 **Config Configuration Snapshot Delivery Status** 以获取配置快照传输状态通知。
   + 选择 **Config Configuration History Delivery Status** 以获取配置历史记录传输状态通知。

1. 对于**创建方法**，选择**使用模式表单**。

1. 对于**事件源**，选择**AWS 服务**。

1. 对于 **AWS 服务**，请选择 **Config**。

1. 对于**事件类型**，选择用于触发此规则的事件类型：
   + 选择 “**所有事件**” 以制定适用于所有 AWS 服务的规则。如果选择此选项，则无法选择特定的消息类型、规则名称、资源类型或资源 IDs。
   + 选择 **AWS API 调用来源 CloudTrail**以根据对此服务进行的 API 调用制定规则。有关创建此类规则的更多信息，请参阅[教程：为 AWS CloudTrail API 调用创建 Amazon EventBridge 规则](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-ct-api-tutorial.html)。
   + 选择 **Config Configuration Item Change** 以在您账户中的资源发生更改时获取通知。

     如这些支持文章中所述，在创建或删除资源时，您可以使用 EventBridge 接收自定义电子邮件通知。在[我的 using AWS Config 服务中创建资源时，如何接收自定义电子邮件通知？ AWS 账户](https://aws.amazon.com/premiumsupport/knowledge-center/config-email-resource-created/) 以及当[我的 AWS 账户 使用 AWS Config 服务中的资源被删除时，如何才能收到自定义电子邮件通知？](https://aws.amazon.com/premiumsupport/knowledge-center/config-email-resource-deleted/) 。
   + 选择 **Config Rules Compliance Change** 以在对您的规则进行合规性检查失败时获取通知。

     如本支持文章所述，当资源不合规时，您可以使用 EventBridge 接收自定义电子邮件通知，当资源不合规[时，如何使用通知我](https://repost.aws/knowledge-center/config-resource-non-compliant)？ AWS AWS Config。
   + 选择 **Config Rules Re-evaluation Status** 以获取重新评估状态通知。
   + 选择 **Config Configuration Snapshot Delivery Status** 以获取配置快照传输状态通知。
   + 选择 **Config Configuration History Delivery Status** 以获取配置历史记录传输状态通知。

1. 选择 **Any message type** 以接收任何类型的通知。选择 **Specific message type(s）** 以接收以下类型的通知：
   + 如果您愿意 **ConfigurationItemChangeNotification**，则在 AWS Config 评估的资源的配置发生变化时，您会收到消息。
   + 如果您愿意 **ComplianceChangeNotification**，则在 AWS Config 评估的资源的合规性类型发生变化时，您会收到消息。
   + 如果您愿意 **ConfigRulesEvaluationStarted**，则在 AWS Config 开始针对指定资源评估您的规则时，您会收到消息。
   + 如果您愿意 **ConfigurationSnapshotDeliveryCompleted**，则在 AWS Config 成功将配置快照传送到您的 Amazon S3 存储桶时，您会收到消息。
   + 如果您愿意 **ConfigurationSnapshotDeliveryFailed**，则在 AWS Config 无法将配置快照传送到您的 Amazon S3 存储桶时，您会收到消息。
   + 如果您愿意 **ConfigurationSnapshotDeliveryStarted**，则在 AWS Config 开始将配置快照传送到您的 Amazon S3 存储桶时会收到消息。
   + 如果您愿意 **ConfigurationHistoryDeliveryCompleted**，则在 AWS Config 成功将配置历史记录传送到您的 Amazon S3 存储桶时，您会收到消息。

1. 如果您从 “事件类型” 下拉列表中选择了特定的**事件类型**，请选择 “**任何资源类型**”，以制定适用于所有 AWS Config 支持的资源类型的规则。

   或者，选择 **Specific resource type(s）（特定资源类型）**，然后键入 AWS Config 支持的资源类型（例如，`AWS::EC2::Instance`）。

1. 如果您从**事件类型**下拉列表中选择了某个特定事件类型，请选择**任何资源 ID**，以包括 AWS Config 支持的任何资源 ID。

   或者，选择 **Specific resource ID(s）（特定资源 ID）**，然后键入 AWS Config 支持的资源 ID（例如，`i-04606de676e635647`）。

1. 如果您从**事件类型**下拉列表中选择了某个特定事件类型，请选择**任何规则名称**，以包括 AWS Config 支持的任何规则。

   或者，选择 **Specific rule name(s）（特定规则名称）**，然后键入 AWS Config 支持的规则（例如，**required-tags**）。

1. 对于**选择目标**，选择您准备为此规则使用的目标类型，然后配置该类型所需的任何其他选项。

1. 显示的字段因您选择的服务而异。根据需要输入此目标类型的特定信息。

1. 对于许多目标类型， EventBridge 需要向目标发送事件的权限。在这些情况下， EventBridge 可以创建规则运行所需的 IAM 角色。
   + 若要自动创建 IAM 角色，请选择 **Create a new role for this specific resource（为此特定资源创建新角色）**。
   + 要使用您之前创建的 IAM 角色，请选择 **Use existing role（使用现有角色）**。

1. （可选）选择 **Add target（添加目标）**，以便为此规则添加另一个目标。

1. （可选）为规则输入一个或多个标签。有关更多信息，请参阅 [Amazon EventBridge 标签](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-tagging.html)。

1. 审查您的规则设置以确保其符合事件监控要求。

1. 选择**创建**以确认您的选择。