使用标签策略实现不合规标签的事前拦截

您可以使用标签策略对不合规标签的绑定进行事前拦截,规范标签操作。

应用场景

强制标签

场景一:创建资源时拦截不合规标签

不合规情况

  • 不合规情况1:资源创建时绑定了标签策略中设置的标签键,但标签值不合规。

  • 不合规情况2:资源创建时未绑定标签策略中设置的标签键。

默认功能和强校验功能

  • 默认功能:只对不合规情况1触发拦截。

    支持事前拦截默认功能的资源类型及API,请参见支持标签策略的云服务支持事前拦截默认功能的API列。

  • 强校验功能:该功能开启后,会对不合规情况1和2都会触发拦截。对于资源目录,开启后会对资源目录的所有成员生效。

    您可以登录标签控制台,在策略库页面,手动开启强校验功能。不用时,也可以随时关闭该功能。

    image

    支持强校验功能的资源类型及API,请参见支持标签策略的云服务支持事前拦截强校验功能的API列。

示例

标签策略中设置了创建ECS实例时,必须绑定标签CostCenter:Beijing。当您创建ECS实例时,默认情况下,只针对绑定标签键CostCenter(不区分大小写)的情况进行检测,标签合规(例如:CostCenter:Beijing)时ECS实例会创建成功,标签不合规(例如:costcenter:Shanghai)时ECS实例会创建失败。当您启用强校验功能后,会针对未绑定标签键CostCenter(不区分大小写)情况进行检测,即未绑定标签CostCenter:Beijing的ECS实例会创建失败。

场景二:为资源绑定标签时拦截不合规标签

为已存在的资源绑定标签时,校验标签策略中设置的标签键和标签值是否符合规则。如符合规则,则标签绑定成功,否则,标签绑定失败。

最佳实践

  • 设置事前拦截,会影响到资源的生产。建议在测试账号进行充分的测试后,再应用到生产账号。

  • 事前拦截策略可能会影响到其他的云服务。例如:设置了ECS实例的标签事前拦截,则弹性伸缩服务和容器服务在进行ECS实例的扩容或缩容时,可能会因为未给实例绑定符合规范的标签而导致ECS实例的扩容或缩容失败。在使用前,请充分确认相关服务能够进行符合规范的标签操作。

操作步骤

标签事前拦截功能可以拦截当前账号或资源目录成员中的不合规标签操作。以下将提供一个资源目录标签策略的示例,使用资源目录管理账号启用并创建标签策略,强制资源目录成员在创建ECS实例时,需要为该ECS实例绑定成本中心标签。其中标签键为CostCenter,标签值为BeijingShanghai。设置的标签合规时,ECS实例创建成功;否则,创建失败。

根据安全最佳实践,推荐您为资源目录的管理账号创建一个RAM用户,并授予AdministratorAccess权限,充当资源目录的管理员(简称为RD管理员)。以下操作将使用RD管理员完成。关于如何创建RAM用户并授权的操作,请参见创建RAM用户为RAM用户授权

  1. 登录标签控制台

  2. 启用标签策略。

    具体操作,请参见启用标签策略

  3. 创建标签策略。

    1. 策略库页面的资源目录策略页签,单击创建标签策略

    2. 输入策略名称。

    3. 输入策略描述。

    4. 使用快速录入模式配置策略信息。

      1. 选择策略场景为资源绑定指定标签值

      2. 标签键文本框,输入CostCenter

      3. 输入允许的标签值。

        支持通过换行设置多个标签值,每行输入一个标签值。本示例中,将添加BeijingShanghai两个标签值。

      4. 选中事前拦截,然后单击指定资源类型

      5. 指定事前拦截的范围对话框,先阅读并确认事前拦截的风险,然后选中资源类型为ECS实例,最后单击确定

      image

    5. 单击创建

  4. 绑定标签策略。

    1. 在标签策略列表中,找到步骤3创建的标签策略,单击其操作列的绑定

    2. 绑定对话框,选择绑定目标,然后单击确定

      不同绑定目标的生效范围如下。您可以先绑定到某一个用于测试的成员上,测试无误后,再绑定到Root资源夹或指定资源夹上。

      • Root资源夹:标签策略对整个资源目录内的全部成员生效。

      • 指定资源夹:标签策略仅对指定资源夹内的全部成员生效。

      • 指定成员:标签策略仅对指定成员生效。

  5. 验证标签策略是否生效。

    1. RD管理员访问步骤4绑定的资源目录成员。

      具体操作,请参见成员登录阿里云控制台

    2. 在成员的管理控制台上,创建一个ECS实例,验证标签策略是否生效。

      • 创建成功

        当ECS实例绑定标签CostCenter:BeijingCostCenter:Shanghai时,ECS实例将会创建成功。

      • 创建失败

        默认情况,仅针对在标签策略中设置的标签生效。即出现以下情况会创建失败:

        • 输入的标签键或标签值大小写不合规。例如:costCenter:beijing

        • 只设置了标签键CostCenter,未设置标签值或设置的标签值不合规。

        如果您开通了强校验功能,除以上两种情况外,未绑定任何标签或绑定了其他标签的情况,也会创建失败。

错误码

错误码

错误信息示例

说明

Forbidden.TagPolicy

The operation is failure, because the valid tag policy values of 'TagValue' are ["red","green","orange","blue","pink","white","black","grey"], but the value is "xxx".

标签键合规,但标签值不合规,导致资源创建失败。请输入标签策略中TagValue规定的标签值。

The operation is failure, because the valid tag policy values of 'TagKey' are ["colorful"], but the value is "colorFul".

标签键大小写不合规,导致资源创建失败。请输入与标签策略中TagKey大小写完全一致的标签键。

The operation is failure, because the tag policy keys ["color"] are necessary.

标签不合规,缺少标签键color,导致资源创建失败。请输入标签策略中color规定的标签。