更新时间:2025-09-08 GMT+08:00
分享

使用云审计服务(CTS)触发器

本节介绍如何通过函数工作流控制台创建CTS触发器,实现通过增加自定义操作触发函数运行,然后通过云审计服务获取操作记录。

CTS触发器触发事件说明

云审计服务(Cloud Trace Service,以下简称CTS),是华为云安全解决方案中专业的日志审计服务,提供对各种云资源操作记录的收集、存储和查询功能,可用于支撑安全分析、合规审计、资源跟踪、问题回溯和问题定位等常见应用场景。

在FunctionGraph中使用CTS触发器,可以通过编写FunctionGraph函数,依据CTS云审计服务类型和操作订阅所需事件通知。当CTS获取已订阅的操作记录后,将通过CTS触发器将采集到的操作记录作为参数(CTS示例事件)传递给FunctionGraph函数。函数对日志中的关键信息进行分析和处理,对系统、网络等业务模块实施自动修复,或通过短信、邮件等形式发送告警,通知业务人员处理。

“拉美-圣保罗一”区域支持为共享函数配置CTS触发器。

约束与限制

  • 当前除“华北-乌兰察布一”“亚太-雅加达”“非洲-约翰内斯堡”“拉美-圣地亚哥”外,其余区域均支持使用CTS触发器。具体运行时函数是否支持使用请以控制台为准。
  • CTS触发器最多支持添加10个服务,每个服务10个操作,总共可添加100个操作,服务及操作详情可参见云审计服务支持的FunctionGraph操作列表

前提条件

创建CTS触发器

以创建一个Python函数为例,介绍如何在函数中配置CTS触发器。

  1. 登录函数工作流控制台,在左侧的导航栏选择“函数 > 函数列表”。
  2. 单击右上方的“创建函数”,进入“创建函数”页面。
  3. 设置以下函数信息。
    • 函数名称:输入您自定义的函数名称,例如:HelloWorld。
    • 委托名称:选择含CTS服务权限的委托。
    • 企业项目:选择“default”。
    • 运行时语言:选择“Python 2.7”。
  4. 单击“创建函数”,完成函数的创建。
  5. 在“代码”页签下,复制如下代码至代码编辑区,部分参数信息请参考表2补充,完成后单击“部署代码”。
    # -*- coding:utf-8 -*-
    '''
    CTS trigger event:
    {
      "cts":  {
            "time": "",
            "user": {
                "name": "userName",
                "id": "",
                "domain": {
                    "name": "domainName",
                    "id": ""
                }
            },
            "request": {},
            "response": {},
            "code": 204,
            "service_type": "FunctionGraph",
            "resource_type": "",
            "resource_name": "",
            "resource_id": {},
            "trace_name": "",
            "trace_type": "ConsoleAction",
            "record_time": "",
            "trace_id": "",
            "trace_status": "normal"
        }
    }
    '''
    def handler (event, context):
        trace_name = event["cts"]["resource_name"]
        timeinfo = event["cts"]["time"]
        print(timeinfo+' '+trace_name)
    表2 参数说明

    参数

    说明

    time

    13位时间戳格式,例如“1738805309469”。

    record_time

    13位时间戳格式,例如“1738805309469”。

  6. 选择“设置 > 触发器”,单击“创建触发器”,弹出“创建触发器”对话框。
    图1 创建触发器
  7. 配置以下参数。
    表3 CTS触发器参数说明

    参数

    说明

    取值样例

    触发器类型

    必选参数。

    选择“云审计服务(CTS)”。

    云审计服务(CTS)

    通知名称

    必选参数。

    自定义CTS触发器的通知名称。支持汉字、字母、数字和下划线,且长度不能超过64个字节。

    CTS_fg

    自定义操作

    必选参数。

    最多支持添加10个服务,100个操作,配置参数如下:

    • 服务类型:选择“FunctionGraph”。

      当服务类型选择全局级云服务时,例如对象存储服务(OBS)、统一身份认证服务(IAM)等,CTS触发器只能在“北京四”区域才能触发。如需了解更多全局级云服务请提交工单咨询。

    • 资源类型:所选服务下对应的资源类型,如触发器、实例、函数等。
    • 操作名称:所选资源类型下对应的操作,如创建、删除触发器等。

    FunctionGraph;Functions;createFunction

  8. 单击“确定”,完成CTS触发器的创建。

为共享函数配置CTS触发器

“拉美-圣保罗一”区域支持为共享函数配置CTS触发器,关于共享函数的相关介绍请参考基于RAM共享函数资源

  1. 登录函数工作流控制台,在左侧的导航栏选择“函数 > 函数列表”。
  2. 选择“共享函数”页签,单击函数名称进入函数详情页。
  3. 后续创建步骤与普通函数相同,请参考6开始操作。

配置CTS事件触发函数

  1. 返回函数工作流控制台,在左侧的导航栏选择“函数 > 函数列表”。
  2. 选择待配置的函数,单击进入函数详情页。
  3. 在HelloWorld函数详情页,选择函数版本,单击“测试”,弹出“配置测试事件”对话框。
  4. 填写如表4所示测试信息后,单击“保存”。

    表4 测试信息

    参数

    说明

    配置测试事件

    可创建新的测试事件也可编辑已有的测试事件。

    选择“创建新的测试事件”。

    事件模板

    选择“云审计服务(CTS)”模板,使用系统内置CTS事件模板。

    事件名称

    自定义的事件名称,例如:cts-test。

    测试事件

    自动加载系统内置CTS事件模板,可以根据实际情况修改。

  5. 单击“测试”,可以得到函数运行结果记录。

相关文档

除使用控制台外,函数工作流支持通过API的方式管理函数触发器,详情请参见函数触发器API

相关文档