AWS CloudTrail
用户指南 (版本 1.0)
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 Amazon AWS 入门

为 CloudTrail 事件创建 CloudWatch 警报:示例

本主题使用示例方案描述如何为 CloudTrail 事件配置警报。

先决条件

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

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

  • 创建一个日志组.

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

有关更多信息,请参阅将事件发送到 CloudWatch Logs

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

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

注意

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

示例:Amazon S3 存储桶活动

按照此步骤操作可创建 Amazon CloudWatch 警报,当对 PUTDELETE 存储桶策略、存储桶生命周期、存储桶复制执行 Amazon S3 API 调用时,或者 PUT 存储桶 ACL 时,会触发此警报。

此外,CORS(跨源资源共享)PUT 存储桶和 DELETE 存储桶事件也会触发此警报。有关详细信息,请参阅 Amazon Simple Storage Service 开发人员指南 中的跨域资源共享

创建指标筛选条件

  1. 通过以下网址打开 CloudWatch 控制台:https://console.amazonaws.cn/cloudwatch/

  2. 在导航窗格中,选择 Logs

  3. 在日志组列表中,选中为 CloudTrail 日志事件创建的日志组旁边的复选框。

  4. 选择 Create Metric Filter

  5. Define Logs Metric Filter 屏幕上,选择 Filter Pattern,然后键入以下内容:

    { ($.eventSource = s3.amazonaws.com) && (($.eventName = PutBucketAcl) || ($.eventName = PutBucketPolicy) || ($.eventName = PutBucketCors) || ($.eventName = PutBucketLifecycle) || ($.eventName = PutBucketReplication) || ($.eventName = DeleteBucketPolicy) || ($.eventName = DeleteBucketCors) || ($.eventName = DeleteBucketLifecycle) || ($.eventName = DeleteBucketReplication)) }
  6. 选择 Assign Metric

  7. 对于 Filter Name,请键入 S3BucketActivity

  8. 对于 Metric Namespace,请键入 CloudTrailMetrics

  9. 对于 Metric Name,请键入 S3BucketActivityEventCount

  10. 选择 Show advanced metric settings

  11. 对于 Metric Value,请键入 1

  12. 选择 Create Filter

创建警报

在创建指标筛选条件后,请执行如下步骤来创建警报。

  1. Filters for Log_Group_Name 页面上,选择 S3BucketActivity 筛选条件名称旁边的 Create Alarm

  2. Create Alarm 页面上,提供以下值。

    
							CloudWatch Logs创建警报向导

    设置

    S3 存储桶活动

    1

    1

    5 分钟

    总计

    Select a notification list 框旁,选择 New list,然后键入列表的唯一主题名称。

    选择 Email list,然后键入要将通知发送到的电子邮件地址。您将通过此地址收到一封确认您已创建此警报的电子邮件。

  3. 选择 Create Alarm

测试 S3 存储桶活动的警报

您可通过更改 S3 存储桶策略来测试警报。

测试警报

  1. 通过以下网址打开 Amazon S3 控制台:https://console.amazonaws.cn/s3/

  2. 选择您的跟踪进行记录的区域中的 S3 存储桶。例如,如果您的跟踪仅在美国东部(俄亥俄)区域中记录,请选择同一区域中的存储桶。如果您的跟踪适用于所有区域,则可选择任意区域中的 S3 存储桶。

  3. 选择 Permissions,然后再选择 Bucket Policy

  4. 使用 Bucket policy editor 更改策略,然后再选择 Save

  5. 您的跟踪会记录 PutBucketPolicy 操作,并将相应事件传送到您的 CloudWatch Logs 日志组。该事件会触发您的指标警报,而 CloudWatch Logs 会向您发送有关相应更改的通知。

示例:安全组配置更改

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

创建指标筛选条件

  1. 通过以下网址打开 CloudWatch 控制台:https://console.amazonaws.cn/cloudwatch/

  2. 在导航窗格中,选择 Logs

  3. 在日志组列表中,选中为 CloudTrail 日志事件创建的日志组旁边的复选框。

  4. 选择 Create Metric Filter

  5. Define Logs Metric Filter 屏幕上,选择 Filter Pattern,然后键入以下内容:

    { ($.eventName = AuthorizeSecurityGroupIngress) || ($.eventName = AuthorizeSecurityGroupEgress) || ($.eventName = RevokeSecurityGroupIngress) || ($.eventName = RevokeSecurityGroupEgress) || ($.eventName = CreateSecurityGroup) || ($.eventName = DeleteSecurityGroup) }
  6. 选择 Assign Metric

  7. 对于 Filter Name,请键入 SecurityGroupEvents

  8. 对于 Metric Namespace,请键入 CloudTrailMetrics

  9. 对于 Metric Name,请键入 SecurityGroupEventCount

  10. 选择 Show advanced metric settings

  11. 对于 Metric Value,请键入 1

  12. 选择 Create Filter

创建警报

在创建指标筛选条件后,请执行如下步骤来创建警报。

  1. Filters for Log_Group_Name 页面上,选择筛选条件名称旁边的 Create Alarm

  2. Create Alarm 页面上,提供以下值。

    
							CloudWatch Logs创建警报向导

    设置

    安全组配置更改

    >=1

    1

    5 分钟

    总计

    Select a notification list 框旁,选择 New list,然后键入列表的唯一主题名称。

    选择 Email list,然后键入要将通知发送到的电子邮件地址。您将通过此地址收到一封确认您已创建此警报的电子邮件。

  3. 选择 Create Alarm

示例:网络访问控制列表 (ACL) 更改

按照此步骤操作可创建 Amazon CloudWatch 报警,当发生涉及网络 ACL 的任何配置更改时会触发此警报。

创建指标筛选条件

  1. 通过以下网址打开 CloudWatch 控制台:https://console.amazonaws.cn/cloudwatch/

  2. 在导航窗格中,选择 Logs

  3. 在日志组列表中,选中为 CloudTrail 日志事件创建的日志组旁边的复选框。

  4. 选择 Create Metric Filter

  5. Define Logs Metric Filter 屏幕上,选择 Filter Pattern,然后键入以下内容:

    { ($.eventName = CreateNetworkAcl) || ($.eventName = CreateNetworkAclEntry) || ($.eventName = DeleteNetworkAcl) || ($.eventName = DeleteNetworkAclEntry) || ($.eventName = ReplaceNetworkAclEntry) || ($.eventName = ReplaceNetworkAclAssociation) }
  6. 选择 Assign Metric

  7. 对于 Filter Name,请键入 NetworkACLEvents

  8. 对于 Metric Namespace,请键入 CloudTrailMetrics

  9. 对于 Metric Name,请键入 NetworkACLEventCount

  10. 选择 Show advanced metric settings

  11. 对于 Metric Value,请键入 1

  12. 选择 Create Filter

创建警报

在创建指标筛选条件后,请执行如下步骤来创建警报。

  1. Filters for Log_Group_Name 页面上,选择筛选条件名称旁边的 Create Alarm

  2. Create Alarm 页面上,提供以下值。

    
							CloudWatch Logs创建警报向导

    设置

    网络 ACL 配置更改

    >=1

    1

    5 分钟

    总计

    Select a notification list 框旁,选择 New list,然后键入列表的唯一主题名称。

    选择 Email list,然后键入要将通知发送到的电子邮件地址。您将通过此地址收到一封确认您已创建此警报的电子邮件。

  3. 选择 Create Alarm

示例:网络网关更改

按照此步骤操作可创建 Amazon CloudWatch 报警,当执行 API 调用以创建、更新或删除客户或 Internet 网关时会触发此警报。

创建指标筛选条件

  1. 通过以下网址打开 CloudWatch 控制台:https://console.amazonaws.cn/cloudwatch/

  2. 在导航窗格中,选择 Logs

  3. 在日志组列表中,选中为 CloudTrail 日志事件创建的日志组旁边的复选框。

  4. 选择 Create Metric Filter

  5. Define Logs Metric Filter 屏幕上,选择 Filter Pattern,然后键入以下内容:

    { ($.eventName = CreateCustomerGateway) || ($.eventName = DeleteCustomerGateway) || ($.eventName = AttachInternetGateway) || ($.eventName = CreateInternetGateway) || ($.eventName = DeleteInternetGateway) || ($.eventName = DetachInternetGateway) }
  6. 选择 Assign Metric

  7. 对于 Filter Name,请键入 GatewayChanges

  8. 对于 Metric Namespace,请键入 CloudTrailMetrics

  9. 对于 Metric Name,请键入 GatewayEventCount

  10. 选择 Show advanced metric settings

  11. 对于 Metric Value,请键入 1

  12. 选择 Create Filter

示例:创建警报

在创建指标筛选条件后,请执行如下步骤来创建警报。

  1. Filters for Log_Group_Name 页面上,选择筛选条件名称旁边的 Create Alarm

  2. Create Alarm 页面上,提供以下值。

    
							CloudWatch Logs创建警报向导

    设置

    网络网关更改

    1

    1

    5 分钟

    总计

    Select a notification list 框旁,选择 New list,然后键入列表的唯一主题名称。

    选择 Email list,然后键入要将通知发送到的电子邮件地址。您将通过此地址收到一封确认您已创建此警报的电子邮件。

  3. 选择 Create Alarm

示例:Amazon Virtual Private Cloud (VPC) 更改

按照此步骤操作可创建 Amazon CloudWatch 报警,当执行 API 调用以创建、更新或删除 Amazon VPC、Amazon VPC 对等连接或指向经典 Amazon EC2 实例的 Amazon VPC 连接时会触发此警报。

创建指标筛选条件

  1. 通过以下网址打开 CloudWatch 控制台:https://console.amazonaws.cn/cloudwatch/

  2. 在导航窗格中,选择 Logs

  3. 在日志组列表中,选中为 CloudTrail 日志事件创建的日志组旁边的复选框。

  4. 选择 Create Metric Filter

  5. Define Logs Metric Filter 屏幕上,选择 Filter Pattern,然后键入以下内容:

    { ($.eventName = CreateVpc) || ($.eventName = DeleteVpc) || ($.eventName = ModifyVpcAttribute) || ($.eventName = AcceptVpcPeeringConnection) || ($.eventName = CreateVpcPeeringConnection) || ($.eventName = DeleteVpcPeeringConnection) || ($.eventName = RejectVpcPeeringConnection) || ($.eventName = AttachClassicLinkVpc) || ($.eventName = DetachClassicLinkVpc) || ($.eventName = DisableVpcClassicLink) || ($.eventName = EnableVpcClassicLink) }
  6. 选择 Assign Metric

  7. 对于 Filter Name,请键入 VpcChanges

  8. 对于 Metric Namespace,请键入 CloudTrailMetrics

  9. 对于 Metric Name,请键入 VpcEventCount

  10. 选择 Show advanced metric settings

  11. 对于 Metric Value,请键入 1

  12. 选择 Create Filter

创建警报

在创建指标筛选条件后,请执行如下步骤来创建警报。

  1. Filters for Log_Group_Name 页面上,选择筛选条件名称旁边的 Create Alarm

  2. Create Alarm 页面上,提供以下值。

    
							CloudWatch Logs创建警报向导

    设置

    VPC 更改

    1

    1

    5 分钟

    总计

    Select a notification list 框旁,选择 New list,然后键入列表的唯一主题名称。

    选择 Email list,然后键入要将通知发送到的电子邮件地址。您将通过此地址收到一封确认您已创建此警报的电子邮件。

  3. 选择 Create Alarm

示例:Amazon EC2 实例更改

按照此步骤操作可创建 Amazon CloudWatch 报警,当执行 API 调用以创建、终止、启动、停止或重新启动 Amazon EC2 实例时会触发此警报。

创建指标筛选条件

  1. 通过以下网址打开 CloudWatch 控制台:https://console.amazonaws.cn/cloudwatch/

  2. 在导航窗格中,选择 Logs

  3. 在日志组列表中,选中为 CloudTrail 日志事件创建的日志组旁边的复选框。

  4. 选择 Create Metric Filter

  5. Define Logs Metric Filter 屏幕上,选择 Filter Pattern,然后键入以下内容:

    { ($.eventName = RunInstances) || ($.eventName = RebootInstances) || ($.eventName = StartInstances) || ($.eventName = StopInstances) || ($.eventName = TerminateInstances) }
  6. 选择 Assign Metric

  7. 对于 Filter Name,请键入 EC2InstanceChanges

  8. 对于 Metric Namespace,请键入 CloudTrailMetrics

  9. 对于 Metric Name,请键入 EC2InstanceEventCount

  10. 选择 Show advanced metric settings

  11. 对于 Metric Value,请键入 1

  12. 选择 Create Filter

创建警报

在创建指标筛选条件后,请执行如下步骤来创建警报。

  1. Filters for Log_Group_Name 页面上,选择筛选条件名称旁边的 Create Alarm

  2. Create Alarm 页面上,提供以下值。

    
							CloudWatch Logs创建警报向导

    设置

    EC2 实例更改

    1

    1

    5 分钟

    总计

    Select a notification list 框旁,选择 New list,然后键入列表的唯一主题名称。

    选择 Email list,然后键入要将通知发送到的电子邮件地址。您将通过此地址收到一封确认您已创建此警报的电子邮件。

  3. 选择 Create Alarm

示例:EC2 大型实例更改

按照此步骤操作可创建 Amazon CloudWatch 报警,当执行 API 调用以创建 4 倍或 8 倍大小的 Amazon EC2 实例时会触发此警报。

创建指标筛选条件

  1. 通过以下网址打开 CloudWatch 控制台:https://console.amazonaws.cn/cloudwatch/

  2. 在导航窗格中,选择 Logs

  3. 在日志组列表中,选中为 CloudTrail 日志事件创建的日志组旁边的复选框。

  4. 选择 Create Metric Filter

  5. Define Logs Metric Filter 屏幕上,选择 Filter Pattern,然后键入以下内容:

    { ($.eventName = RunInstances) && (($.requestParameters.instanceType = *.8xlarge) || ($.requestParameters.instanceType = *.4xlarge)) }
  6. 选择 Assign Metric

  7. 对于 Filter Name,请键入 EC2LargeInstanceChanges

  8. 对于 Metric Namespace,请键入 CloudTrailMetrics

  9. 对于 Metric Name,请键入 EC2LargeInstanceEventCount

  10. 选择 Show advanced metric settings

  11. 对于 Metric Value,请键入 1

  12. 选择 Create Filter

创建警报

在创建指标筛选条件后,请执行如下步骤来创建警报。

  1. Filters for Log_Group_Name 页面上,选择筛选条件名称旁边的 Create Alarm

  2. Create Alarm 页面上,提供以下值。

    
							CloudWatch Logs创建警报向导

    设置

    EC2 大型实例更改

    1

    1

    5 分钟

    总计

    Select a notification list 框旁,选择 New list,然后键入列表的唯一主题名称。

    选择 Email list,然后键入要将通知发送到的电子邮件地址。您将通过此地址收到一封确认您已创建此警报的电子邮件。

  3. 选择 Create Alarm

示例:CloudTrail 更改

按照此步骤操作可创建 Amazon CloudWatch 报警,当执行 API 调用以创建、更新或删除 CloudTrail 跟踪,或启动或停止记录跟踪时会触发此警报。

创建指标筛选条件

  1. 通过以下网址打开 CloudWatch 控制台:https://console.amazonaws.cn/cloudwatch/

  2. 在导航窗格中,选择 Logs

  3. 在日志组列表中,选中为 CloudTrail 日志事件创建的日志组旁边的复选框。

  4. 选择 Create Metric Filter

  5. Define Logs Metric Filter 屏幕上,选择 Filter Pattern,然后键入以下内容:

    { ($.eventName = CreateTrail) || ($.eventName = UpdateTrail) || ($.eventName = DeleteTrail) || ($.eventName = StartLogging) || ($.eventName = StopLogging) }
  6. 选择 Assign Metric

  7. 对于 Filter Name,请键入 CloudTrailChanges

  8. 对于 Metric Namespace,请键入 CloudTrailMetrics

  9. 对于 Metric Name,请键入 CloudTrailEventCount

  10. 选择 Show advanced metric settings

  11. 对于 Metric Value,请键入 1

  12. 选择 Create Filter

创建警报

在创建指标筛选条件后,请执行如下步骤来创建警报。

  1. Filters for Log_Group_Name 页面上,选择筛选条件名称旁边的 Create Alarm

  2. Create Alarm 页面上,提供以下值。

    
							CloudWatch Logs创建警报向导

    设置

    CloudTrail 更改

    1

    1

    5 分钟

    总计

    Select a notification list 框旁,选择 New list,然后键入列表的唯一主题名称。

    选择 Email list,然后键入要将通知发送到的电子邮件地址。您将通过此地址收到一封确认您已创建此警报的电子邮件。

  3. 选择 Create Alarm

示例:控制台登录失败

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

创建指标筛选条件

  1. 通过以下网址打开 CloudWatch 控制台:https://console.amazonaws.cn/cloudwatch/

  2. 在导航窗格中,选择 Logs

  3. 在日志组列表中,选中为 CloudTrail 日志事件创建的日志组旁边的复选框。

  4. 选择 Create Metric Filter

  5. Define Logs Metric Filter 屏幕上,选择 Filter Pattern,然后键入以下内容:

    { ($.eventName = ConsoleLogin) && ($.errorMessage = "Failed authentication") }
  6. 选择 Assign Metric

  7. 对于 Filter Name,请键入 ConsoleSignInFailures

  8. 对于 Metric Namespace,请键入 CloudTrailMetrics

  9. 对于 Metric Name,请键入 ConsoleSigninFailureCount

  10. 选择 Show advanced metric settings

  11. 对于 Metric Value,请键入 1

  12. 选择 Create Filter

创建警报

在创建指标筛选条件后,请执行如下步骤来创建警报。

  1. Filters for Log_Group_Name 页面上,选择筛选条件名称旁边的 Create Alarm

  2. Create Alarm 页面上,提供以下值。

    
							CloudWatch Logs创建警报向导

    设置

    控制台登录失败

    >=3

    1

    5 分钟

    总计

    Select a notification list 框旁,选择 New list,然后键入列表的唯一主题名称。

    选择 Email list,然后键入要将通知发送到的电子邮件地址。您将通过此地址收到一封确认您已创建此警报的电子邮件。

  3. 选择 Create Alarm

示例:授权失败

按照此步骤操作可创建 Amazon CloudWatch 报警,当执行未经授权的 API 调用时会触发此警报。

创建指标筛选条件

  1. 通过以下网址打开 CloudWatch 控制台:https://console.amazonaws.cn/cloudwatch/

  2. 在导航窗格中,选择 Logs

  3. 在日志组列表中,选中为 CloudTrail 日志事件创建的日志组旁边的复选框。

  4. 选择 Create Metric Filter

  5. Define Logs Metric Filter 屏幕上,选择 Filter Pattern,然后键入以下内容:

    { ($.errorCode = "*UnauthorizedOperation") || ($.errorCode = "AccessDenied*") }
  6. 选择 Assign Metric

  7. 对于 Filter Name,请键入 AuthorizationFailures

  8. 对于 Metric Namespace,请键入 CloudTrailMetrics

  9. 对于 Metric Name,请键入 AuthorizationFailureCount

  10. 选择 Show advanced metric settings

  11. 对于 Metric Value,请键入 1

  12. 选择 Create Filter

创建警报

在创建指标筛选条件后,请执行如下步骤来创建警报。

  1. Filters for Log_Group_Name 页面上,选择筛选条件名称旁边的 Create Alarm

  2. Create Alarm 页面上,提供以下值。

    
							CloudWatch Logs创建警报向导

    设置

    授权失败

    1

    1

    5 分钟

    总计

    Select a notification list 框旁,选择 New list,然后键入列表的唯一主题名称。

    选择 Email list,然后键入要将通知发送到的电子邮件地址。您将通过此地址收到一封确认您已创建此警报的电子邮件。

  3. 选择 Create Alarm

示例:IAM 策略更改

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

创建指标筛选条件

  1. 通过以下网址打开 CloudWatch 控制台:https://console.amazonaws.cn/cloudwatch/

  2. 在导航窗格中,选择 Logs

  3. 在日志组列表中,选中为 CloudTrail 日志事件创建的日志组旁边的复选框。

  4. 选择 Create Metric Filter

  5. Define Logs Metric Filter 屏幕上,选择 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. 选择 Assign Metric

  7. 对于 Filter Name,请键入 IAMPolicyChanges

  8. 对于 Metric Namespace,请键入 CloudTrailMetrics

  9. 对于 Metric Name,请键入 IAMPolicyEventCount

  10. 选择 Show advanced metric settings

  11. 对于 Metric Value,请键入 1

  12. 选择 Create Filter

创建警报

在创建指标筛选条件后,请执行如下步骤来创建警报。

  1. Filters for Log_Group_Name 页面上,选择筛选条件名称旁边的 Create Alarm

  2. Create Alarm 页面上,提供以下值。

    
							CloudWatch Logs创建警报向导

    设置

    IAM 策略更改

    1

    1

    5 分钟

    总计

    Select a notification list 框旁,选择 New list,然后键入列表的唯一主题名称。

    选择 Email list,然后键入要将通知发送到的电子邮件地址。您将通过此地址收到一封确认您已创建此警报的电子邮件。

  3. 选择 Create Alarm