合规规则
通过指定合规策略和合规策略所应用的范围(如:在某一区域的某些资源)来构成合规规则。
使用JSON表达式来表示一个合规规则定义,如表1所示。
参数 |
定义 |
限制 |
说明 |
---|---|---|---|
id |
合规规则唯一标识符 |
- |
- |
policy_assignment_type |
合规规则类型 |
- |
包含以下两种:
如不设置此参数,则默认为预设策略。 |
name |
合规规则的名称 |
字符串类型,最多64个字符。 |
规则名称默认复用所选择合规策略的名称,也可自行修改。 name最大长度为64个字符。 |
description |
合规规则的描述 |
字符串类型,最多512个字符。 |
指的是规则简介,默认复用所选择合规策略的简介,需自行修改。 description最大长度为512个字符。 |
period |
周期频率 |
- |
包含以下几种:
|
policy_filter |
合规规则过滤器,用于过滤范围内的哪些资源参与此规则的评估。 过滤器的属性主要有以下几个:
|
policy_filter:Object类型。
|
说明:
资源类型(resource_provider)是判断过滤器类型(指定资源/所有资源)的依据,如果policy_filter中资源类型存在,则过滤器类型为“指定资源”;如果policy_filter中资源类型不存在,则过滤器类型为“所有资源”。 因此policy_filter中没有设置单独的过滤器类型属性。 |
state |
合规规则的运行状态 |
- |
包含以下几种:
|
created |
合规规则的创建时间 |
- |
说明:
时间具有固定格式:遵循ISO8601格式,UTC时区(例如:2018-11-14T08:59:14Z)。 |
updated |
合规规则的更新时间 |
- |
|
policy_definition_id |
合规策略ID |
字符串类型,最多64个字符,只能包括字母、数字、中划线(-)。 |
policy_definition_id指定此规则绑定的合规策略ID。 |
custom_policy |
自定义策略,包含如下属性:
|
custom_policy:Object类型 。
|
custom_policy指定此规则绑定的自定义策略的函数URN和调用时的鉴权方式。 |
parameters |
合规策略的规则参数的值 |
parameters:Object类型
|
合规规则绑定的合规策略,会有相应的规则参数,规则参数的个数、类型以及范围取决于所选择的合规策略。 |
tags |
合规规则的标签列表 |
- |
|
created_by |
合规规则的创建者 |
- |
用户创建(custom)或服务关联委托方式创建。 |
为避免循环评估的行为,合规规则不支持评估配置审计服务的合规规则和合规规则包两种资源类型。
如下JSON表示了一个用于检查在区域1的弹性云服务器是否具有tag(env:production)标签的预设策略:
{ "id": "5fcd8696dfb78231e6f2f899", "name": "required-tag-check", "description": "指定一个标签,不具有此标签的资源,视为“不合规”", "policy_filter": { "region_id": "regionid_1", "resource_provider": "ecs", "resource_type": "cloudservers", "tag_key": "env", "tag_value": "production" }, "period": null, "state": "Enabled", "created": "2020-12-07T01:34:14.266Z", "updated": "2020-12-07T01:34:14.266Z", "policy_definition_id": "5fa9f89b6eed194ccb2c04db", "parameters": { "specifiedTagKey": { "value": "a" }, "specifiedTagValue": { "value": [] } } "tags": [], "created_by": "custom" }
如下JSON表示了一个用于检查在区域1的弹性云服务器的自定义合规规则:
{ "id": "719d8696dfb78231e6f2f719", "name": "test_consume_policy", "description": "指定一个标签,不具有此标签的资源,视为“不合规”", "policy_filter": { "region_id": "regionid_1", "resource_provider": "ecs", "resource_type": "cloudservers", "tag_key": null, "tag_value": null }, "period": null, "state": "Enabled", "created": "2022-07-19T01:34:14.266Z", "updated": "2022-07-19T01:34:14.266Z", "policy_definition_id": null, "custom_policy": { "function_urn": "urn:fss:regionid_1:projectidforpolicy:function:default:test_consume_policy:latest", "auth_type": "agency", "auth_value": {"agency_name": "rms_fg_agency"} }, "parameters": { "vpcId": {"value": "allowed-vpc-id"} } } "tags": [], "created_by": "custom" }