通过配置审计实现标签自动化管理

本文为您介绍配置审计中与标签相关的规则模板,以及结合实际使用场景介绍如何对资源关联的标签进行审计和自动修正。

背景信息

云上企业往往会通过标签来对资源进行分类,用于分权、分账和审计等业务进行管理,如何通过有效的方式为资源绑定标签,并且持续保障标签的规范性,在实际IT治理过程中会面临较大的挑战。基于企业标签治理的相关经验,配置审计沉淀了一系列规则模板和修正能力,本文将为您介绍配置审计中与标签相关的规则模板,以及具体应用场景。

规则介绍

下表介绍了配置审计中与标签相关的规则模板。

规则标识

检测逻辑

应用场景

修正支持情况

required-tags

最多可定义6组标签,资源需同时具有指定的所有标签,视为“合规”。标签输入大小写敏感,每组最多只能输入一个值。

要求资源具有固定格式的标签键值对,且同时要满足多组要求。

支持模板修正,可同时修复多组不合规标签。

required-any-tags

最多可定义6组标签,资源至少具备其中一个已指定的标签键值对,视为“合规”。标签输入大小写敏感,每组最多只能输入一个值。

要求资源具有固定格式的标签键值对,满足多组标签要求之一即可。

支持自定义修正。

contains-all-tag

最多可定义6组标签,资源需同时匹配指定的所有标签,视为“合规”。标签输入大小写敏感,支持*和?通配符。每组标签键只能输入一个值,标签值支持用英文逗号分隔多个,当输入多个标签值时,匹配其中任意一个值即可。

要求资源具有特定通配格式的标签键值对,且同时要满足多组要求。

支持自定义修正。

contains-tag

资源匹配参数指定的标签键值对,视为“合规”。标签输入大小写敏感,支持*和?通配符。支持用逗号分隔多个值,输入多个值时,匹配其中任意一个就视为“合规”。

要求资源具有特定通配格式的标签键值对,满足一组要求即可。

支持自定义修正。

resources-tags-not-empty

资源的标签信息不为空,视为“合规”。

资源标签信息要求不能为空。

支持自定义修正。

matched-tag

关联的资源类型下实体资源标签存在匹配指定的正则表达式的键值对,视为“合规”。支持输入一组标签键值正则表达式。标签值正则输入可选。

适用于检测资源标签键值对格式比较复杂的场景。

支持模板修正,修正为固定的标签键值对。

resources-inherit-tags-from-ecs-instance

资源继承了关联ECS实例的指定标签键值对,视为“合规”。关联ECS实例无指定标签键时,视为“不适用”。

资源标签继承自ECS实例。

支持模板修正。

resources-inherit-tags-from-resource-group

资源继承了其加入的资源组的指定标签键值对,视为“合规”。资源未加入任何资源组或加入的资源组无指定标签键时,视为“不适用”。

资源标签继承自资源组。

支持模板修正。

应用场景一

场景描述

根据资源管理提供的创建者标签,将创建者标签应用到配置审计规则的生效范围内,可以自动检测指定账号创建的资源是否设置了特定的标签键值对。下文介绍对RAM用户20654616023382****创建的资源进行自动检测是否包含键值对env:test,若未包含则进行自动修正。

前提条件

确保启用资源管理创建者标签,具体操作,请参见启用或禁用创建者标签

操作步骤

  1. 登录配置审计控制台

  2. 在左侧导航栏,选择合规审计 > 规则

  3. 在规则列表页面,单击新建规则

    1. 选择创建方式页面,先选择基于模板创建,按照规则标识required-tags或规则名称存在所有指定标签搜索并选中规则,单击下一步

    2. 设置基本属性页面,将规则入参名称tag1Key设置为env期望值tag1Value设置为test,其他参数按需设置,单击下一步

    3. 设置生效范围页面,将对指定标签生效配置项中Key设置为acs:tag:createdby,Value设置为sub:20654616023382****:dongdong_****

      说明

      当资源创建者为RAM用户时,创建者标签值的格式为:sub:<RamUserId>:<RamUserName>,其中<RamUserId>为RAM用户ID,<RamUserName>为RAM用户名称。

    4. 设置修正页面,开启设置修正,并将触发方式设置为自动触发。

    5. 单击提交

  4. 手动执行审计,查询资源审计结果并校验资源是否完成自动修正。

常见问题

审计执行完成部分资源并未完成自动修正。

启用资源管理创建者标签之后,会自动为新创建的资源绑定acs:tag:createdby标签。启用前创建的存量资源不会自动绑定acs:tag:createdby标签,对于这部分存量资源无法自动修正。

应用场景二

场景描述

配置审计支持自动检测指定资源组下资源的标签键值对,并且设置自动修正。下文介绍通过配置审计规则模板对资源组rg-aekz5zudjfo****(对应资源名称为test-resource-group)下的资源进行检测是否包含标签键值对env:test,并且对不合规的资源进行自动修正。

前提条件

确保资源组已经绑定标签键值对env:test,登录标签控制台查询资源组是否已经完成标签绑定,若未绑定需要先绑定标签,具体操作,请参见创建并绑定自定义标签

操作步骤

  1. 登录配置审计控制台

  2. 在左侧导航栏,选择合规审计 > 规则

  3. 在规则列表页面,单击新建规则

    1. 选择创建方式页面,先选择基于模板创建,按照规则标识resources-inherit-tags-from-resource-group或规则名称资源继承资源组上的指定标签搜索并选中规则,单击下一步

    2. 设置基本属性页面,将规则入参名称inheritTagKeys对应的期望值设置为env,其他参数按需设置,单击下一步

    3. 设置生效范围页面,将对指定资源组生效设置为test-resource-group,单击下一步

    4. 设置修正页面,开启设置修正,并将触发方式设置为自动触发。

    5. 单击提交

  4. 手动执行审计,查询资源审计结果并校验资源组rg-aekz5zudjfo****下的资源完成对标签键值对env:test绑定。

常见问题

为什么执行修正后资源还是不合规?

首先查看规则的修正结果列表,确认相应资源已成功触发修正,修正全部触发完成视资源不合规数量不同而等待时长不同。资源修正触发完成后,资源数据变更同步到配置审计通常会在10分钟之内完成并触发重新审计检测。