标签策略语法

标签策略 policy 是由若干个策略子语句构成。每条策略子语句包括策略键 policy_key、标签键 tag_key、标签值 tag_value以及生效范围等多个元素。

相关产品
标签 产品页,含版本规格、价格与购买入口。

一、语法格式

策略语法以 JSON 格式为基础。创建或更新的策略不满足 JSON 格式时,将无法提交成功也无法生效,所以用户必须要确保 JSON 格式正确。

二、语法约定

基本的标签策略语法,以标签值的取值方式区分如下:

指定值动态值{ "tags": { "principal负责人": { "tag_key": {"@@assign": "principal负责人"}, "tag_value": { "@@assign": ["value姓名1"] }, "resource_type_scope": { "@@assign": ["cvm:instance", "cvm:volume"] }, "detection": {"@@assign": "on"},//检测是系统默认启用功能,将按照指定资源指定标签键检测标签值是否合规默认开启,在json中默认不显示 "correction": {"@@assign": "on"},//自动修复。指定1个值时可以开启,但多个指定值无法自动修复 "auto_assign": {"@@assign": "on"},//自动赋值-标签键 "enforced_for": { "@@assign": ["*"] },//强制执行。当值不为"value姓名1"则拦截、不允许绑定其他值 "auto_assign_value": {"@@assign": "on"}//自动赋值-标签值 } }}{ "tags": { "principal负责人": { "tag_key": {"@@assign": "principal负责人"}, "tag_value_dynamic": {"@@assign": "on"},//开启动态值,取值以子用户在访问管理中绑定的同名标签键的值为准 "resource_type_scope": { "@@assign": ["cvm:instance", "cvm:volume"] }, "detection": {"@@assign": "on"},//检测是系统默认启用功能,将按照指定资源指定标签键检测标签值是否合规默认开启,在json中默认不显示 "correction": {"@@assign": "on"},//自动修复,动态值也只有一个值,可开启自动修复 "auto_assign": {"@@assign": "on"},//自动赋值-标签键 "enforced_for": { "@@assign": ["*"] },//强制执行。当值不为"value姓名1"则拦截、不允许绑定其他值 "auto_assign_value": {"@@assign": "on"}//自动赋值-标签值 } }}

语法中的元素

元素 是否必填 使用说明 对应到示例中的含义
tags 是 标签策略始终以 tags 作为开头、位于策略的第一行,固定值 tags 固定值
policy_key 是 策略键。作为唯一标识策略语句的策略键,与标签键取值相同。一个标签策略中可以定义多个策略键。区分大小写 将 principal负责人 作为策略键
tag_key 是 标签键。作为标识符合要求的标签键,与策略键取值相同。一个标签策略中可定义多个标签键。区分大小写 将 principal负责人 作为标签键
tag_value 是 标签值。作为标签键符合要求的标签值 将 value姓名1分配给标签值 ,principal负责人 作为允许值
tag_value_dynamic 否 标签值是否使用动态值。如开启,则需要保障子用户已绑定同名标签键,将以对应值为准。 on将动态取该子用户的同名标签值
resource_type_scope 是 资源类型范围。作为标签键值指定的生效范围 将限定生效范围为
cvm:instance,cvm:volume
detection 否 系统默认开启(无论是否填写) on将标签键值生效的资源范围下的检测功能开启
correction 否 是否开启自动修复。作为标签键值是否需自动修复的开关 on 将标签键值生效的资源范围下的自动修复功能开启
auto_assign 否 是否开启自动赋值。表示标签键是否需要默认展示在编辑标签的位置 on将标签键生效的资源范围下的自动赋值功能开启
auto_assign_value 否 是否开启自动赋值。表示标签值是否需要默认展示在编辑标签的位置 on将标签值生效的资源范围下的自动赋值功能开启
enforced_for 否 是否开启强制执行。表示对于不符合要求的标签键值是否需要拦截绑定 *将标签键值所有的资源的强制执行功能开启

三、策略长度限制

每条策略长度限制为4096个字符,超出则无法提交策略。若超出,请重新添加新策略,请参见 标签策略概述中的使用限制。

四、生效对象

你可以将标签策略绑定到多个用户实体对象上(主账号、主账号下的子用户),但它只会对所绑定的用户生效。

·当你将标签策略绑定到主账号时,则只会影响该主账号。

·当你将标签策略绑定到子用户时,则只会影响该子用户。

五、生效时间

生效对象在操作资源标签时,将会按照标签策略实时检测对应资源是否绑定对应标签键值。此过程时间延迟将在10s 以内。

六、生效优先级

你可以给一个用户实体绑定多个标签策略,但最终会将多个标签策略合并为一个有效策略。合并规则如下:

1. 如果策略键不重复,则按多个策略键执行,但有效策略中全部策略键不会超过50个。如果超过,则从第51个开始不会被合并。

2. 如果策略键重复,且每个策略键约定的标签值规则不同,则以最早绑定的标签策略为准。例如 A 策略要求 key=1 时,需要 value=1,但 B 策略要求 key=1 时,需要 value=2,但 A 策略先绑定到用户,则以 A 策略为准。

七、生效符号

运算符用来控制标签策略中的运算规则。这些运算符目前仅支持赋值运算符。

运算符 是否必填 使用说明 对应到示例中的含义
@@assign 是 指定。用于将指定内容分配给指定元素 指定策略键、标签键为 principal负责人指定标签值为 value姓名1指定资源类型范围为 cvm:instance,cvm:volume指定是否自动修复为 on
赞 (0)
上一篇 4天前
下一篇 4天前