配置操作审计事件告警

密钥管理服务KMS(Key Management Service)支持在操作审计服务上配置事件告警,当检测到异常操作事件时,阿里云将通过多种通知方式向用户和用户组发送告警通知,方便用户和用户组成员快速处理。本文介绍如何配置操作审计事件告警。

概述

操作审计支持内置告警规则和自定义告警规则。

  • 内置告警规则:您可以根据实际需要开启对应的告警规则,具体的告警规则列表请登录操作审计控制台,在事件告警页面查看。

  • 自定义告警规则:通过使用SQL(Structured Query Language)语法添加查询统计,设置自定义告警语句,针对不同场景进行告警,从而更灵活地进行企业安全监控。关于SQL语法的更多信息,请参见查询概述分析概述

    例如,以配置删除密钥时触发告警为例,SQL语句为event.serviceName:Kms and event.eventName:"ScheduleKeyDeletion" | select COUNT(*) as schedule_count

关于事件告警的更多信息,请参见事件告警概览。关于操作审计支持审计的KMS事件列表,请参见密钥管理服务支持被审计的事件说明

步骤一:创建跟踪

请创建满足以下条件的跟踪:

  • 跟踪的地域为全部地域。

  • 跟踪的事件类型为所有事件。

  • 跟踪将事件投递到日志服务SLS。

具体操作,请参见创建单账号跟踪创建多账号跟踪

说明

在创建跟踪的同时可设置将历史的90天事件补投到该跟踪,扩大事件搜索范围。具体操作,请参见创建数据回补投递任务

步骤二:开启跟踪的高级查询

您需要先开启跟踪的高级查询,才能启用事件告警,检测指定跟踪中的操作事件。

  1. 登录操作审计控制台

  2. 在左侧导航栏,单击跟踪

  3. 跟踪页面,打开目标跟踪名称对应高级查询列的开关。

    说明
    • 每个阿里云账号或RAM用户下只能启用一条跟踪的高级查询功能。

    • 如果您已为某个跟踪设置告警,当为其关闭高级查询时,告警配置仍会生效。若您需要修改或关闭告警配置,请重新开启高级查询。

步骤三:创建用户和用户组

用户和用户组用于指定告警通知对象。例如:创建用户(Alice和Kumer)、用户组(操作审计运维组),并将Alice和Kumer加入到操作审计运维组中。

  1. 创建用户。

    1. 告警中心页面,选择告警管理 > 用户管理

    2. 用户管理区域,单击创建

    3. 添加用户对话框,配置以下参数,然后单击确认

      用户信息代码示例:

      #标识符, 姓名, 手机号, 可收短信, 可接电话, 邮箱, 启用
      test01,Kumer,true,86-1381111*****,true,true,a***@example.net
      test02,Alice,true,86-1381111*****,true,true,a***@example.net

      参数说明:

      参数

      描述

      示例

      标识符

      用户唯一标识,不可重复。

      长度为5~60个字符,以英文字母开头,可包含英文字母、数字、下划线(_)、短划线(-)和半角句号(.)。

      test01、test02

      姓名

      用户姓名。

      长度为1~20个字符,不能包含特殊字符:"\$|~?&<>{}`'

      Kumer、Alice

      手机号

      用户手机号码,其中国家号为数字形式,长度为1~4个字符。

      86-1381111*****、86-1381112*****

      可收短信

      是否允许操作审计给该手机号码发送短信通知。取值:

      • true:允许。

      • false:不允许。

      true

      可接电话

      是否允许操作审计给该手机号码发送语音通知。

      • true:允许。

      • false:不允许。

      true

      邮箱

      用户邮箱。

      a***@example.net

      启用

      是否允许操作审计向该用户发送告警通知。取值:

      • true:允许。

      • false:不允许。

      true

  2. 创建用户组。

    1. 告警管理下拉列表,选择用户组管理

    2. 用户组管理区域,单击创建

    3. 添加用户组对话框,配置以下参数,然后单击确认

      重要参数说明和配置示例如下所示:

      参数

      描述

      示例

      标识符

      用户组唯一标识,不可重复。

      长度为5~60个字符,以英文字母开头,可包含英文字母、数字、下划线(_)、短划线(-)和半角句号(.)。

      group-01

      组名

      用户组名称。

      长度不超过20个字符,不能包含特殊字符:\$|~?&<>{}`'"

      操作审计运维组

      待添加成员

      您已创建的用户。

      Kumer、Alice

      已添加成员

      已添加到用户组的用户。

      Kumer、Alice

      启用

      是否允许操作审计向该用户组发送告警通知。取值:

      • 启用:允许。

      • 不启用:不允许。

      启用

(可选)步骤四:创建内容模板

操作审计默认使用SLS ActionTrail内置内容模板为用户/用户组发送告警通知。您也可以根据需要创建自定义的内容模板。

  1. 告警中心页面,选择告警管理 > 内容模板

  2. 单击创建

  3. 添加内容模板对话框,设置标识符名称

  4. 设置各个渠道的告警通知内容,单击确认

    单击查看告警渠道各配置项的说明

    告警渠道

    配置项

    短信

    短信渠道的内容模板说明如下:

    • 非定制内容语言:告警通知内容的语言,支持中文和英文。

    • 发送内容:告警通知内容。您还可以使用模板变量定义内容。更多信息,请参见内容模板变量说明(新版)

    语音

    语音渠道的内容模板说明如下:

    • 非定制内容语言:告警通知内容的语言,支持中文(推荐)和英文。

    • 发送内容:告警通知内容。您还可以使用模板变量定义内容。更多信息,请参见内容模板变量说明(新版)

    邮件

    邮件渠道的内容模板说明如下:

    • 非定制内容语言:告警通知内容的语言,支持中文和英文。

    • 主题:告警消息的主题。您还可以使用模板变量定义主题。

    • 发送内容:告警通知内容。您还可以使用模板变量定义内容。更多信息,请参见内容模板变量说明(新版)

    钉钉

    钉钉渠道的内容模板说明如下:

    • 标题:告警消息的标题。您还可以使用模板变量定义标题。

    • 发送内容:告警通知内容。您还可以使用模板变量定义内容。更多信息,请参见内容模板变量说明(新版)

    WebHook-自定义

    WebHook渠道的内容模板说明如下:

    • 发送方式:支持逐条发送和合并发送。

      例如发送内容配置为{ "project": "{{project}}", "alert_name": "{{alert_name}}"},当触发两个告警时:

      • 逐条发送:发送两次告警通知,其内容分别为{ "project": "project-1", "alert_name": "alert-1"}{ "project": "project-2", "alert_name": "alert-2"}

      • 合并发送:发送一次告警通知,其内容为[{ "project": "project-1", "alert_name": "alert-1"}, { "project": "project-2", "alert_name": "alert-2"}]

        • 选择合并发送时,如果限制了单个分组最多发送的条数,则只发送合并集合中的前N条告警。

        • 选择合并发送时,如果您配置的内容可解析为JSON格式,则最终发送的内容为JSON格式。否则为字符串数组格式。

    • 发送内容:告警通知内容。您还可以使用模板变量定义内容。更多信息,请参见内容模板变量说明(新版)

    说明

    发送告警通知时默认添加请求头信息Content-Type: application/json;charset=utf-8。如果Webhook接收端需要其它格式的请求头,您可以在配置通知渠道时,自定义请求头信息。更多信息,请参见Webhook-自定义

    通知中心

    通知中心渠道内容模板说明如下:

    • 非定制内容语言:告警通知内容的语言,支持中文和英文。

    • 发送内容:告警通知内容。您还可以使用模板变量定义内容。更多信息,请参见内容模板变量说明(新版)

    企业微信

    企业微信渠道的内容模板说明如下:

    • 标题:告警消息的标题。您还可以使用模板变量定义标题。

    • 发送内容:告警通知内容。您还可以使用模板变量定义内容。更多信息,请参见内容模板变量说明(新版)

    飞书

    飞书渠道的内容模板说明如下:

    • 标题:告警消息的标题。您还可以使用模板变量定义标题。

    • 发送内容:告警通知内容。您还可以使用模板变量定义内容。更多信息,请参见内容模板变量说明(新版)

    Slack

    Slack渠道的内容模板说明如下:

    • 标题:告警消息的标题。您还可以使用模板变量定义标题。

    • 发送内容:告警通知内容。您还可以使用模板变量定义内容。更多信息,请参见内容模板变量说明(新版)

    EventBridge

    事件总线(EventBridge)渠道的内容模板说明如下:

    • 主题:告警消息的主题。您还可以使用模板变量定义主题。

    • 发送内容:告警通知内容。您还可以使用模板变量定义内容。更多信息,请参见内容模板变量说明(新版)

    函数计算

    函数计算(FC)渠道的内容模板说明如下:

    • 发送方式:支持逐条发送和合并发送。

      例如发送内容配置为{ "project": "{{project}}", "alert_name": "{{alert_name}}"},当触发两个告警时:

      • 逐条发送:发送两次告警通知,其内容分别为{ "project": "project-1", "alert_name": "alert-1"}{ "project": "project-2", "alert_name": "alert-2"}

      • 合并发送:发送一次告警通知,其内容为[{ "project": "project-1", "alert_name": "alert-1"}, { "project": "project-2", "alert_name": "alert-2"}]

        • 选择合并发送时,如果限制了单个分组最多发送的条数,则只发送合并集合中的前N条告警。

        • 选择合并发送时,如果您配置的内容可解析为JSON格式,则最终发送的内容为JSON格式。否则为字符串数组格式。

    • 发送内容:告警通知内容。您还可以使用模板变量定义内容。更多信息,请参见内容模板变量说明(新版)

(可选)步骤五:创建行动策略

行动策略用于控制告警通知的渠道和频率。操作审计内置告警规则默认使用SLS ActionTrail内置行动策略为您发送告警通知,您也可以创建行动策略,设置告警触发条件、通知渠道和接收人等信息。

  1. 告警中心页面,选择告警管理 > 行动策略

  2. 单击创建

  3. 添加行动策略对话框,输入标识符名称

  4. 第一行动列表页签,创建行动策略。

    1. 单击条件图标。

    2. 配置触发告警通知的条件,然后单击确认

      参数

      描述

      示例

      条件

      取值:

      • 所有:每个告警集合中所有的告警都满足所有条件时才会执行相应的行动组。

      • 任意:每个告警集合中任意一条告警满足所有条件时就会执行相应的行动组。

      任意

      条件表达式

      针对符合条件的告警进行渠道分派。系统根据您配置的条件(对象、操作符、对象值),执行相应的行动组。

      • 对象:阿里云账号

      • 操作符:等于

      • 对象值:154035569884****

      模式

      您可以通过标准模式或高级模式添加多个条件。取值:

      • 标准模式:多个条件之间为and关系。

      • 高级模式:多个条件之间可以为and或or关系,支持您使用圆括号将多个条件归为一组,且支持条件嵌套。

      标准模式

    3. 配置行动组。

      根据控制台界面,配置通知渠道及相关参数。通知渠道包括短信、语音、邮件、钉钉、WebHook和消息中心。更多信息,请参见通知渠道说明行动组

    4. 单击条件行动组对话框对应的结束 图标,结束第一行动列表配置。

      说明

      如果您需要继续添加条件和行动组,请单击条件图标。

  5. 单击确认

步骤六:配置内置告警规则

内置告警规则默认关闭,开启后默认采用系统预置的严重程度检测操作事件,您可以根据需要设置告警参数。

例如,您可以配置与KMS相关的如下告警规则:KMS密钥配置变更告警API错误频率告警未授权的API调用告警

说明
  • 自定义告警规则在创建后,会自动开启,无需进行下面的操作步骤。

  • 您可以在操作审计控制台,将鼠标悬浮在告警规则名称右侧的问号图标,查询告警规则详情。

  1. 告警中心页面,单击规则/事务页签。

  2. 单击目标告警规则右侧操作列的开启

    状态列显示已开启,表示成功开启告警规则。

  3. 单击目标告警规则右侧操作列的设置

  4. 参数设置对话框,设置以下参数,然后单击保存

    参数

    描述

    示例

    行动策略

    告警通知的渠道和频率。

    网站日志告警行动策略

    严重度

    告警规则的严重程度。

    说明

    您可以为账号连续登录失败告警设置最大失败登录次数,或者为未授权的API调用告警设置未授权调用的最大次数

步骤七:配置自定义告警规则

以配置删除密钥时触发告警为例,设置每隔1小时检查一次,每次检查在1天内是否有密钥删除事件。

  1. 告警中心页面的规则/事务页签,单击新建告警

  2. 告警监控规则面板,完成监控规则配置后,单击确定

    关键参数见下表,其他参数的详细描述,请参见告警监控规则参数

    参数

    说明

    示例

    检查频率

    日志服务根据您配置的频率对查询和分析结果进行检查。

    • 每小时:每小时检查一次查询和分析结果。

    • 每天:在每天的某个固定时间点检查一次查询和分析结果。

    • 每周:在周几的某个固定时间点检查一次查询和分析结果。

    • 固定间隔:按照固定间隔检查查询和分析结果。

    • Cron:通过Cron表达式指定时间间隔,按照指定的时间间隔检查查询和分析结果。

      Cron表达式的最小精度为分钟,24小时制,例如0 0/1 * * *从00:00开始,每隔1小时检查一次。

    固定间隔;1小时

    查询统计

    单击添加,在查询统计对话框,设置查询和分析语句。

    • 关联报表:您可以选择监控仪表盘。

    • 高级配置:在高级配置页签下,您可以选择监控日志库、指标库和资源数据。

      选择类型日志库指标库,且设置了查询和分析语句时,您可以选择是否开启独享SQL。更多信息,请参见开启SQL独享版

      • 自动:默认不使用独享SQL。当遇到查询并发限制或者查询结果不精确时,自动尝试使用独享SQL再次查询。

      • 启用:始终使用独享SQL进行查询和分析。

      • 关闭:关闭独享SQL。

    日志库:选择日志库,日志库名称格式为actiontrail_<跟踪名称>

    查询区间:选择1天(相对)。

    查询:设置为event.serviceName:Kms and event.eventName:"ScheduleKeyDeletion" | select COUNT(*) as schedule_count

    其他参数为默认值即可。

    触发条件

    配置触发条件及严重度。

    • 触发条件

      • 有数据:当查询和分析结果中存在数据时,触发告警。

      • 有特定条数据:当查询和分析结果中存在N条数据时,触发告警。

      • 有数据匹配:当查询和分析结果中存在数据满足告警表达式时,触发告警。

      • 有特定条数据匹配:当查询和分析结果中存在N条数据满足告警表达式时,触发告警。

    • 严重度

      主要用于告警降噪控制和告警通知控制,即您在创建告警策略或行动策略时,可添加关于告警严重度的判断条件。更多信息,请参见设置告警严重度

      • 简单配置:直接选择告警严重度,则表示通过该规则产生的告警都为同一严重度。

      • 分条件配置:单击添加,分条件设置告警严重度。

    告警条件表达式的相关语法,请参见告警条件表达式语法

    选择有数据,严重度选择

    自定义告警规则创建成功后,状态默认为已开启

(可选)步骤八:创建白名单

如果您希望阿里云账号、RAM用户、RAM角色和IP地址不受告警规则限制,可以创建白名单。

说明

仅部分告警规则支持创建白名单,请以控制台显示为准。

  1. 单击目标告警规则右侧外部配置列的白名单

  2. 数据管理对话框,单击添加

  3. 添加数据对话框,根据控制台提示添加白名单信息(例如:154035569884****)。

  4. 单击确认

    添加成功后,您可以在白名单用户右侧操作列进行修改或删除操作。