添加自定义组织合规规则
操作场景
当Config提供的系统内置预设策略不能满足检测资源合规性的需求时,您可以通过编写函数代码,添加组织类型的自定义策略来完成复杂场景的资源审计。
自定义策略是一个用户开发并发布在函数工作流(FunctionGraph)上的函数。将合规规则和函数相关联,函数接收Config发布的事件,从事件中接收到规则参数和Config服务收集到的资源属性;函数评估该规则下资源的合规性并通过Config的Open API回传Config服务合规评估结果。合规规则的事件发送因触发类型为配置变更或周期执行而异。添加组织类型的自定义合规规则还需通过RAM服务将FunctionGraph函数共享给组织成员账号。
本章节指导您如何通过自定义策略来添加组织类型的合规规则,主要包含如下步骤:
约束与限制
- 每个账号最多可以添加500个合规规则。
- 添加、修改组织合规规则和触发规则评估需要开启资源记录器,资源记录器处于关闭状态时,组织合规规则仅支持查看和删除操作。
- 非组织内账号无法在Config控制台的“资源合规”页面中看到“组织规则”页签。
- 组织合规规则仅会下发至账号状态为“正常”的组织成员账号中,且组织成员账号需开启资源记录器,否则将导致部署异常。
仅被资源记录器收集的资源可参与资源评估,为保证资源合规规则的评估结果符合预期,强烈建议您保持资源记录器的开启状态,不同场景的说明如下:
- 如您未开启资源记录器,则资源合规规则无法评估任何资源数据。历史的合规规则评估结果依然存在。
- 如您已开启资源记录器,但仅在资源记录器监控范围内勾选部分资源,则资源合规规则仅会评估所选择的资源数据。
关于如何开启并配置资源记录器请参见:配置资源记录器。
创建FunctionGraph函数
- 登录函数工作流控制台,在左侧的导航栏选择“函数 > 函数列表”。
- 单击右上方的“创建函数”,进入“创建函数”页面。
- 选择“创建空白函数”,“函数类型”选择“事件函数”,并配置IAM委托。IAM委托授权给函数工作流(FunctionGraph),且需要包含权限“rms:policyStates:update”。
- 配置完成后单击“创建函数”,页面跳转至代码配置页面,继续配置代码源。
- 在代码框中写入评估函数,完成后单击“部署”。
评估函数的代码示例可参考示例函数(Python)。
- 选择“设置”,按需修改常规设置中的“执行超时时间”和“内存”,并配置“并发”。
- 完成后单击“保存”。
具体请参见创建事件函数。
共享FunctionGraph函数
- 以组织管理员账号或者Config服务的委托管理员账号登录管理控制台。
- 单击页面左上角的,选择“管理与监管 > 资源访问管理”,进入“资源访问管理”页面。
- 单击左侧的“我的共享”,选择“共享管理”。
- 单击页面右上角的“创建共享”,进入指定共享资源页面,配置基本信息并指定共享资源为“functiongraph:function”,选择已创建的FunctionGraph函数,单击页面右下角的“下一步:权限配置”。
图1 指定共享资源
- 进入“权限配置”页面,选择共享权限“default FunctionGraph function statement”,单击页面右下角的“下一步:指定使用者”。
图2 权限配置
- 进入“指定使用者”页面,指定共享资源的使用者,配置完成后,单击页面右下角的“下一步:配置确认”。
- 指定使用者:选择“仅允许在组织内共享”,表示指定的使用者必须为您组织内的成员。
- 使用者类型:选择“组织”,然后在下方的组织结构树中勾选根OU(即Root),表示将FunctionGraph函数共享给整个组织。
如果您未打开“启用与组织共享资源”开关,使用者类型将无法选择“组织”,如何启用请参见启用与组织共享资源。
图3 指定使用者
- 进入“配置确认”页面,确认配置无误后,勾选同意“隐私声明”协议,单击页面右下角的“确定”,完成FunctionGraph函数的组织内共享。
添加自定义组织合规规则
- 登录管理控制台。
- 单击页面左上角的图标,在弹出的服务列表中,选择“管理与监管”下的“配置审计 Config”,进入“资源清单”页面。
- 单击左侧的“资源合规”,进入“资源合规”页面。
- 选择“组织规则”页签,单击“添加规则”,进入“基础配置”页面。
- “策略类型”选择“自定义策略”,配置相关参数后单击“下一步”。
图4 基础配置
表1 基础配置参数说明 参数
说明
策略类型
策略类型选择“自定义策略”。
允许用户通过自定义策略来创建合规规则。
规则名称
合规规则的名称,不能与已存在的合规规则名称重复。
合规规则名称仅支持数字、字母、下划线和中划线。
规则简介
合规规则的简介,目前对合规规则简介的内容不做限制。
FunctionGraph函数
用户自定义策略执行函数的URN。
创建FunctionGraph函数请参见创建FunctionGraph函数。
- 进入“规则参数”页面,规则参数配置完成后,单击“下一步”。
图5 规则参数
表2 合规规则参数说明 参数
说明
触发类型
用于触发资源合规规则。
触发类型有:
- 配置变更:在指定的云资源发生更改时触发规则评估。
- 周期执行:按照您设定的频率运行。
过滤器类型
用于指定资源类型参与规则评估。
过滤器类型分为:
- 指定资源:指定资源类型下的所有资源均参与规则评估。
- 所有资源:账号下的所有资源均参与规则评估。
仅当“触发类型”选择“配置变更”时需配置此参数。
指定资源范围
过滤器类型选择“指定资源”后,需选择指定资源范围。
- 服务:选择资源所属的服务;
- 资源类型:选择对应服务下的资源类型;
- 区域:选择资源所在的区域。
仅当“触发类型”选择“配置变更”时需配置此参数。
过滤范围
使用过滤范围可指定资源类型下的某个具体资源参与规则评估。
过滤范围开启后您可通过资源ID或标签指定过滤范围。
仅当“触发类型”选择“配置变更”时需配置此参数。
周期频率
设置合规规则周期执行的频率。
仅当“触发类型”选择“周期执行”时需配置此参数。
规则参数
自定义策略的规则参数最多可以设置10个,由您自行配置。
目标
目标决定了此组织合规规则配置的部署位置。
- 组织:将策略部署到您组织内的所有成员账号中。
- 当前账号:将策略部署到当前登录的账号中。
创建组织类型的资源合规规则时请选择“组织”。
排除账号
输入需要排除的组织内的部分账号ID,使得该组织合规规则不在排除的账号中部署。
仅当“目标”选择“组织”时可配置此参数。
- 进入“确认规则”页面,确认规则信息无误后,单击“提交”按钮,完成自定义组织合规规则的创建。