针对 CloudTrail 事件创建 CloudWatch 警报:示例 - Amazon CloudTrail
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

针对 CloudTrail 事件创建 CloudWatch 警报:示例

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

注意

您可以使用 Amazon CloudFormation 模板一次性创建以下所有指标筛选条件和警报示例,而不是手动创建它们。有关更多信息,请参阅使用 Amazon CloudFormation 模板创建 CloudWatch 警报

先决条件

在使用本主题中的示例前,您必须:

  • 使用 控制台或 CLI 创建一个跟踪.

  • 创建日志组,您可以在创建跟踪时执行此操作。有关创建跟踪的更多信息,请参阅创建跟踪

  • 指定或创建一个 IAM 角色,该角色授予 CloudTrail 在您指定的日志组中创建 CloudWatch Logs 日志流并将 CloudTrail 事件传送到该日志流的权限。默认的 CloudTrail_CloudWatchLogs_Role 将为您执行此操作。

有关更多信息,请参阅将事件发送到 CloudWatch Logs。本节中的示例在 Amazon CloudWatch Logs 控制台中执行。有关如何创建指标筛选条件和警报的更多信息,请参阅 Amazon CloudWatch 用户指南中的使用筛选条件从日志事件创建指标使用 Amazon CloudWatch 警报

创建指标筛选条件,并创建警报

要创建警报,您必须首先创建指标筛选条件,然后根据该筛选条件配置警报。会针对所有示例显示这些过程。有关 CloudTrail 日志事件的指标筛选条件和模式的语法的更多信息,请参阅 Amazon CloudWatch Logs 用户指南中的筛选条件和模式语法中与 JSON 相关的部分。

示例安全组配置更改

按照此步骤操作可创建 Amazon CloudWatch 警报,当发生关于安全组的配置更改时会触发此警报。

创建指标筛选条件

  1. 通过以下网址打开 CloudWatch 控制台:https://console.aws.amazon.com/cloudwatch/

  2. 在导航窗格中,选择日志

  3. 在日志组列表中,选择为 CloudTrail 日志事件创建的日志组。

  4. 选择 Actions(操作),然后选择 Create metric filter(创建指标筛选条件)。

  5. Define pattern(定义模式)页面上的 Create filter pattern(创建筛选条件模式)中,为 Filter pattern(筛选条件模式)输入以下内容。

    { ($.eventName = AuthorizeSecurityGroupIngress) || ($.eventName = AuthorizeSecurityGroupEgress) || ($.eventName = RevokeSecurityGroupIngress) || ($.eventName = RevokeSecurityGroupEgress) || ($.eventName = CreateSecurityGroup) || ($.eventName = DeleteSecurityGroup) }
  6. Test pattern(测试模式)中,保留默认值。选择 Next(下一步)。

  7. Assign metric(分配指标)页面上,对于 Filter name(筛选条件名称),输入 SecurityGroupEvents

  8. Metric details(指标详细信息)中,开启 Create new(新建),然后在 Metric namespace(指标命名空间)中输入 CloudTrailMetrics

  9. 对于 Metric Name(指标名称),请键入 SecurityGroupEventCount

  10. 对于 Metric Value(指标值),请键入 1

  11. Default value(默认值)留空。

  12. 选择 Next(下一步)。

  13. Review and create(审核和重建)页面上,审核您的选择。选择 Create metric filter(创建指标筛选条件)以创建筛选条件,或选择 Edit(编辑)返回并更改值。

创建警报

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

  1. Metric filters(指标筛选条件)选项卡上,找到您在 创建指标筛选条件 中创建的指标筛选条件。填充指标筛选条件的复选框。在 Metric filters(指标筛选条件)栏中,选择 Create alarm(创建警报)。

  2. Create Alarm(创建警报)页面上的 Specify metric and conditions(指定指标和条件)中,输入以下内容:

    1. 对于 Graph(图表),根据您在创建警报时所做的其他设置,该行设置为 1

    2. 对于 Metric name(指标名称),请保留当前指标名称 SecurityGroupEventCount

    3. 对于 Statistic(统计数据),请保留默认值 Sum

    4. 对于 Period(期限),请保留默认值 5 minutes

    5. Conditions(条件)中,对于 Threshold type(阈值类型),选择 Static(静态)。

    6. 对于 Whenever metric_name is(每当 metric_name 为),选择 Greater/Equal(大于/等于)。

    7. 对于 Threshold(阈值),输入 1

    8. Additional configuration(其他配置)中,保留默认值。选择 Next(下一步)。

  3. Configure actions(配置操作)页面上,选择 In alarm(警报中),这表示当超过 5 分钟内 1 个更改事件的阈值时采取操作,并且 SecurityGroupEventCount 处于警报状态。

    1. 对于 Select an SNS topic(选择 SNS 主题),选择 Create new(新建)。

    2. 输入 SecurityGroupChanges_CloudWatch_Alarms_Topic 作为新 Amazon SNS 主题的名称。

    3. Email endpoints that will receive the notification(将接收通知的电子邮件终端节点)中,输入您希望在触发此警报时接收通知的用户的电子邮件地址。用逗号分隔电子邮件地址。

      此处指定的电子邮件收件人会收到电子邮件,要求他们确认他们想要订阅 Amazon SNS 主题。

    4. 选择 Create topic(创建主题)

  4. 对于此示例,跳过其他操作类型。选择 Next(下一步)。

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

  6. Preview and create(预览和重建)页面上,审核您的选择。选择 Edit(编辑)以进行更改,或选择 Create alarm(创建警报)以创建警报。

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

示例 Amazon Web Services Management Console 登录失败

按照此步骤操作可创建 Amazon CloudWatch 警报,当 5 分钟内发生 3 次或更多 Amazon Web Services Management Console 登录失败时会触发此警报。

创建指标筛选条件

  1. 通过以下网址打开 CloudWatch 控制台:https://console.aws.amazon.com/cloudwatch/

  2. 在导航窗格中,选择日志

  3. 在日志组列表中,选择为 CloudTrail 日志事件创建的日志组。

  4. 选择 Actions(操作),然后选择 Create metric filter(创建指标筛选条件)。

  5. Define pattern(定义模式)页面上的 Create filter pattern(创建筛选条件模式)中,为 Filter pattern(筛选条件模式)输入以下内容。

    { ($.eventName = ConsoleLogin) && ($.errorMessage = "Failed authentication") }
  6. Test pattern(测试模式)中,保留默认值。选择 Next(下一步)。

  7. Assign metric(分配指标)页面上,对于 Filter name(筛选条件名称),输入 ConsoleSignInFailures

  8. Metric details(指标详细信息)中,开启 Create new(新建),然后在 Metric namespace(指标命名空间)中输入 CloudTrailMetrics

  9. 对于 Metric Name(指标名称),请键入 ConsoleSigninFailureCount

  10. 对于 Metric Value(指标值),请键入 1

  11. Default value(默认值)留空。

  12. 选择 Next(下一步)。

  13. Review and create(审核和重建)页面上,审核您的选择。选择 Create metric filter(创建指标筛选条件)以创建筛选条件,或选择 Edit(编辑)返回并更改值。

创建警报

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

  1. Metric filters(指标筛选条件)选项卡上,找到您在 创建指标筛选条件 中创建的指标筛选条件。填充指标筛选条件的复选框。在 Metric filters(指标筛选条件)栏中,选择 Create alarm(创建警报)。

  2. Create Alarm(创建警报)页面上的 Specify metric and conditions(指定指标和条件)中,输入以下内容:

    1. 对于 Graph(图表),根据您在创建警报时所做的其他设置,该行设置为 3

    2. 对于 Metric name(指标名称),请保留当前指标名称 ConsoleSigninFailureCount

    3. 对于 Statistic(统计数据),请保留默认值 Sum

    4. 对于 Period(期限),请保留默认值 5 minutes

    5. Conditions(条件)中,对于 Threshold type(阈值类型),选择 Static(静态)。

    6. 对于 Whenever metric_name is(每当 metric_name 为),选择 Greater/Equal(大于/等于)。

    7. 对于 Threshold(阈值),输入 3

    8. Additional configuration(其他配置)中,保留默认值。选择 Next(下一步)。

  3. Configure actions(配置操作)页面上,选择 In alarm(警报中),这表示当超过 5 分钟内 3 个更改事件的阈值时采取操作,并且 ConsoleSigninFailureCount 处于警报状态。

    1. 对于 Select an SNS topic(选择 SNS 主题),选择 Create new(新建)。

    2. 输入 ConsoleSignInFailures_CloudWatch_Alarms_Topic 作为新 Amazon SNS 主题的名称。

    3. Email endpoints that will receive the notification(将接收通知的电子邮件终端节点)中,输入您希望在触发此警报时接收通知的用户的电子邮件地址。用逗号分隔电子邮件地址。

      此处指定的电子邮件收件人会收到电子邮件,要求他们确认他们想要订阅 Amazon SNS 主题。

    4. 选择 Create topic(创建主题)

  4. 对于此示例,跳过其他操作类型。选择 Next(下一步)。

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

  6. Preview and create(预览和重建)页面上,审核您的选择。选择 Edit(编辑)以进行更改,或选择 Create alarm(创建警报)以创建警报。

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

示例:IAM policy 更改

按照此步骤操作可创建 Amazon CloudWatch 警报,当执行 API 调用以更改 IAM policy 时会触发此警报。

创建指标筛选条件

  1. 通过以下网址打开 CloudWatch 控制台:https://console.aws.amazon.com/cloudwatch/

  2. 在导航窗格中,选择日志

  3. 在日志组列表中,选择为 CloudTrail 日志事件创建的日志组。

  4. 选择 Actions(操作),然后选择 Create metric filter(创建指标筛选条件)。

  5. 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)}
  6. Test pattern(测试模式)中,保留默认值。选择 Next(下一步)。

  7. Assign metric(分配指标)页面上,对于 Filter name(筛选条件名称),输入 IAMPolicyChanges

  8. Metric details(指标详细信息)中,开启 Create new(新建),然后在 Metric namespace(指标命名空间)中输入 CloudTrailMetrics

  9. 对于 Metric Name(指标名称),请键入 IAMPolicyEventCount

  10. 对于 Metric Value(指标值),请键入 1

  11. Default value(默认值)留空。

  12. 选择 Next(下一步)。

  13. Review and create(审核和重建)页面上,审核您的选择。选择 Create metric filter(创建指标筛选条件)以创建筛选条件,或选择 Edit(编辑)返回并更改值。

创建警报

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

  1. Metric filters(指标筛选条件)选项卡上,找到您在 创建指标筛选条件 中创建的指标筛选条件。填充指标筛选条件的复选框。在 Metric filters(指标筛选条件)栏中,选择 Create alarm(创建警报)。

  2. Create Alarm(创建警报)页面上的 Specify metric and conditions(指定指标和条件)中,输入以下内容:

    1. 对于 Graph(图表),根据您在创建警报时所做的其他设置,该行设置为 1

    2. 对于 Metric name(指标名称),请保留当前指标名称 IAMPolicyEventCount

    3. 对于 Statistic(统计数据),请保留默认值 Sum

    4. 对于 Period(期限),请保留默认值 5 minutes

    5. Conditions(条件)中,对于 Threshold type(阈值类型),选择 Static(静态)。

    6. 对于 Whenever metric_name is(每当 metric_name 为),选择 Greater/Equal(大于/等于)。

    7. 对于 Threshold(阈值),输入 1

    8. Additional configuration(其他配置)中,保留默认值。选择 Next(下一步)。

  3. Configure actions(配置操作)页面上,选择 In alarm(警报中),这表示当超过 5 分钟内 1 个更改事件的阈值时采取操作,并且 IAMPolicyEventCount 处于警报状态。

    1. 对于 Select an SNS topic(选择 SNS 主题),选择 Create new(新建)。

    2. 输入 IAM_Policy_Changes_CloudWatch_Alarms_Topic 作为新 Amazon SNS 主题的名称。

    3. Email endpoints that will receive the notification(将接收通知的电子邮件终端节点)中,输入您希望在触发此警报时接收通知的用户的电子邮件地址。用逗号分隔电子邮件地址。

      此处指定的电子邮件收件人会收到电子邮件,要求他们确认他们想要订阅 Amazon SNS 主题。

    4. 选择 Create topic(创建主题)

  4. 对于此示例,跳过其他操作类型。选择 Next(下一步)。

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

  6. Preview and create(预览和重建)页面上,审核您的选择。选择 Edit(编辑)以进行更改,或选择 Create alarm(创建警报)以创建警报。

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