云服务器内容精选

  • 合规策略 合规策略是一个可以用于评估资源是否合规的逻辑表达式。将合规策略应用到资源上时,可以评估出这个资源是否符合合规策略中的要求。 合规策略本身只是一个静态的逻辑,如果想要让其生效,必须将合规策略指定到一个具体的范围(如:通过设置过滤器来指定具体的资源范围)上,即生成一个具体的合规规则。 使用JSON表达式来表示一个合规策略定义,如表1所示。 表1 合规策略的定义-JSON表达式格式 参数 定义 说明 id 合规策略的唯一标识符 - name 合规策略的名称 name最大长度为64个字符。 description 合规策略的描述 description最大长度为512个字符。 parameters 合规策略的规则参数,即每个合规策略下包含的参数。 具有如下属性: name description type default_value allowed_values 合规策略中包含的参数名称保持不变,您可以根据需要设置不同的值。 如表单上的字段:参数名称、描述等不变。 name:规则参数的名称。 description:规则参数的描述。 type:规则参数值的类型,包括String,Array,Object,Boolean,Integer,Float,Datetime。 说明: Datetime具有固定格式:遵循ISO8601格式,UTC时区(例如:2018-11-14T08:59:14Z)。 default_value:规则参数的默认值。如果指定了默认值,用户可以不输入规则参数值,创建合规规则时将使用此默认值。 allowed_values:规则参数值允许的值列表。如果指定了allowed_values,那么参数的值只能够从这些值中选择。 keywords 合规策略关键词 一般为与合规策略相关的产品简称。 policy_type 合规策略的类型。 主要有以下类型: builtin custom builtin:系统内置策略,这些合规策略定义由Config服务提供和维护。详见系统内置预设策略。 custom: 用户自定义策略,用户创建的所有合规策略定义都具有此值。 policy_rule_type 合规策略的语法类型 DSL:一种Config服务提供的合规策略描述语言,用户可以根据此语法,将合规判断逻辑描述为一个具体的合规策略。 policy_rule 合规策略语法的逻辑表达式 关于如何使用DSL来编写合规策略的具体逻辑请参阅DSL语法。 trigger_type 触发类型。 有以下类型: resource period resource:在指定的资源发生更改时运行。 period:按照您设定的频率运行。 如下JSON表示了一个用于检查ECS实例的镜像ID是否在指定范围内的合规策略: { "id": "5fa265c0aa1e6afc05a0ff07", "name": "allowed-images-by-id", "description": "指定允许的镜像ID列表,ECS实例的镜像ID不在指定的范围内,视为“不合规”", "parameters": { "listOfAllowedImages": { "name": "null", "description": "The list of allowed image IDs", "type": "Array" "allowed_values": null, "default_value": null, } }, "keywords": [ "ecs", "ims" ], "policy_type": "builtin", "policy_rule_type": "dsl", "trigger_type": "resource", "policy_rule": { "allOf": [ { "value": "${resource().provider}", "comparator": "equals", "pattern": "ecs" }, { "value": "${resource().type}", "comparator": "equals", "pattern": "cloudservers" }, { "value": "${resource().properties.metadata.meteringImageId}", "comparator": "notIn", "pattern": "${parameters('listOfAllowedImages')}" } ] }, } 更多样例详见自定义合规规则样例。 父主题: 合规规则概念详解
  • 合规规则 通过指定合规策略和合规策略所应用的范围(如:在某一区域的某些资源)来构成合规规则。 使用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类型,根据参数具体的类型,有具体的限制。 合规规则绑定的合规策略,会有相应的规则参数,规则参数的个数、类型以及范围取决于所选择的合规策略。 如下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": [] } } } 如下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"} } } } 父主题: 合规规则概念详解