标签策略是用来帮助企业实施标签规范化的一种策略。通过标签策略,企业可以限定资源上必须绑定的合规标签。合规标签可以提升企业在标签分账、标签分权、自动化运维等场景的管理效率。标签策略支持当前账号标签策略和资源目录标签策略两种,可以满足企业在不同阶段对标签规范化管控的需求。
应用场景
当企业在云上的资源越来越多时,企业可以通过标签对资源进行标记,实现资源分类、标签分账和自动化运维等。 但是,在给资源绑定标签的过程中,可能会遇到一些问题。例如:创建资源后,忘了绑定标签;只绑定了部分标签(例如:绑定了运维相关的标签,遗漏了财务相关的标签。);绑定的标签拼写错误等。这些问题会导致企业在标签分账时,出现不易划分财务归属的资源记录;企业在自动化运维时,出现不能自动化执行的资源。标签策略将在以下场景提供解决方案:
- 不合规标签事前拦截 - 建议您从一开始创建资源时就进行标签规范化管控。您可以通过标签策略的事前拦截功能,实现资源创建时就必须绑定合规标签。 - 默认情况下,仅针对在标签策略中设置的标签生效。当您开启事前拦截的强校验功能后,还可以对未绑定任何标签以及绑定了其他标签的情况生效。 - 具体操作,请参见使用标签策略实现不合规标签的事前拦截。 
- 标签自动检测 - 资源创建后,您可以通过标签策略监听资源变更情况,及时发现绑定了不合规标签的资源,包含以下两种情况: - 资源绑定了标签,但是标签不规范。 
- 资源未绑定指定标签。 
 - 自动检测的方式可以自动化地、全面地提早发现问题。 - 具体操作,请参见使用标签策略实现标签自动检测。 
- 标签自动修复 - 基于标签自动检测的结果,如果您的规则符合自动修复的条件,并开启了自动修复,则无需人工操作,标签策略会对不合规资源的标签进行自动修复。 - 具体操作,请参见使用标签策略实现标签自动修复。 
- 资源组标签自动继承到组内资源 - 为资源组绑定标签后,当在资源组中创建资源或者将资源加入到资源组时,该资源会自动继承资源组的标签。 - 具体操作,请参见使用标签策略实现基于资源组的标签自动继承。 
工作原理
标签策略从事前到事后,全流程规范标签行为。
- 事前拦截 - 当您在创建新资源以及为已有资源绑定标签时通过标签策略进行检测,检测标签不合规时将对操作进行拦截。 
- 事后检测和修复 - 对存量资源的标签合规性进行事后检测,针对检测出的不合规的标签,您可以手动修复或使用标签策略自动修复它们。 
标签策略模式
标签策略支持当前账号标签策略和资源目录标签策略两种。您可以根据实际的使用场景和当前登录的账号类型,启用对应的标签策略。具体如下表所示。
| 使用场景 | 当前登录账号类型 | 标签策略模式 | 操作步骤 | 
| 企业云上业务比较简单,使用的是单个阿里云账号及RAM用户的管理模式,此时,您可以通过阿里云账号启用当前账号标签策略,规范管理阿里云账号及RAM用户的标签操作。 | 阿里云账号(未加入资源目录) | 当前账号标签策略:管控阿里云账号及其下RAM用户的标签。 | |
| 如果企业云上业务比较复杂,已使用资源目录(RD)搭建了云上的多账号管理体系,此时,您可以通过RD管理账号启用资源目录标签策略,规范管理RD中各成员的标签操作。 | 资源目录的管理账号 | 您可以根据需要,同时启用或分别启用以下两种模式的标签策略: 
 | |
| 资源目录的成员 | 根据资源目录是否启用标签策略,分为以下两种情况: 
 | 
使用限制
| 限制项 | 规格 | 
| 当前账号标签策略中最多允许创建标签策略的数量 | 100个 | 
| 资源目录标签策略中最多允许创建标签策略的数量 | 100个 | 
| 每个标签策略的最大长度 | 2048个字符 | 
| 事前拦截策略的生效时间 | 
 | 
| 自动检测的生效时间 | 
 | 
| 自动修复的生效时间 | 检测出不合规资源后,10分钟内自动修复。 | 
最佳实践
支持标签策略的云服务
| 云服务 | 云服务代码 | 资源类型 | 是否支持标签自动检测和修复 | 是否支持资源组标签自动继承 | 支持事前拦截默认功能的API① | 支持事前拦截强校验功能的API② | 
| 云服务器ECS | ecs | instance | 是 | 是 | ||
| 无 | ||||||
| eni | 是 | 否 | ||||
| 无 | ||||||
| securitygroup | 是 | 是 | ||||
| 无 | ||||||
| disk | 是 | 是 | ||||
| 无 | ||||||
| snapshot | 是 | 否 | ||||
| 无 | ||||||
| ddh | 是 | 是 | ||||
| 无 | ||||||
| image | 否 | 否 | ||||
| 无 | ||||||
| 无 | ||||||
| keypair | 否 | 否 | ||||
| 无 | ||||||
| launchtemplate | 是 | 是 | ||||
| 无 | ||||||
| snapshotpolicy | 否 | 否 | ||||
| 云数据库RDS | rds | instance | 是 | 是 | 无 | |
| 无 | ||||||
| 负载均衡 | slb | instance | 是 | 是 | 无 | |
| certificate | 否 | 否 | 无 | |||
| acl | 否 | 否 | 无 | |||
| 应用型负载均衡 | alb | acl | 否 | 否 | 无 | |
| loadbalancer | 否 | 否 | 无 | |||
| securitypolicy | 否 | 否 | 无 | |||
| servergroup | 否 | 否 | 无 | |||
| 专有网络VPC | vpc | vpc | 是 | 是 | 无 | |
| vswitch | 是 | 否 | 无 | |||
| routetable | 是 | 否 | 无 | |||
| NAT网关 | vpc | natgateway | 是 | 是 | 无 | |
| VPN网关 | vpc | vpngateway | 否 | 否 | 无 | |
| 共享带宽 | vpc | commonbandwidthpackage | 否 | 否 | 无 | |
| 弹性公网IP | vpc | eip | 是 | 是 | 无 | |
| 云企业网 | cen | cen | 是 | 是 | 无 | |
| bandwidthpackage | 否 | 否 | 无 | |||
| CDN | cdn | domain | 是 | 是 | 无 | 无 | 
| 对象存储 | oss | bucket | 是 | 是 | 无 | 无 | 
| 云数据库Tair(兼容Redis®) | kvstore | instance | 是 | 是 | 无 | |
| 无 | ||||||
| 云数据库MongoDB版 | dds | instance | 是 | 是 | 无 | |
| 云数据库HBase版 | multimod | cluster | 是 | 是 | 无 | |
| 云原生关系型数据库PolarDB | polardb | cluster | 是 | 是 | 无 | 无 | 
| 文件存储NAS | nas | filesystem | 是 | 是 | 无 | |
| DDoS防护 | ddoscoo | instance | 是 | 是 | 无 | |
| 无 | ||||||
| 容器服务 | cs | cluster | 是 | 是 | 无 | 无 | 
| API网关服务 | apigateway | api | 是 | 是 | 无 | 无 | 
| apigroup | 是 | 是 | 无 | 无 | ||
| app | 否 | 否 | 无 | 无 | ||
| instance | 否 | 否 | 无 | 无 | ||
| plugin | 否 | 否 | 无 | 无 | ||
| 云解析DNS | alidns | domain | 否 | 否 | 无 | |
| 弹性伸缩 | ess | scalinggroup | 否 | 否 | ||
| 无 | ||||||
| 弹性容器实例 | eci | containergroup | 否 | 否 | ||
| 无 | ||||||
| imagecache | 否 | 否 | 无 | |||
| 无 | ||||||
| virtualnode | 否 | 否 | 无 | |||
| 消息队列RocketMQ版 | mq | group | 否 | 否 | 无 | |
| instance | 否 | 否 | 无 | |||
| topic | 否 | 否 | 无 | |||
| 堡垒机 | bastionhost | instance | 否 | 否 | 无 | |
| 资源编排 | ros | changeset | 否 | 否 | 无 | |
| stack | 否 | 否 | ||||
| 无 | ||||||
| 无 | ||||||
| template | 否 | 否 | 无 | 
说明:
①事前拦截分为创建资源时拦截和为资源绑定标签时拦截两种场景,不同云服务、不同资源类型、不同API对两种场景的支持情况不同。以ECS的instance为例,CreateInstance是在创建ECS实例时拦截不合规标签,TagResources是在为ECS实例绑定标签时拦截不合规标签。
②事前拦截的强校验功能需要手动开启后才会生效。更多信息,请参见强校验功能。