使用云审计服务(CTS)触发器
本节介绍如何通过函数工作流控制台创建CTS触发器,实现通过增加自定义操作触发函数运行,然后通过云审计服务获取操作记录。
CTS触发器触发事件说明
云审计服务(Cloud Trace Service,以下简称CTS),是华为云安全解决方案中专业的日志审计服务,提供对各种云资源操作记录的收集、存储和查询功能,可用于支撑安全分析、合规审计、资源跟踪、问题回溯和问题定位等常见应用场景。
在FunctionGraph中使用CTS触发器,可以通过编写FunctionGraph函数,依据CTS云审计服务类型和操作订阅所需事件通知。当CTS获取已订阅的操作记录后,将通过CTS触发器将采集到的操作记录作为参数(CTS示例事件)传递给FunctionGraph函数。函数对日志中的关键信息进行分析和处理,对系统、网络等业务模块实施自动修复,或通过短信、邮件等形式发送告警,通知业务人员处理。
“拉美-圣保罗一”区域支持为共享函数配置CTS触发器。
约束与限制
- 当前除“亚太-雅加达”、“非洲-约翰内斯堡”、“拉美-圣地亚哥”外,其余区域均支持使用CTS触发器。具体运行时函数是否支持使用请以控制台为准。
前提条件
- 已开通CTS服务并授权。
- 已配置函数的CTS委托权限,操作过程请参见配置函数的委托权限。
创建CTS触发器
以创建一个Python函数为例,介绍如何在函数中配置CTS触发器。
- 登录函数工作流控制台,在左侧的导航栏选择“函数 > 函数列表”。
- 单击右上方的“创建函数”,进入“创建函数”页面。
- 设置以下函数信息。
- 函数名称:输入您自定义的函数名称,例如:HelloWorld。
- 委托名称:选择含CTS服务权限的委托。
- 企业项目:选择“default”。
- 运行时语言:选择“Python 2.7”。
- 单击“创建函数”,完成函数的创建。
- 在“代码”页签下,复制如下代码至代码编辑区,部分参数信息请参考表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)
- 选择“设置 > 触发器”,单击“创建触发器”,弹出“创建触发器”对话框。
图1 创建触发器
- 配置以下参数。
表3 CTS触发器参数说明 参数
说明
取值样例
触发器类型
必选参数。
选择“云审计服务(CTS)”。
云审计服务(CTS)
通知名称
必选参数。
自定义CTS触发器的通知名称。支持汉字、字母、数字和下划线,且长度不能超过64个字节。
CTS_fg
自定义操作
必选参数。
最多支持添加10个服务,100个操作,配置参数如下:
- 服务类型:选择“FunctionGraph”。
当服务类型选择全局级云服务时,例如对象存储服务(OBS)、统一身份认证服务(IAM)等,CTS触发器只能在“香港”区域才能触发。如需了解更多全局级云服务请提交工单咨询。
- 资源类型:所选服务下对应的资源类型,如触发器、实例、函数等。
- 操作名称:所选资源类型下对应的操作,如创建、删除触发器等。
FunctionGraph;Functions;createFunction
- 服务类型:选择“FunctionGraph”。
- 单击“确定”,完成CTS触发器的创建。
为共享函数配置CTS触发器
“拉美-圣保罗一”区域支持为共享函数配置CTS触发器,关于共享函数的相关介绍请参考基于RAM共享函数资源。
配置CTS事件触发函数
- 返回函数工作流控制台,在左侧的导航栏选择“函数 > 函数列表”。
- 选择待配置的函数,单击进入函数详情页。
- 在HelloWorld函数详情页,选择函数版本,单击“测试”,弹出“配置测试事件”对话框。
- 填写如表4所示测试信息后,单击“保存”。
- 单击“测试”,可以得到函数运行结果记录。
相关文档
除使用控制台外,函数工作流支持通过API的方式管理函数触发器,详情请参见函数触发器API。