如何系统地打标签Tag

1 什么是打标签Tag

Tag会帮助你动态分类资源,并利用云原生的标签架构加速映射和可重复的分析。应用场景包括:成本分摊、安全合规、自动化。本文主要介绍如何通过tag安全合规。Tagging可以帮助限制访问敏感数据,或者限制只能指定的人进行高危操作,避免意外关停设备,恶意用户删库等行为。

2 命名最佳实践

1、 tag大小写敏感,因此建议命名时都使用英文小写,如果多个单词拼接则使用“-”连接。避免出现PersonID, PersonId, personid各种不同的标签,而这些标签实际标记的是同一类型。 2、使用“:”拼接标签的多个value,当写的程序比对某个key中是否已经标记了某个标签值的时候方便比对,并且简单统一; 3、注意不能使用“aws:”, “rds:” 这些AWS预置使用的前缀; 4、可以使用Unicode字符,数字,空格,'', '.', ':', '/', '=', '+', '-', '@' (Java regex: "^([\\p{L}\\p{Z}\\p{N}.:/=+\\-@]*)$").

AWS预置tags

Amazon预定义了很多tags,被很多Amazon服务自动创建。很多Amazon预置tags使用全小写,使用连字符号分隔,使用前缀识别标签的源服务,比如:

aws:ec2spot:fleet-request-id 识别启动该实例的Amazon EC2 Spot Instance Request。

aws:cloudformation:stack-name 识别创建该资源的亚马逊CloudFormation。

elasticbeanstalk:environment-name 识别创建该资源的应用程序。

3 打标签最佳实践

比如你希望识别某个IAM role是游戏开发部门正在使用的,你可以使用tag:“team: gamedev”, team是键key,gamedev是值value。以下是推荐使用的tags:

键 Key
值 Value
解释

application

Zeus

标记资源是用于哪个业务应用的

workload

test

标记是什么环境,比如测试环境Test

confidential

public

标记资源的敏感等级,比如公开的Public,私有的Private

owner

administrator

标记谁对这个资源负责,也就是出现了任何安全问题负责修复和确认的人/团队,比如管理员administrator

name

Test-App2

给这个服务器一个别名

instance-role

AppServer

标记这个服务器是做什么的,比如应用服务器还是数据库服务器

cost-center

Security

成本中心是哪个部门,也就是谁来承担这个服务器的成本开销

pii

true

标记是否含有个人隐私数据

pii-type

phone

标记涉及的个人隐私数据类型

sensitivity

l3

标记数据的敏感等级

ope-team

ou1

标记负责运维的团队

dev-team

gamedev

标记使用这个资源的开发团队

基于标签的权限控制

参见如何根据标签定义配置访问Amazon资源的权限

更多资料

Tag Editor:云原生的可用于手动发现untagged资源。

AWS Config:云原生的可用于自动持续检查环境中的标签是否符合预期。使用Config,可以定义哪些资源应该有哪些标签,哪些标签应该有哪些value。 AWS Config 支持执行一些自动化的缓解步骤,当发现偏离预定的标签模板时进行纠正。

AWS CloudFormation:云原生的可用于在创建资源的时候带上标签。AWS CloudFormation是为了让人们能够轻松地用一个模板文件来创建AWS资源。使用CloudFormation模板,每个可以部署的资源都有AWS标签。

AWS Service Catalog:提供TagOption库,可以提供一致的分类,确保正确标记Catalog资源,定义用户可选的标签,避免标签混乱。

AWS Organization Tag Policies: Tag policies有助于规范整个组织内所有标记资源的标签。标签策略可用于定义标签键(包括如何大写)及其允许值。

AWS QuickSight: 云原生的可生成可视化报告的工具。

云市场:自己设计打标签太麻烦,自动化不会弄,也可以查看云市场上可选的第三方产品是否有快速解决问题的工具。

[Blog] How to Automatically Tag Amazon EC2 Resources in Response to API Events;

[Global] 支持tag标记的AWS服务

[Blog] Tag workloads with AWS Config conformance packs across AWS accounts

[Blog] How to Automatically Tag Amazon EC2 Resources in Response to API Events

[Blog] Automatically tag new AWS resources based on identity or role

最后更新于