跳至内容

如何使用 CloudWatch 警报监控 CloudTrail 事件?

2 分钟阅读
0

我想使用 Amazon CloudWatch 警报监控 AWS CloudTrail 事件。

简短描述

CloudWatch 警报监控单个 CloudWatch 指标或基于 CloudWatch 指标的数学表达式的结果。要创建警报以监控 CloudTrail 事件,请为您的跟踪启用 CloudWatch 日志记录,并在 CloudTrail 日志组上创建指标筛选器。

**注意:**指标筛选器定义了发送到 CloudWatch Logs 时要在日志数据中查找的字词和模式。CloudWatch Logs 使用指标筛选器将日志数据转换为数字指标,您可以绘制图表并设置警报。

解决方法

**注意:**如果在运行 AWS 命令行界面 (AWS CLI) 命令时收到错误,请参阅 AWS CLI 错误故障排除。此外,请确保您使用的是最新版本的 AWS CLI

在开始之前,请完成以下步骤:

  1. 在 CloudTrail 控制台中创建跟踪使用 AWS CLI 创建跟踪
  2. 创建日志组。这可以在您创建跟踪时完成。
  3. 使用 AWS 管理控制台AWS CLI 配置您的跟踪,将事件发送到 CloudWatch Logs 进行监控。
  4. 创建或指定 AWS Identity and Access Management (IAM) 角色,该角色向 CloudTrail 授予创建 CloudWatch Logs 日志流的权限。必须在您指定的日志组中创建日志流,以便将 CloudTrail 事件传送到该日志组。CloudTrail_CloudWatchLogs_Role 为默认角色。

注意:以下创建指标筛选器创建警报的步骤提供了一个示例,说明如何监控 ConsoleLogin events without MFA enabled(未启用 MFA 的 ConsoleLogin 事件)CloudTrail 事件。

创建指标筛选器

要为 ConsoleLogin events without MFA enabled(未启用 MFA 的 ConsoleLogin 事件)CloudTrail 事件创建指标筛选器,请完成以下步骤:

  1. 打开 CloudWatch 控制台

  2. 在导航窗格中的 Logs(日志)下,选择 Log groups(日志组)。

  3. 在日志组列表中,选择您为跟踪创建的日志组。

  4. Metric filters(指标筛选器)或 Actions(操作)菜单中,选择 Create metric filter(创建指标筛选器)。

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

    { ($.eventName = ConsoleLogin) && ($.additionalEventData.MFAUsed != Yes) }
  6. Test pattern(测试模式)中,不要更新默认值。选择 Next(下一步)。

  7. Assign metric(分配指标)页面的 Filter name(筛选器名称)中输入 ConsoleSignInWithoutMFA

  8. Metric details(指标详细信息)中,打开 Create new(新建)并完成以下操作:
    对于 Metric namespace(指标命名空间),输入 CloudTrailMetrics
    对于 Metric name(指标名称),键入 ConsoleSignInWithoutMFA
    对于 Metric value(指标值),键入 1
    对于 Default value(默认值),留空。

  9. 选择 Next(下一步)。

  10. Review and create(查看并创建)页面上,查看您的选择。选择 Create metric filter(创建指标筛选器)以创建筛选器,或选择 Edit(编辑)以更改值。

**注意:**创建指标筛选器后,将打开 CloudTrail 跟踪日志组的 CloudWatch Logs log group details(CloudWatch Logs 日志组详细信息)页面。

创建警报

要创建警报以监控 ConsoleLogin events without MFA enabled(未启用 MFA 的 ConsoleLogin 事件)CloudTrail 事件,请完成以下步骤:

  1. Metric filters(指标筛选器)选项卡上,确定您创建的指标筛选器并选中该指标筛选器的复选框。
  2. Metric filters(指标筛选器)栏中,选择 Create alarm(创建警报)。在 Specify metric and conditions(指定指标和条件)中,输入以下内容:
    对于 Metric name(指标名称),保留当前指标名称 ConsoleSignInWithoutMFA
    对于 Statistic(统计数据),保留默认值 Sum(总和)。
    对于 Period(时段),保留默认值 5 minutes(5 分钟)。
    Conditions(条件)中,对于 Threshold type(阈值类型),选择 Static(静态)。
    对于 Whenever metric_name is,选择 Greater/Equal(大于/等于)。
    对于阈值,请输入所需的值。在本示例中,3 为阈值。
    Additional configuration(其他配置)中,不要更新默认值。
  3. 选择 Next(下一步)。
  4. Configure actions(配置操作)页面上,对于 Notification(通知),选择 Create new topic(创建新主题)或选择现有的 Amazon Simple Notification Service (Amazon SNS) 主题。
    对于 Create a new topic(创建新主题),请输入 ConsoleSignInWithoutMFA_CloudWatch_Alarms_Topic 作为 Amazon SNS 主题名称。
  5. Email endpoints(电子邮件端点)中,输入要接收警报通知的用户的电子邮件地址。确保使用逗号分隔电子邮件地址。
    **注意:**每个电子邮件地址都需要用于回复确认电子邮件,以确认订阅 Amazon SNS 主题。警报的 Actions(操作)列显示 Pending confirmation(等待确认),直到确认所有电子邮件收件人。
  6. 选择 Create topic(创建主题)。
  7. 在此示例中,跳过其他操作类型。选择 Next(下一步)。
  8. Add name and description(添加名称和描述)页面上,输入警报的名称和描述。在此示例中,输入名称 Console sign-in-without-MFA(未启用 MFA 的控制台登录)和描述 Raises alarms if more than 3 console sign-in without MFA occur in 5 minutes(如果 5 分钟内发生 3 次以上未启用 MFA 的控制台登录,则发起警报)。
  9. 选择 Next(下一步)。
  10. Preview and create(预览并创建)页面上,查看您的选择。选择 Create alarm(创建警报)以创建警报,或选择 Edit(编辑)以更改值。

**注意:**上述步骤会创建一个 CloudWatch 警报,该警报在 AWS 管理控制台在指定的 5 分钟窗口内登录失败时调用。

AWS 官方已更新 2 年前