更新时间:2024-07-22 GMT+08:00
分享

合规规则

通过指定合规策略和合规策略所应用的范围(如:在某一区域的某些资源)来构成合规规则。

使用JSON表达式来表示一个合规规则定义,如表1所示。

表1 合规规则的定义-JSON表达式格式

参数

定义

限制

说明

id

合规规则唯一标识符

-

-

policy_assignment_type

合规规则类型

-

包含以下两种:

  • builtin:预设策略,此时合规规则需要设置参数policy_definition_id。
  • custom:自定义策略,此时合规规则需要设置参数custom_policy。

如不设置此参数,则默认为预设策略。

name

合规规则的名称

字符串类型,最多64个字符。

规则名称默认复用所选择合规策略的名称,也可自行修改。

name最大长度为64个字符。

description

合规规则的描述

字符串类型,最多512个字符。

指的是规则简介,默认复用所选择合规策略的简介,需自行修改。

description最大长度为512个字符。

period

周期频率

-

包含以下几种:

  • One_Hour: 1小时。
  • Three_Hours: 3小时。
  • Six_Hours: 6小时。
  • Twelve_Hours: 12小时。
  • TwentyFour_Hours: 24小时。

policy_filter

合规规则过滤器,用于过滤范围内的哪些资源参与此规则的评估。

过滤器的属性主要有以下几个:

  • region_id: 区域ID。
  • resource_provider: 指定资源服务。
  • resource_type:指定资源服务下的资源类型。
  • resource_id:资源ID。
  • tag_key:资源标签的键。
  • tag_value:资源标签的值。
policy_filter:Object类型。
  • region_id:字符串类型,最多128个字符,只能包括字母、数字、中划线(-)。
  • resource_provider:字符串类型,最多128个字符,只能包括字母、数字。
  • resource_type:字符串类型,最多128个字符,只能包括字母、数字。
  • resource_id:字符串类型,最多256个字符。
  • tag_key:字符串类型,最多128个字符。
  • tag_value:字符串类型,最多256个字符。
说明:

资源类型(resource_provider)是判断过滤器类型(指定资源/所有资源)的依据,如果policy_filter中资源类型存在,则过滤器类型为“指定资源”;如果policy_filter中资源类型不存在,则过滤器类型为“所有资源”。

因此policy_filter中没有设置单独的过滤器类型属性。

state

合规规则的运行状态

-

包含以下几种:

  • Enabled:运行中,表示此合规规则可用。
  • Disabled:已停用,表示此合规规则已停用。
  • Evaluating:评估中,表示正在使用此合规规则进行资源评估。

created

合规规则的创建时间

-

说明:

时间具有固定格式:遵循ISO8601格式,UTC时区(例如:2018-11-14T08:59:14Z)。

updated

合规规则的更新时间

-

policy_definition_id

合规策略ID

字符串类型,最多64个字符,只能包括字母、数字、中划线(-)。

policy_definition_id指定此规则绑定的合规策略ID。

custom_policy

自定义策略,包含如下属性:

  • function_urn:函数urn。
  • auth_type:调用函数的鉴权方式。
  • auth_value:调用函数的鉴权值。

custom_policy:Object类型 。

  • function_urn:字符串类型,最多1024个字符。
  • auth_type:字符串类型,当前只支持 "agency" 。
  • auth_value:object类型,与auth_type相关,当前只支持如下结构 {"agency_name": value_name},其中value_name为授权给Config服务调用函数的委托的名字。

custom_policy指定此规则绑定的自定义策略的函数URN和调用时的鉴权方式。

parameters

合规策略的规则参数的值

parameters:Object类型
  • key:字符串类型,只能包括字母、数字,当合规规则为自定义合规规则时,最多1024个字符。
  • value:Object类型,根据参数具体的类型,有具体的限制。

合规规则绑定的合规策略,会有相应的规则参数,规则参数的个数、类型以及范围取决于所选择的合规策略。

tags

合规规则的标签列表

-

  • 标签键:最大长度为128个unicode字符。
  • 标签值:最大长度为255个unicode字符。

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"
}

相关文档