

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

# 使用 Amazon CloudTrail 日志监控 CloudWatch 日志文件
<a name="monitor-cloudtrail-log-files-with-cloudwatch-logs"></a>

您可以使用 [Amazon CloudWatch Logs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/WhatIsCloudWatchLogs.html) 从中监控、存储和访问您的日志文件 CloudTrail。

CloudWatch 日志使您能够将来自所有系统、应用程序和您 AWS 服务 使用的日志集中到一个高度可扩展的单一服务中。然后，您可以轻松查看它们，在它们中搜索特定的错误代码或模式，根据特定字段对其进行筛选，或者将其安全地存档以备将来分析。 CloudWatch 日志使您可以将所有日志（无论其来源如何）视为按时间排序的单一且一致的事件流。

完成以下步骤， CloudTrail 使用 CloudWatch 日志进行配置，以监控您的跟踪日志，并在发生特定活动时收到通知。

1. 配置您的跟踪以将日志事件发送到 CloudWatch 日志。

1. 定义 CloudWatch 日志指标筛选器，以评估日志事件中是否存在术语、短语或值的匹配项。例如，您可以监控 `ConsoleLogin` 事件。

1. 为 CloudWatch 指标筛选器分配指标。

1. 创建根据您指定的阈值和时间段触发的 CloudWatch 警报。您可以配置警报，以在触发警报时发送通知，使您可以执行操作。

1. 您也可以配置 CloudWatch 为自动执行操作以响应警报。

Amazon CloudWatch 和 Amazon CloudWatch Logs 的标准定价适用。有关更多信息，请参阅 [Amazon CloudWatch 定价](https://aws.amazon.com/cloudwatch/pricing/)。

有关您可以将跟踪配置为向 CloudWatch 日志发送日志的区域的更多信息，请参阅*AWS 一般参考*中的 [Amazon CloudWatch Logs 区域和配额](https://docs.aws.amazon.com/general/latest/gr/cwl_region.html)。

**Topics**
+ [将事件发送到 CloudWatch 日志](send-cloudtrail-events-to-cloudwatch-logs.md)
+ [为 CloudTrail 事件创建 CloudWatch 警报：示例](cloudwatch-alarms-for-cloudtrail.md)
+ [停止 CloudTrail 向 CloudWatch 日志发送事件](stop-cloudtrail-from-sending-events-to-cloudwatch-logs.md)
+ [CloudWatch 的日志组和日志流命名 CloudTrail](cloudwatch-log-group-log-stream-naming-for-cloudtrail.md)
+ [使用 CloudWatch 日志 CloudTrail 进行监控的角色策略文档](cloudtrail-required-policy-for-cloudwatch-logs.md)

# 将事件发送到 CloudWatch 日志
<a name="send-cloudtrail-events-to-cloudwatch-logs"></a>

当您将跟踪配置为向 CloudWatch Logs 发送事件时，仅 CloudTrail 发送与您的跟踪设置相匹配的事件。例如，如果您将跟踪配置为仅记录数据事件，则您的跟踪仅将数据事件发送到您的 CloudWatch 日志日志组。 CloudTrail 支持向 CloudWatch 日志发送数据、见解和管理事件。有关更多信息，请参阅 [处理 CloudTrail 日志文件](cloudtrail-working-with-log-files.md)。

**注意**  
只有管理账户才能使用控制台为组织跟踪配置 CloudWatch 日志组。授权的管理员可以使用 AWS CLI 或 CloudTrail `CreateTrail`或 `UpdateTrail` API 操作配置 CloudWatch 日志组。

要将事件发送到 CloudWatch 日志日志组，请执行以下操作：
+ 请确保您有足够的权限来创建或指定 IAM 角色。有关更多信息，请参阅 [授予在 CloudTrail 控制台上查看和配置 Amazon CloudWatch 日志信息的权限](security_iam_id-based-policy-examples.md#grant-cloudwatch-permissions-for-cloudtrail-users)。
+ 如果您使用配置 CloudWatch 日志日志组 AWS CLI，请确保您有足够的权限在您指定的 CloudWatch 日志组中创建日志日志流并将 CloudTrail 事件传送到该日志流。有关更多信息，请参阅 [创建策略文档](#send-cloudtrail-events-to-cloudwatch-logs-cli-create-policy-document)。
+ 创建新的跟踪或指定现有的跟踪。有关更多信息，请参阅 [使用控制台创建和更新跟踪](cloudtrail-create-and-update-a-trail-by-using-the-console.md)。
+ 创建一个日志组或指定一个现有日志组。
+ 指定 IAM 角色。如果您要修改用于组织跟踪的现有 IAM 角色，则必须手动更新策略，以允许组织跟踪的日志记录。有关更多信息，请参阅[此策略示例](#policy-cwl-org)和[为组织创建跟踪](creating-trail-organization.md)。
+ 附加一个角色策略或者使用默认角色策略。

**Contents**
+ [使用控制台配置 CloudWatch 日志监控](#send-cloudtrail-events-to-cloudwatch-logs-console)
  + [创建一个日志组或指定一个现有日志组](#send-cloudtrail-events-to-cloudwatch-logs-console-create-log-group)
  + [指定 IAM 角色](#send-cloudtrail-events-to-cloudwatch-logs-console-create-role)
  + [在 CloudWatch 控制台中查看事件](#viewing-events-in-cloudwatch)
+ [使用配置 CloudWatch 日志监控 AWS CLI](#send-cloudtrail-events-to-cloudwatch-logs-cli)
  + [创建日志组](#send-cloudtrail-events-to-cloudwatch-logs-cli-create-log-group)
  + [创建角色](#send-cloudtrail-events-to-cloudwatch-logs-cli-create-role)
  + [创建策略文档](#send-cloudtrail-events-to-cloudwatch-logs-cli-create-policy-document)
  + [更新跟踪](#send-cloudtrail-events-to-cloudwatch-logs-cli-update-trail)
+ [限制](#send-cloudtrail-events-to-cloudwatch-logs-limitations)

## 使用控制台配置 CloudWatch 日志监控
<a name="send-cloudtrail-events-to-cloudwatch-logs-console"></a>

您可以使用来配置您的跟踪 AWS 管理控制台 ，以便将事件发送到 CloudWatch 日志进行监控。

### 创建一个日志组或指定一个现有日志组
<a name="send-cloudtrail-events-to-cloudwatch-logs-console-create-log-group"></a>

CloudTrail 使用 CloudWatch 日志日志组作为日志事件的传输终端节点。可创建一个日志组或者指定一个现有日志组。

**为现有跟踪创建或指定日志组**

1. 请务必使用具有足够权限的管理用户或角色登录，以配置 CloudWatch 日志集成。有关更多信息，请参阅 [授予在 CloudTrail 控制台上查看和配置 Amazon CloudWatch 日志信息的权限](security_iam_id-based-policy-examples.md#grant-cloudwatch-permissions-for-cloudtrail-users)。
**注意**  
只有管理账户才能使用控制台为组织跟踪配置 CloudWatch 日志组。授权的管理员可以使用 AWS CLI 或 CloudTrail `CreateTrail`或 `UpdateTrail` API 操作配置 CloudWatch 日志组。

1. 打开 CloudTrail 控制台，网址为[https://console.aws.amazon.com/cloudtrail/](https://console.aws.amazon.com/cloudtrail/)。

1. 选择跟踪名称。如果您选择多区域跟踪，则将重定向到创建该跟踪的区域。可以在跟踪所在的区域创建一个日志组或者选择一个现有日志组。
**注意**  
多区域跟踪会将您中所有已启用区域的日志文件发送 AWS 账户 到您指定的 CloudWatch 日志日志组。

1. 在**CloudWatch 日志**中，选择**编辑**。

1. 对于**CloudWatch 日志**，选择**启用**。

1. 在**日志组名称**下，选择**新建**创建新的日志组，或选择**现有**使用现有的日志组。如果选择 “**新建**”，则会为您 CloudTrail 指定新日志组的名称，也可以键入名称。有关命名的更多信息，请参阅 [CloudWatch 的日志组和日志流命名 CloudTrail](cloudwatch-log-group-log-stream-naming-for-cloudtrail.md)。

1. 如果选择**现有**，则从下拉列表中选择一个日志组。

1. 对于**角色名称**，选择**新建**以创建新的 IAM 角色，以获得向日志发送 CloudWatch 日志的权限。选择**现有**以从下拉列表中选择一个现有 IAM 角色。展开**策略文档**时，将显示新角色或现有角色的策略语句。有关该角色的更多信息，请参阅[使用 CloudWatch 日志 CloudTrail 进行监控的角色策略文档](cloudtrail-required-policy-for-cloudwatch-logs.md)。
**注意**  
在您配置跟踪时，可以选择属于另一个账户的 S3 存储桶和 SNS 主题。但是，如果 CloudTrail 要将事件传送到 CloudWatch 日志日志组，则必须选择当前账户中存在的日志组。

1. 选择**保存更改**。

### 指定 IAM 角色
<a name="send-cloudtrail-events-to-cloudwatch-logs-console-create-role"></a>

您可以指定一个角色 CloudTrail 来代入将事件传送到日志流。

**指定角色**

1. 默认情况下，系统将为您指定 `CloudTrail_CloudWatchLogs_Role`。默认角色策略具有在您指定的 CloudWatch 日志组中创建日志日志流并将 CloudTrail 事件传送到该日志流所需的权限。
**注意**  
如果要将此角色用于组织跟踪的日志组，则必须在创建角色后手动修改策略。有关更多信息，请参阅[此策略示例](#policy-cwl-org)和[为组织创建跟踪](creating-trail-organization.md)。

   1. 要验证角色，请转到 AWS Identity and Access Management 控制台，网址为[https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)。

   1. 选择 “**角色**”，然后选择 **CloudTrail\$1 CloudWatchLogs \$1Rol** e。

   1. 在**权限**选项卡中，展开策略查看其内容。

1. 您可以指定其他角色，但是如果要使用该角色向 CloudWatch 日志发送事件，则必须将所需的角色策略附加到现有角色。有关更多信息，请参阅 [使用 CloudWatch 日志 CloudTrail 进行监控的角色策略文档](cloudtrail-required-policy-for-cloudwatch-logs.md)。



### 在 CloudWatch 控制台中查看事件
<a name="viewing-events-in-cloudwatch"></a>

将跟踪配置为将事件发送到 CloudWatch 日志日志组后，您可以在 CloudWatch 控制台中查看事件。 CloudTrail 通常在 API 调用后的平均大约 5 分钟内将事件传送到您的日志组。此时间并不能得到保证。有关更多信息，请参阅 [AWS CloudTrail 服务等级协议](https://aws.amazon.com/cloudtrail/sla)。

**在 CloudWatch 控制台中查看事件**

1. 打开 CloudWatch 控制台，网址为[https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/)。

1. 在左侧导航窗格中，从**日志**下选择**日志组**。

1. 选择为您的跟踪指定的日志组。

1. 选择要查看的日志流。

1. 要查看您的跟踪记录的事件的详细信息，请选择一个事件。

**注意**  
 CloudWatch 控制台中的**时间 (UTC)** 列显示事件何时传送到您的日志组。要查看记录事件的实际时间 CloudTrail，请参阅字`eventTime`段。

## 使用配置 CloudWatch 日志监控 AWS CLI
<a name="send-cloudtrail-events-to-cloudwatch-logs-cli"></a>

您可以使用配置 AWS CLI 将事件发送 CloudTrail 到 CloudWatch 日志进行监控。

### 创建日志组
<a name="send-cloudtrail-events-to-cloudwatch-logs-cli-create-log-group"></a>

1. 如果您没有现有的日志组，请使用 Logs `create-log-group` 命令创建一个 CloudWatch 日志日志组作为日志事件的传输终端节点。 CloudWatch 

   ```
   aws logs create-log-group --log-group-name name
   ```

   下面的示例创建一个名为 `CloudTrail/logs` 的日志组：

   ```
   aws logs create-log-group --log-group-name CloudTrail/logs
   ```

1. 检索日志组 Amazon 资源名称（ARN）。

   ```
   aws logs describe-log-groups
   ```

### 创建角色
<a name="send-cloudtrail-events-to-cloudwatch-logs-cli-create-role"></a>

为其创建一个角色 CloudTrail ，使其能够将事件发送到 CloudWatch 日志日志组。IAM `create-role` 命令接受两个参数：角色名称和代入角色策略文档（JSON 格式）的文件路径。您使用的策略文档`AssumeRole`授予权限 CloudTrail。`create-role` 命令可创建具有所需权限的角色。

要创建包含此策略文档的 JSON 文件，请打开文本编辑器并将以下策略内容保存到名为 `assume_role_policy_document.json` 的文件中。

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "",
      "Effect": "Allow",
      "Principal": {
        "Service": "cloudtrail.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}
```

------

运行以下命令来创建具有`AssumeRole`权限的角色 CloudTrail。

```
aws iam create-role --role-name role_name --assume-role-policy-document file://<path to assume_role_policy_document>.json
```

待命令完成后，记下输出中的角色 ARN。

### 创建策略文档
<a name="send-cloudtrail-events-to-cloudwatch-logs-cli-create-policy-document"></a>

为创建以下角色策略文档 CloudTrail。本文档授予 CloudTrail 在您指定的 CloudWatch 日志组中创建日志日志流以及向该日志流传送 CloudTrail 事件所需的权限。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AWSCloudTrailCreateLogStream2014110",
            "Effect": "Allow",
            "Action": [
                "logs:CreateLogStream"
            ],
            "Resource": [
                "arn:aws:logs:us-east-1:111111111111:log-group:log_group_name:log-stream:111111111111_CloudTrail_us-east-1*"
            ]
        },
        {
            "Sid": "AWSCloudTrailPutLogEvents20141101",
            "Effect": "Allow",
            "Action": [
                "logs:PutLogEvents"
            ],
            "Resource": [
                "arn:aws:logs:us-east-1:111111111111:log-group:log_group_name:log-stream:111111111111_CloudTrail_us-east-1*"
            ]
        }
    ]
}
```

------

将此策略文档保存到名为 `role-policy-document.json` 的文件中。<a name="policy-cwl-org"></a>

如果您要创建可能用于组织跟踪记录的策略，则需要对其进行稍微不同的配置。例如，以下策略授予 CloudTrail 在您指定的日志组中创建 CloudWatch 日志日志流以及向该日志流传送 CloudTrail 事件所需的权限，这些跟踪包括账户 111111111111 中的两个跟踪和在 111111111111 AWS 账户中创建的组织跟踪，这些跟踪应用于 ID 为的组织： AWS Organizations *o-exampleorgid*

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AWSCloudTrailCreateLogStream20141101",
            "Effect": "Allow",
            "Action": [
                "logs:CreateLogStream"
            ],
            "Resource": [
                "arn:aws:logs:us-east-2:111111111111:log-group:CloudTrail/DefaultLogGroupTest:log-stream:111111111111_CloudTrail_us-east-2*",
                "arn:aws:logs:us-east-2:111111111111:log-group:CloudTrail/DefaultLogGroupTest:log-stream:o-aa111bb222_*"
            ]
        },
        {
            "Sid": "AWSCloudTrailPutLogEvents20141101",
            "Effect": "Allow",
            "Action": [
                "logs:PutLogEvents"
            ],
            "Resource": [
                "arn:aws:logs:us-east-2:111111111111:log-group:CloudTrail/DefaultLogGroupTest:log-stream:111111111111_CloudTrail_us-east-2*",             
                "arn:aws:logs:us-east-2:111111111111:log-group:CloudTrail/DefaultLogGroupTest:log-stream:o-aa111bb222_*"
            ]
        }
    ]
}
```

------

有关组织跟踪记录的更多信息，请参阅[为组织创建跟踪](creating-trail-organization.md)。

运行以下命令以将策略应用于角色。

```
aws iam put-role-policy --role-name role_name --policy-name cloudtrail-policy --policy-document file://<path to role-policy-document>.json
```

### 更新跟踪
<a name="send-cloudtrail-events-to-cloudwatch-logs-cli-update-trail"></a>

使用 CloudTrail`update-trail`命令使用日志组和角色信息更新跟踪。

```
aws cloudtrail update-trail --name trail_name --cloud-watch-logs-log-group-arn log_group_arn --cloud-watch-logs-role-arn role_arn
```

有关 AWS CLI 命令的更多信息，请参阅《[AWS CloudTrail 命令行参考](https://docs.aws.amazon.com/cli/latest/reference/cloudtrail/)》。

## 限制
<a name="send-cloudtrail-events-to-cloudwatch-logs-limitations"></a>

CloudWatch 日志和 EventBridge 每个日志[允许的最大事件大小为 256 KB](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/cloudwatch_limits_cwl.html)。尽管大多数服务事件的最大大小为 256 KB，但有些服务的事件仍然更大。 CloudTrail 不会将这些事件发送到 CloudWatch 日志或 EventBridge。

从 CloudTrail 事件版本 1.05 开始，事件的最大大小为 256 KB。这是为了帮助防止恶意行为者利用这些漏洞，并允许其他 AWS 服务（例如 L CloudWatch ogs 和）使用事件 EventBridge。

# 为 CloudTrail 事件创建 CloudWatch 警报：示例
<a name="cloudwatch-alarms-for-cloudtrail"></a>

本主题介绍如何为 CloudTrail 事件配置警报，并包括示例。

**Topics**
+ [先决条件](#cloudwatch-alarms-prerequisites)
+ [创建指标筛选条件，并创建警报](#cloudwatch-alarms-metric-filter-alarm)
+ [示例安全组配置更改](#cloudwatch-alarms-for-cloudtrail-security-group)
+ [登录失 AWS 管理控制台 败示例](#cloudwatch-alarms-for-cloudtrail-signin)
+ [示例：IAM policy 更改](#cloudwatch-alarms-for-cloudtrail-iam-policy-changes)
+ [为 CloudWatch 日志警报配置通知](#cloudtrail-configure-notifications-for-cloudwatch-logs-alarms)

## 先决条件
<a name="cloudwatch-alarms-prerequisites"></a>

在使用本主题中的示例前，您必须：
+ 使用 控制台或 CLI 创建一个跟踪。
+ 创建日志组，您可以在创建跟踪时执行此操作。有关创建跟踪的更多信息，请参阅[使用 CloudTrail 控制台创建跟踪](cloudtrail-create-a-trail-using-the-console-first-time.md)。
+ 指定或创建一个 IAM 角色， CloudTrail 该角色授予在您指定的CloudWatch 日志组中创建日志日志流以及向该日志流传送 CloudTrail 事件的权限。默认的 `CloudTrail_CloudWatchLogs_Role` 将为您执行此操作。

有关更多信息，请参阅 [将事件发送到 CloudWatch 日志](send-cloudtrail-events-to-cloudwatch-logs.md)。本节中的示例在 Amazon CloudWatch Logs 控制台中执行。有关如何创建指标筛选条件和警报的更多信息，请参阅亚马逊* CloudWatch 用户指南中的[使用筛选条件从日志事件创建指标](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/MonitoringLogData.html)和使用亚马逊 CloudWatch *[警报](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html)。

## 创建指标筛选条件，并创建警报
<a name="cloudwatch-alarms-metric-filter-alarm"></a>

要创建警报，您必须首先创建指标筛选条件，然后根据该筛选条件配置警报。会针对所有示例显示这些过程。有关指标筛选器语法和 CloudTrail 日志事件模式的更多信息，请参阅 A *mazon Log CloudWatch s 用户*指南中[筛选和模式语法](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/FilterAndPatternSyntax.html)的 JSON 相关部分。

## 示例安全组配置更改
<a name="cloudwatch-alarms-for-cloudtrail-security-group"></a>

按照此过程创建 Amazon CloudWatch 警报，当安全组发生配置更改时触发该警报。

### 创建指标筛选条件
<a name="cloudwatch-alarms-for-cloudtrail-security-group-metric-filter"></a>

1. 打开 CloudWatch 控制台，网址为[https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/)。

1. 在导航窗格中，从**日志**下选择**日志组**。

1. 在日志组列表中，选择为跟踪创建的日志组。

1. 从**指标筛选条件**或**操作**菜单中选择**创建指标筛选条件**。

1. 在 **Define pattern**（定义模式）页面上的 **Create filter pattern**（创建筛选条件模式）中，为 **Filter pattern**（筛选条件模式）输入以下内容。

   ```
   { ($.eventName = AuthorizeSecurityGroupIngress) || ($.eventName = AuthorizeSecurityGroupEgress) || ($.eventName = RevokeSecurityGroupIngress) || ($.eventName = RevokeSecurityGroupEgress) || ($.eventName = CreateSecurityGroup) || ($.eventName = DeleteSecurityGroup) }
   ```

1. 在 **Test pattern**（测试模式）中，保留默认值。选择**下一步**。

1. 在**分配指标**页面上，为**筛选条件名称**输入 **SecurityGroupEvents**。

1. 在**指标详细信息**中，开启**新建**，然后在**指标命名空间**中输入 **CloudTrailMetrics**。

1. 对于**指标名称**，键入 **SecurityGroupEventCount**。

1. 对于**指标值**，键入 **1**。

1. 将 **Default value**（默认值）留空。

1. 选择**下一步**。

1. 在 **Review and create**（审核和重建）页面上，审核您的选择。选择 **Create metric filter**（创建指标筛选条件）以创建筛选条件，或选择 **Edit**（编辑）返回并更改值。

### 创建警报
<a name="cloudwatch-alarms-for-cloudtrail-security-group-create-alarm"></a>

创建指标筛选器后，将打开您的 CloudTrail 跟踪 CloudWatch 日志组的日志日志组详细信息页面。按照此程序创建警报。

1. 在 **Metric filters**（指标筛选条件）选项卡上，找到您在 [创建指标筛选条件](#cloudwatch-alarms-for-cloudtrail-security-group-metric-filter) 中创建的指标筛选条件。填充指标筛选条件的复选框。在 **Metric filters**（指标筛选条件）栏中，选择 **Create alarm**（创建警报）。

1. 在**指定指标和条件**字段中输入以下内容。

   1. 对于 **Graph**（图表），根据您在创建警报时所做的其他设置，该行设置为 **1**。

   1. 对于 **Metric name**（指标名称），请保留当前指标名称 **SecurityGroupEventCount**。

   1. 对于 **Statistic**（统计数据），请保留默认值 **Sum**。

   1. 对于 **Period**（期限），请保留默认值 **5 minutes**。

   1. 在 **Conditions**（条件）中，对于 **Threshold type**（阈值类型），选择 **Static**（静态）。

   1. 对于 “**无论何时*metric\$1name*是**”，选择 “**大于/** 等于”。

   1. 为阈值输入 **1**。

   1. 在 **Additional configuration**（其他配置）中，保留默认值。选择**下一步**。

1. 在 “**配置操作**” 页面上，选择 “**通知**”，然后选择 “**警报**”，这表示当超过 5 分钟内 1 个更改事件的阈值并**SecurityGroupEventCount**处于警报状态时，将采取行动。

   1. 对于**向以下 SNS 主题发送通知**，选择**新建主题**。

   1. 输入 **SecurityGroupChanges\$1CloudWatch\$1Alarms\$1Topic** 作为 Amazon SNS 新主题的名称。

   1. 在**将接收通知的电子邮件端点**中，输入您希望在触发此警报时接收通知的用户的电子邮件地址。用逗号分隔电子邮件地址。

      每位电子邮件收件人会收到电子邮件，要求他们确认他们想要订阅 Amazon SNS 主题。

   1. 选择**创建主题**。

1. 对于此示例，跳过其他操作类型。选择**下一步**。

1. 在 **Add name and description**（添加名称和描述）页面上，输入警报的易识别名称以及描述。在此示例中，请输入 **Security group configuration changes** 作为名称，**Raises alarms if security group configuration changes occur** 作为说明。选择**下一步**。

1. 在 **Preview and create**（预览和重建）页面上，审核您的选择。选择 **Edit**（编辑）以进行更改，或选择 **Create alarm**（创建警报）以创建警报。

   创建警报后， CloudWatch 打开 “**警报**” 页面。在有关 SNS 主题的所有电子邮件收件人都确认他们想要订阅 SNS 通知之前，警报的 **Actions**（操作）列一直显示 **Pending confirmation**（待确认）。

## 登录失 AWS 管理控制台 败示例
<a name="cloudwatch-alarms-for-cloudtrail-signin"></a>

按照此过程创建 Amazon CloudWatch 警报，该警报将在五分钟内出现三次或更多 AWS 管理控制台 登录失败时触发。

### 创建指标筛选条件
<a name="cloudwatch-alarms-for-cloudtrail-signin-metric-filter"></a>

1. 打开 CloudWatch 控制台，网址为[https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/)。

1. 在导航窗格中，从**日志**下选择**日志组**。

1. 在日志组列表中，选择为跟踪创建的日志组。

1. 从**指标筛选条件**或**操作**菜单中选择**创建指标筛选条件**。

1. 在 **Define pattern**（定义模式）页面上的 **Create filter pattern**（创建筛选条件模式）中，为 **Filter pattern**（筛选条件模式）输入以下内容。

   ```
   { ($.eventName = ConsoleLogin) && ($.errorMessage = "Failed authentication") }
   ```

1. 在 **Test pattern**（测试模式）中，保留默认值。选择**下一步**。

1. 在**分配指标**页面上，为**筛选条件名称**输入 **ConsoleSignInFailures**。

1. 在**指标详细信息**中，开启**新建**，然后在**指标命名空间**中输入 **CloudTrailMetrics**。

1. 对于**指标名称**，键入 **ConsoleSigninFailureCount**。

1. 对于**指标值**，键入 **1**。

1. 将 **Default value**（默认值）留空。

1. 选择**下一步**。

1. 在 **Review and create**（审核和重建）页面上，审核您的选择。选择 **Create metric filter**（创建指标筛选条件）以创建筛选条件，或选择 **Edit**（编辑）返回并更改值。

### 创建警报
<a name="cloudwatch-alarms-for-cloudtrail-signin-create-alarm"></a>

创建指标筛选器后，将打开您的 CloudTrail跟踪 CloudWatch 日志组的日志日志组详细信息页面。按照此程序创建警报。

1. 在 **Metric filters**（指标筛选条件）选项卡上，找到您在 [创建指标筛选条件](#cloudwatch-alarms-for-cloudtrail-signin-metric-filter) 中创建的指标筛选条件。填充指标筛选条件的复选框。在 **Metric filters**（指标筛选条件）栏中，选择 **Create alarm**（创建警报）。

1. 在 **Create Alarm**（创建警报）页面上的 **Specify metric and conditions**（指定指标和条件）中，输入以下内容：

   1. 对于 **Graph**（图表），根据您在创建警报时所做的其他设置，该行设置为 **3**。

   1. 对于 **Metric name**（指标名称），请保留当前指标名称 **ConsoleSigninFailureCount**。

   1. 对于 **Statistic**（统计数据），请保留默认值 **Sum**。

   1. 对于 **Period**（期限），请保留默认值 **5 minutes**。

   1. 在 **Conditions**（条件）中，对于 **Threshold type**（阈值类型），选择 **Static**（静态）。

   1. 对于 “**无论何时*metric\$1name*是**”，选择 “**大于/** 等于”。

   1. 为阈值输入 **3**。

   1. 在 **Additional configuration**（其他配置）中，保留默认值。选择**下一步**。

1. 在 “**配置操作**” 页面上，在 “**通知**” **中选择 “警报**”，这表示当超过 5 分钟内 3 个更改事件的阈值并**ConsoleSigninFailureCount**处于警报状态时，将采取该操作。

   1. 对于**向以下 SNS 主题发送通知**，选择**新建主题**。

   1. 输入 **ConsoleSignInFailures\$1CloudWatch\$1Alarms\$1Topic** 作为 Amazon SNS 新主题的名称。

   1. 在**将接收通知的电子邮件端点**中，输入您希望在触发此警报时接收通知的用户的电子邮件地址。用逗号分隔电子邮件地址。

      每位电子邮件收件人会收到电子邮件，要求他们确认他们想要订阅 Amazon SNS 主题。

   1. 选择**创建主题**。

1. 对于此示例，跳过其他操作类型。选择**下一步**。

1. 在 **Add name and description**（添加名称和描述）页面上，输入警报的易识别名称以及描述。在此示例中，请输入 **Console sign-in failures** 作为名称，**Raises alarms if more than 3 console sign-in failures occur in 5 minutes** 作为说明。选择**下一步**。

1. 在 **Preview and create**（预览和重建）页面上，审核您的选择。选择 **Edit**（编辑）以进行更改，或选择 **Create alarm**（创建警报）以创建警报。

   创建警报后， CloudWatch 打开 “**警报**” 页面。在有关 SNS 主题的所有电子邮件收件人都确认他们想要订阅 SNS 通知之前，警报的 **Actions**（操作）列一直显示 **Pending confirmation**（待确认）。

## 示例：IAM policy 更改
<a name="cloudwatch-alarms-for-cloudtrail-iam-policy-changes"></a>

按照此过程创建 Amazon CloudWatch 警报，该警报将在调用 API 以更改 IAM 策略时触发。

### 创建指标筛选条件
<a name="cloudwatch-alarms-for-cloudtrail-iam-policy-changes-metric-filter"></a>

1. 打开 CloudWatch 控制台，网址为[https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/)。

1. 在导航窗格中，选择**日志**。

1. 在日志组列表中，选择为跟踪创建的日志组。

1. 选择 **Actions**（操作），然后选择 **Create metric filter**（创建指标筛选条件）。

1. 在 **Define pattern**（定义模式）页面上的 **Create filter pattern**（创建筛选条件模式）中，为 **Filter pattern**（筛选条件模式）输入以下内容。

   ```
   {($.eventName=DeleteGroupPolicy)||($.eventName=DeleteRolePolicy)||($.eventName=DeleteUserPolicy)||($.eventName=PutGroupPolicy)||($.eventName=PutRolePolicy)||($.eventName=PutUserPolicy)||($.eventName=CreatePolicy)||($.eventName=DeletePolicy)||($.eventName=CreatePolicyVersion)||($.eventName=DeletePolicyVersion)||($.eventName=AttachRolePolicy)||($.eventName=DetachRolePolicy)||($.eventName=AttachUserPolicy)||($.eventName=DetachUserPolicy)||($.eventName=AttachGroupPolicy)||($.eventName=DetachGroupPolicy)}
   ```

1. 在 **Test pattern**（测试模式）中，保留默认值。选择**下一步**。

1. 在**分配指标**页面上，为**筛选条件名称**输入 **IAMPolicyChanges**。

1. 在**指标详细信息**中，开启**新建**，然后在**指标命名空间**中输入 **CloudTrailMetrics**。

1. 对于**指标名称**，键入 **IAMPolicyEventCount**。

1. 对于**指标值**，键入 **1**。

1. 将 **Default value**（默认值）留空。

1. 选择**下一步**。

1. 在 **Review and create**（审核和重建）页面上，审核您的选择。选择 **Create metric filter**（创建指标筛选条件）以创建筛选条件，或选择 **Edit**（编辑）返回并更改值。

### 创建警报
<a name="cloudwatch-alarms-for-cloudtrail-iam-policy-changes-create-alarm"></a>

创建指标筛选器后，将打开您的 CloudTrail跟踪 CloudWatch 日志组的日志日志组详细信息页面。按照此程序创建警报。

1. 在 **Metric filters**（指标筛选条件）选项卡上，找到您在 [创建指标筛选条件](#cloudwatch-alarms-for-cloudtrail-iam-policy-changes-metric-filter) 中创建的指标筛选条件。填充指标筛选条件的复选框。在 **Metric filters**（指标筛选条件）栏中，选择 **Create alarm**（创建警报）。

1. 在 **Create Alarm**（创建警报）页面上的 **Specify metric and conditions**（指定指标和条件）中，输入以下内容：

   1. 对于 **Graph**（图表），根据您在创建警报时所做的其他设置，该行设置为 **1**。

   1. 对于 **Metric name**（指标名称），请保留当前指标名称 **IAMPolicyEventCount**。

   1. 对于 **Statistic**（统计数据），请保留默认值 **Sum**。

   1. 对于 **Period**（期限），请保留默认值 **5 minutes**。

   1. 在 **Conditions**（条件）中，对于 **Threshold type**（阈值类型），选择 **Static**（静态）。

   1. 对于 “**无论何时*metric\$1name*是**”，选择 “**大于/** 等于”。

   1. 为阈值输入 **1**。

   1. 在 **Additional configuration**（其他配置）中，保留默认值。选择**下一步**。

1. 在 “**配置操作**” 页面上，在 “**通知**” **中选择 “警报**”，这表示当超过 5 分钟内 1 个更改事件的阈值并**IAMPolicyEventCount**处于警报状态时，将采取该操作。

   1. 对于**向以下 SNS 主题发送通知**，选择**新建主题**。

   1. 输入 **IAM\$1Policy\$1Changes\$1CloudWatch\$1Alarms\$1Topic** 作为 Amazon SNS 新主题的名称。

   1. 在**将接收通知的电子邮件端点**中，输入您希望在触发此警报时接收通知的用户的电子邮件地址。用逗号分隔电子邮件地址。

      每位电子邮件收件人会收到电子邮件，要求他们确认他们想要订阅 Amazon SNS 主题。

   1. 选择**创建主题**。

1. 对于此示例，跳过其他操作类型。选择**下一步**。

1. 在 **Add name and description**（添加名称和描述）页面上，输入警报的易识别名称以及描述。在此示例中，请输入 **IAM Policy Changes** 作为名称，**Raises alarms if IAM policy changes occur** 作为说明。选择**下一步**。

1. 在 **Preview and create**（预览和重建）页面上，审核您的选择。选择 **Edit**（编辑）以进行更改，或选择 **Create alarm**（创建警报）以创建警报。

   创建警报后， CloudWatch 打开 “**警报**” 页面。在有关 SNS 主题的所有电子邮件收件人都确认他们想要订阅 SNS 通知之前，警报的 **Actions**（操作）列一直显示 **Pending confirmation**（待确认）。

## 为 CloudWatch 日志警报配置通知
<a name="cloudtrail-configure-notifications-for-cloudwatch-logs-alarms"></a>

您可以将 CloudWatch 日志配置为在触发警报时发送通知 CloudTrail。这样，您就可以对事件中捕获并由 CloudWatch 日志检测到的关键操作 CloudTrail事件做出快速响应。 CloudWatch 使用亚马逊简单通知服务 (SNS) Simple Notification Service 发送电子邮件。有关更多信息，请参阅*CloudWatch 用户*指南中的[设置 Amazon SNS 通知](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Notify_Users_Alarm_Changes.html#US_SetupSNS)。

# 停止 CloudTrail 向 CloudWatch 日志发送事件
<a name="stop-cloudtrail-from-sending-events-to-cloudwatch-logs"></a>

您可以通过更新跟踪以禁用 CloudWatch CloudWatch 日志设置来停止向 Amazon Logs 发送 AWS CloudTrail 事件。

## 停止向 CloudWatch 日志发送事件（控制台）
<a name="stop-cloudtrail-from-sending-events-to-cloudwatch-logs-console"></a>



**停止向 CloudWatch 日志发送 CloudTrail 事件**

1. 登录 AWS 管理控制台 并打开 CloudTrail 控制台，网址为[https://console.aws.amazon.com/cloudtrail/](https://console.aws.amazon.com/cloudtrail/)。

1. 在导航窗格中，选择**跟踪**。

1. 选择要禁用 CloudWatch 日志集成的跟踪的名称。

1. 在**CloudWatch 日志**中，选择**编辑**。

1. 取消选中**启用**复选框。

1. 选择**保存更改**。

## 停止向 CloudWatch 日志发送事件 (CLI)
<a name="stop-cloudtrail-from-sending-events-to-cloudwatch-logs-cli"></a>

您可以通过运行[**update-trail**](cloudtrail-create-and-update-a-trail-by-using-the-aws-cli-update-trail.md)命令来移除作为传输终端节点的 CloudWatch 日志组。以下命令将日志组 ARN 和日志角色 ARN 的值替换为空值，从而从跟踪配置中清除日志组 CloudWatch 和角色 ARN。

```
aws cloudtrail update-trail --name trail_name --cloud-watch-logs-log-group-arn="" --cloud-watch-logs-role-arn=""
```

# CloudWatch 的日志组和日志流命名 CloudTrail
<a name="cloudwatch-log-group-log-stream-naming-for-cloudtrail"></a>

Amazon CloudWatch 会将您为 CloudTrail 事件创建的日志组与您在某个区域中的任何其他日志组一起显示。建议您使用可帮助您轻松地将该日志组与其他日志组区分开的日志组名称。例如 **CloudTrail/logs**。

命名日志组时请遵循以下准则：
+ 日志组名称在 AWS 账户的某个区域内必须是唯一的。
+ 日志组名称的长度可介于 1 和 512 个字符之间。
+ 日志组名称包含以下字符：a-z、A-Z、0-9、“\$1”（下划线）、“-”（连字符）、“/”（正斜杠）、“.”（句点）和“\$1”（井号）。

在为日志组 CloudTrail 创建日志流时，它会根据以下格式命名日志流：*account\$1ID*\$1 CloudTrail \$1 *trail\$1region*。

**注意**  
如果 CloudTrail 日志量很大，则可能会创建多个日志流来将日志数据传送到您的日志组。当有多个日志流时，按以下格式 CloudTrail 命名每个日志流：*account\$1ID*\$1 CloudTrail \$1 *trail\$1region* \$1 *number*。

有关 CloudWatch 日志组的更多信息，请参阅 Amazon [日志*用户指南和 Amazon Lo CloudWatch g* s *API 参考[CreateLogGroup](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_CreateLogGroup.html)中的使用 CloudWatch 日志*组和日志流](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html)。

# 使用 CloudWatch 日志 CloudTrail 进行监控的角色策略文档
<a name="cloudtrail-required-policy-for-cloudwatch-logs"></a>

本节介绍 CloudTrail 角色向 Log CloudWatch s 发送日志事件所需的权限策略。在配置为发送事件时，可以将策略文档附加 CloudTrail 到角色，如中所述[将事件发送到 CloudWatch 日志](send-cloudtrail-events-to-cloudwatch-logs.md)。您也可以使用 IAM 创建角色。有关更多信息，请参阅[创建向 AWS 服务委派权限的角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html)或[创建 IAM 角色（AWS CLI）](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user.html#roles-creatingrole-user-cli)。

以下示例策略文档包含在您指定的日志组中创建 CloudWatch 日志流以及将 CloudTrail 事件传送到美国东部（俄亥俄州）地区的日志流所需的权限。（这是适用于默认 IAM 角色 `CloudTrail_CloudWatchLogs_Role` 的默认策略。）

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AWSCloudTrailCreateLogStream2014110",
            "Effect": "Allow",
            "Action": [
                "logs:CreateLogStream"
            ],
            "Resource": [
                "arn:aws:logs:us-east-2:111122223333:log-group:log_group_name:log-stream:CloudTrail_log_stream_name_prefix*"
            ]
        },
        {
            "Sid": "AWSCloudTrailPutLogEvents20141101",
            "Effect": "Allow",
            "Action": [
                "logs:PutLogEvents"
            ],
            "Resource": [
                "arn:aws:logs:us-east-2:111122223333:log-group:log_group_name:log-stream:CloudTrail_log_stream_name_prefix*"
            ]
        }
    ]
}
```

------

如果您要创建可能用于组织跟踪记录的策略，则需要根据为该角色创建的默认策略对其进行修改。例如，以下策略授予 CloudTrail 在您指定为的值的 CloudWatch 日志组中创建日志日志流以及向该日志流传送 CloudTrail事件所需的权限*log\$1group\$1name*，该权限适用于账户 111111111111 中的两个跟踪和在 111111111111 AWS 账户中创建的组织跟踪，这些跟踪应用于组织 ID 为： AWS Organizations *o-exampleorgid*

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AWSCloudTrailCreateLogStream20141101",
            "Effect": "Allow",
            "Action": [
                "logs:CreateLogStream"
            ],
            "Resource": [
                "arn:aws:logs:us-east-2:111111111111:log-group:log_group_name:log-stream:111111111111_CloudTrail_us-east-2*",
                "arn:aws:logs:us-east-2:111111111111:log-group:log_group_name:log-stream:o-exampleorgid_*"
            ]
        },
        {
            "Sid": "AWSCloudTrailPutLogEvents20141101",
            "Effect": "Allow",
            "Action": [
                "logs:PutLogEvents"
            ],
            "Resource": [
                "arn:aws:logs:us-east-2:111111111111:log-group:log_group_name:log-stream:111111111111_CloudTrail_us-east-2*",
                "arn:aws:logs:us-east-2:111111111111:log-group:log_group_name:log-stream:o-exampleorgid_*"
            ]
        }
    ]
}
```

------

有关组织跟踪记录的更多信息，请参阅[为组织创建跟踪](creating-trail-organization.md)。