

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 标签是什么？
<a name="what-are-tags"></a>

标签是应用于资源的[https://docs.aws.amazon.com/tag-editor/latest/userguide/tagging.html](https://docs.aws.amazon.com/tag-editor/latest/userguide/tagging.html)，用于保存有关该资源的元数据。每个标签都是由一个密钥和一个可选值组成的。目前并非所有服务和资源类型都支持标签（请参阅[支持资源组标记 API 的服务](https://docs.aws.amazon.com/resourcegroupstagging/latest/APIReference/supported-services.html)）。其他服务可能通过自己的服务支持标签 APIs。需要注意的是，标签未加密，不应用于存储敏感数据，如个人身份信息 (PII)。

用户使用 AWS CLI、API 或创建并应用于 AWS 资源的标签 AWS 管理控制台 称为*用户定义的*标签。一些 AWS 服务 AWS CloudFormation，例如 Elastic Beanstalk 和 Auto Scaling，会自动为它们创建和管理的资源分配标签。这些密钥被称为 *AWS 生成的*标签，通常带有 `aws` 前缀。该前缀不能用于用户定义的标签密钥。

 可以向 AWS 资源添加的用户定义标签有使用要求和数量限制。有关更多信息，请参阅《*AWS 通用参考指南》*中的[https://docs.aws.amazon.com/tag-editor/latest/userguide/best-practices-and-strats.html#tag-conventions](https://docs.aws.amazon.com/tag-editor/latest/userguide/best-practices-and-strats.html#tag-conventions)。 AWS 生成的标签不计入这些用户定义的标签限制。

*表 1 - 用户定义的标签密钥和值示例*


|  实例 ID  |  标签密钥  |  标签值  | 
| --- | --- | --- | 
| i-01234567abcdef89a  | CostCenter  | 98765  | 
|   | Stack  | Test  | 
| i-12345678abcdef90b  | CostCenter  | 98765  | 
|   | Stack  | Production  | 

*表 2- AWS 生成的标签示例*


|  AWS 生成的标签密钥  |  理由  | 
| --- | --- | 
| aws:ec2spot:fleet-request-id | 识别启动该 EC2 实例的 Amazon 竞价型实例请求  | 
| aws:cloudformation:stack-name | 标识创建资源的 AWS CloudFormation 堆栈  | 
| lambda-console:blueprint | 标识用作 AWS Lambda 函数模板的蓝图  | 
| elasticbeanstalk:environment-name  | 标识创建资源的应用程序。 | 
| aws:servicecatalog:provisionedProductArn | 供应产品的的 Amazon 资源名称 (ARN)  | 
| aws:servicecatalog:productArn | 从中启动预配置产品的产品的 ARN。 | 

 AWS 生成的标签构成命名空间。例如，在 CloudFormation 模板中，您可以定义一组要一起部署的资源`stack`，其中`stack-name`是您为标识它而分配的描述性名称。如果您检查诸如 `aws:cloudformation:stack-name` 的密钥，则可以发现用于限定参数范围的命名空间使用了三个元素：**aws** 表示*组织*，**cloudformation** 表示*服务*，而 **stack-name** 表示*参数*。

 用户定义的标签也可以使用命名空间，建议使用组织标识符作为前缀。这可帮助您快速识别标签是您托管模式中的内容，还是您在环境中使用的服务或工具所定义的内容。

 在[在 AWS上建立云基础](https://docs.aws.amazon.com/whitepapers/latest/establishing-your-cloud-foundation-on-aws/choosing-tags.html)白皮书中，我们推荐了一组应实施的标签。不同的企业很可能有不同的允许模式和特定标签的不同列表。查看表 3 中的示例：

*表 3 - 相同的标签密钥，不同的值验证规则*


|   组织   |  标签密钥  |  标签值验证  |  标签值示例  | 
| --- | --- | --- | --- | 
|  A 公司  | CostCenter  | 5432, 5422, 5499  | 5432  | 
|  B 公司  | CostCenter  | ABC\$1  | ABC123  | 

 如果这两个架构位于不同的组织中，就不会出现标签冲突问题。但是，如果这两个环境合并，命名空间就会发生冲突，验证就会变得更加复杂。这种情况似乎不太可能，但是企业被收购或合并，还有其他场景，例如与托管服务提供商、游戏发行商或风险投资企业合作的客户，其中来自不同组织的账户属于共享 AWS 组织。如表 4 所示，使用企业名称作为前缀来定义唯一的命名空间，就可以避免这些挑战：

*表 4 - 标签密钥中命名空间的使用*


|   组织   |  标签密钥  |  标签值验证  |  标签值示例  | 
| --- | --- | --- | --- | 
| A 公司 | company-a:CostCenter  | 5432, 5422, 5499  | 5432  | 
| B 公司 | company-b:CostCenter  | ABC\$1  | ABC123  | 

 在定期收购和剥离业务的大型复杂组织中，这种情况会更频繁地发生。随着新收购公司的流程和做法在更大范围内得到统一，问题也就迎刃而解了。使用不同的命名空间很有帮助，因为可以报告旧标签的使用情况，并联系相关团队采用新架构。命名空间还可用于表示一个范围，或代表一个用例或一个与组织所有者相一致的责任领域。

*表 5 - 标签密钥中的作用域或用例范围示例*


|  用例  |  标签密钥  |  理由  |  允许的值  | 
| --- | --- | --- | --- | 
| 数据分类  | example-inc:info-sec:data-classification | 信息安全定义的数据分类集  | sensitive, company-confidential, customer-identifiable  | 
| 操作  | example-inc:dev-ops:environment | 实施测试和开发环境的调度  | development, staging, quality-assurance, production  | 
| 灾难恢复  | example-inc:disaster-recovery:rpo | 定义资源的恢复点目标 (RPO)  | 6h, 24h  | 
| 成本分配  | example-inc:cost-allocation:business-unit | 财务团队需要关于各团队使用和支出情况的成本报告  | corporate, recruitment, support, engineering  | 

 标签简单易用。标签的密钥和值都是长度可变的字符串，可以支持多种字符集。有关长度和字符集的更多信息，请参阅《AWS 一般参考》**中的[标记 AWS 资源](https://docs.aws.amazon.com/tag-editor/latest/userguide/tagging.html)。标签区分大小写，这意味着 `costCenter` 和 `costcenter` 是不同的标签密钥。在不同的国家/地区，单词的拼写可能会有所不同，这可能会影响您的密钥。例如，在美国，人们可能会将密钥定义为 `costcenter`，但在英国，人们可能更倾向于使用 `costcentre`。从资源标记的角度来看，这些是不同的密钥。定义拼写、大小写和标点符号作为标记策略的一部分。任何人在创建或管理资源时都可以参考这些定义。下一节 [制定您的标记策略](building-your-tagging-strategy.md) 将详细讨论这一主题。

**注意**  
尽管标签键区分大小写，但 IAM 对 IAM 资源进行了额外的验证，以防止应用仅大小写不同的标签键。建议不要使用只有大小写不同的键。有关更多详细信息，请参阅 [IAM 资源的标签](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags.html#id_tags_rules)。