本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
为 CloudTrail 事件创建 CloudWatch 警报:示例
本主题介绍如何为 CloudTrail 事件配置警报,并包括示例。
先决条件
在使用本主题中的示例前,您必须:
-
使用控制台或创建跟踪CLI。
-
创建日志组,您可以在创建跟踪时执行此操作。有关创建跟踪的更多信息,请参阅使用 CloudTrail 控制台创建跟踪。
-
指定或创建一个IAM角色, CloudTrail 该角色授予在您指定的CloudWatch 日志组中创建日志日志流以及向该日志流传送 CloudTrail 事件的权限。默认的
CloudTrail_CloudWatchLogs_Role
将为您执行此操作。
有关更多信息,请参阅 将事件发送到 CloudWatch 日志。本节中的示例在 Amazon CloudWatch Logs 控制台中执行。有关如何创建指标筛选条件和警报的更多信息,请参阅亚马逊 CloudWatch 用户指南中的使用筛选条件从日志事件创建指标和使用亚马逊 CloudWatch 警报。
创建指标筛选条件,并创建警报
要创建警报,您必须首先创建指标筛选条件,然后根据该筛选条件配置警报。会针对所有示例显示这些过程。有关指标筛选器语法和 CloudTrail 日志事件模式的更多信息,请参阅 Amazon Log CloudWatch s 用户指南中筛选条件和模式语法的JSON相关部分。
示例安全组配置更改
按照此过程创建 Amazon CloudWatch 警报,当安全组发生配置更改时触发该警报。
创建指标筛选条件
打开 CloudWatch 控制台,网址为https://console.aws.amazon.com/cloudwatch/
。 -
在导航窗格中,从日志下选择日志组。
-
在日志组列表中,选择为跟踪创建的日志组。
-
从指标筛选条件或操作菜单中选择创建指标筛选条件。
-
在 Define pattern(定义模式)页面上的 Create filter pattern(创建筛选条件模式)中,为 Filter pattern(筛选条件模式)输入以下内容。
{ ($.eventName = AuthorizeSecurityGroupIngress) || ($.eventName = AuthorizeSecurityGroupEgress) || ($.eventName = RevokeSecurityGroupIngress) || ($.eventName = RevokeSecurityGroupEgress) || ($.eventName = CreateSecurityGroup) || ($.eventName = DeleteSecurityGroup) }
-
在 Test pattern(测试模式)中,保留默认值。选择下一步。
-
在分配指标页面上,为筛选条件名称输入
SecurityGroupEvents
。 -
在指标详细信息中,开启新建,然后在指标命名空间中输入
CloudTrailMetrics
。 -
对于指标名称,键入
SecurityGroupEventCount
。 -
对于指标值,键入
1
。 -
将 Default value(默认值)留空。
-
选择下一步。
-
在 Review and create(审核和重建)页面上,审核您的选择。选择 Create metric filter(创建指标筛选条件)以创建筛选条件,或选择 Edit(编辑)返回并更改值。
创建警报
创建指标筛选器后,将打开您的 CloudTrail 跟踪 CloudWatch 日志组的日志日志组详细信息页面。按照此程序创建警报。
-
在 Metric filters(指标筛选条件)选项卡上,找到您在 创建指标筛选条件 中创建的指标筛选条件。填充指标筛选条件的复选框。在 Metric filters(指标筛选条件)栏中,选择 Create alarm(创建警报)。
-
在指定指标和条件字段中输入以下内容。
-
对于 Graph(图表),根据您在创建警报时所做的其他设置,该行设置为
1
。 -
对于 Metric name(指标名称),请保留当前指标名称
SecurityGroupEventCount
。 -
对于 Statistic(统计数据),请保留默认值
Sum
。 -
对于 Period(期限),请保留默认值
5 minutes
。 -
在 Conditions(条件)中,对于 Threshold type(阈值类型),选择 Static(静态)。
-
无论何时何地
metric_name
是,选择 “大于/ 等于”。 -
为阈值输入
1
。 -
在 Additional configuration(其他配置)中,保留默认值。选择下一步。
-
-
在 “配置操作” 页面上,选择 “通知”,然后选择 “警报”,这表示当超过 5 分钟内 1 个更改事件的阈值并SecurityGroupEventCount处于警报状态时,将采取行动。
-
对于向以下SNS主题发送通知,请选择创建新主题。
-
输入新
SecurityGroupChanges_CloudWatch_Alarms_Topic
的 Amazon SNS 主题的名称。 -
在将接收通知的电子邮件端点中,输入您希望在触发此警报时接收通知的用户的电子邮件地址。用逗号分隔电子邮件地址。
每位电子邮件收件人都会收到一封电子邮件,要求他们确认是否要订阅 Amazon SNS 主题。
-
选择创建主题。
-
-
对于此示例,跳过其他操作类型。选择下一步。
-
在 Add name and description(添加名称和描述)页面上,输入警报的易识别名称以及描述。在此示例中,请输入
Security group configuration changes
作为名称,Raises alarms if security group configuration changes occur
作为说明。选择下一步。 -
在 Preview and create(预览和重建)页面上,审核您的选择。选择 Edit(编辑)以进行更改,或选择 Create alarm(创建警报)以创建警报。
创建警报后, CloudWatch 打开 “警报” 页面。警报的 “操作” 列显示待确认,直到该SNS主题的所有电子邮件收件人确认要订阅SNS通知。
登录失 AWS Management Console 败示例
按照此过程创建 Amazon CloudWatch 警报,该警报将在五分钟内出现三次或更多 AWS Management Console 登录失败时触发。
创建指标筛选条件
打开 CloudWatch 控制台,网址为https://console.aws.amazon.com/cloudwatch/
。 -
在导航窗格中,从日志下选择日志组。
-
在日志组列表中,选择为跟踪创建的日志组。
-
从指标筛选条件或操作菜单中选择创建指标筛选条件。
-
在 Define pattern(定义模式)页面上的 Create filter pattern(创建筛选条件模式)中,为 Filter pattern(筛选条件模式)输入以下内容。
{ ($.eventName = ConsoleLogin) && ($.errorMessage = "Failed authentication") }
-
在 Test pattern(测试模式)中,保留默认值。选择下一步。
-
在分配指标页面上,为筛选条件名称输入
ConsoleSignInFailures
。 -
在指标详细信息中,开启新建,然后在指标命名空间中输入
CloudTrailMetrics
。 -
对于指标名称,键入
ConsoleSigninFailureCount
。 -
对于指标值,键入
1
。 -
将 Default value(默认值)留空。
-
选择下一步。
-
在 Review and create(审核和重建)页面上,审核您的选择。选择 Create metric filter(创建指标筛选条件)以创建筛选条件,或选择 Edit(编辑)返回并更改值。
创建警报
创建指标筛选器后,将打开您的 CloudTrail跟踪 CloudWatch 日志组的日志日志组详细信息页面。按照此程序创建警报。
-
在 Metric filters(指标筛选条件)选项卡上,找到您在 创建指标筛选条件 中创建的指标筛选条件。填充指标筛选条件的复选框。在 Metric filters(指标筛选条件)栏中,选择 Create alarm(创建警报)。
-
在 Create Alarm(创建警报)页面上的 Specify metric and conditions(指定指标和条件)中,输入以下内容:
-
对于 Graph(图表),根据您在创建警报时所做的其他设置,该行设置为
3
。 -
对于 Metric name(指标名称),请保留当前指标名称
ConsoleSigninFailureCount
。 -
对于 Statistic(统计数据),请保留默认值
Sum
。 -
对于 Period(期限),请保留默认值
5 minutes
。 -
在 Conditions(条件)中,对于 Threshold type(阈值类型),选择 Static(静态)。
-
无论何时何地
metric_name
是,选择 “大于/ 等于”。 -
为阈值输入
3
。 -
在 Additional configuration(其他配置)中,保留默认值。选择下一步。
-
-
在 “配置操作” 页面上,在 “通知” 中选择 “警报”,这表示当超过 5 分钟内 3 个更改事件的阈值并ConsoleSigninFailureCount处于警报状态时,将采取该操作。
-
对于向以下SNS主题发送通知,请选择创建新主题。
-
输入新
ConsoleSignInFailures_CloudWatch_Alarms_Topic
的 Amazon SNS 主题的名称。 -
在将接收通知的电子邮件端点中,输入您希望在触发此警报时接收通知的用户的电子邮件地址。用逗号分隔电子邮件地址。
每位电子邮件收件人都会收到一封电子邮件,要求他们确认是否要订阅 Amazon SNS 主题。
-
选择创建主题。
-
-
对于此示例,跳过其他操作类型。选择下一步。
-
在 Add name and description(添加名称和描述)页面上,输入警报的易识别名称以及描述。在此示例中,请输入
Console sign-in failures
作为名称,Raises alarms if more than 3 console sign-in failures occur in 5 minutes
作为说明。选择下一步。 -
在 Preview and create(预览和重建)页面上,审核您的选择。选择 Edit(编辑)以进行更改,或选择 Create alarm(创建警报)以创建警报。
创建警报后, CloudWatch 打开 “警报” 页面。警报的 “操作” 列显示待确认,直到该SNS主题的所有电子邮件收件人确认要订阅SNS通知。
示例:IAM政策变更
按照此过程创建 Amazon CloudWatch 警报,当有人API致电更改IAM政策时会触发该警报。
创建指标筛选条件
打开 CloudWatch 控制台,网址为https://console.aws.amazon.com/cloudwatch/
。 -
在导航窗格中,选择日志。
-
在日志组列表中,选择为跟踪创建的日志组。
-
选择 Actions(操作),然后选择 Create metric filter(创建指标筛选条件)。
-
在 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)}
-
在 Test pattern(测试模式)中,保留默认值。选择下一步。
-
在分配指标页面上,为筛选条件名称输入
IAMPolicyChanges
。 -
在指标详细信息中,开启新建,然后在指标命名空间中输入
CloudTrailMetrics
。 -
对于指标名称,键入
IAMPolicyEventCount
。 -
对于指标值,键入
1
。 -
将 Default value(默认值)留空。
-
选择下一步。
-
在 Review and create(审核和重建)页面上,审核您的选择。选择 Create metric filter(创建指标筛选条件)以创建筛选条件,或选择 Edit(编辑)返回并更改值。
创建警报
创建指标筛选器后,将打开您的 CloudTrail跟踪 CloudWatch 日志组的日志日志组详细信息页面。按照此程序创建警报。
-
在 Metric filters(指标筛选条件)选项卡上,找到您在 创建指标筛选条件 中创建的指标筛选条件。填充指标筛选条件的复选框。在 Metric filters(指标筛选条件)栏中,选择 Create alarm(创建警报)。
-
在 Create Alarm(创建警报)页面上的 Specify metric and conditions(指定指标和条件)中,输入以下内容:
-
对于 Graph(图表),根据您在创建警报时所做的其他设置,该行设置为
1
。 -
对于 Metric name(指标名称),请保留当前指标名称
IAMPolicyEventCount
。 -
对于 Statistic(统计数据),请保留默认值
Sum
。 -
对于 Period(期限),请保留默认值
5 minutes
。 -
在 Conditions(条件)中,对于 Threshold type(阈值类型),选择 Static(静态)。
-
无论何时何地
metric_name
是,选择 “大于/ 等于”。 -
为阈值输入
1
。 -
在 Additional configuration(其他配置)中,保留默认值。选择下一步。
-
-
在 “配置操作” 页面上,在 “通知” 中选择 “警报”,这表示当超过 5 分钟内 1 个更改事件的阈值并IAMPolicyEventCount处于警报状态时,将采取该操作。
-
对于向以下SNS主题发送通知,请选择创建新主题。
-
输入新
IAM_Policy_Changes_CloudWatch_Alarms_Topic
的 Amazon SNS 主题的名称。 -
在将接收通知的电子邮件端点中,输入您希望在触发此警报时接收通知的用户的电子邮件地址。用逗号分隔电子邮件地址。
每位电子邮件收件人都会收到一封电子邮件,要求他们确认是否要订阅 Amazon SNS 主题。
-
选择创建主题。
-
-
对于此示例,跳过其他操作类型。选择下一步。
-
在 Add name and description(添加名称和描述)页面上,输入警报的易识别名称以及描述。在此示例中,请输入
IAM Policy Changes
作为名称,Raises alarms if IAM policy changes occur
作为说明。选择下一步。 -
在 Preview and create(预览和重建)页面上,审核您的选择。选择 Edit(编辑)以进行更改,或选择 Create alarm(创建警报)以创建警报。
创建警报后, CloudWatch 打开 “警报” 页面。警报的 “操作” 列显示待确认,直到该SNS主题的所有电子邮件收件人确认要订阅SNS通知。
为 CloudWatch 日志警报配置通知
您可以将 CloudWatch 日志配置为在触发警报时发送通知 CloudTrail。这样,您就可以对事件中捕获并由 CloudWatch 日志检测到的关键操作 CloudTrail事件做出快速响应。 CloudWatch 使用 Amazon 简单通知服务 (SNS) 发送电子邮件。有关更多信息,请参阅CloudWatch 用户指南中的设置 Amazon SNS 通知。