本文档提供了有关如何为组织设计有效标签策略的指南。在开始创建标签之前,请先了解一些在利用标签整理 Google Cloud 资源时可以遵循的一般原则。
标签的一般原则
始终使用标签
虽然标签不是必需的,但有助于整理和管理Google Cloud 资源。标签可用于跟踪费用和识别资源。 为资源添加标签时,请务必遵循严格的标签添加准则。我们建议您制定正式的标签政策,并与组织中的主要利益相关者保持一致。示例表格展示了组织范围的标签政策。
以编程方式应用标签,以确保一致性
尽可能以编程方式应用标签。借助脚本和 Terraform 等工具,您可以自动执行标签创建流程,并有助于强制执行标签政策。这些工具可确保标签在所有资源中保持一致。使用区分大小写的格式进行标记,并将其一致地应用于所有资源。
标准化标签
为所有资源使用一致且标准的标签集。这样可以更轻松地搜索、过滤和管理资源。为简化标签策略,请尽量不要使用超过 10 个标签。根据您希望如何报告费用来调整标签。考虑使用最适合您组织的标准标签键和值集。标签可以涵盖多种业务用例,例如环境、数据分类、成本中心、团队、组件、应用和合规性。
请注意,对于集中管理的标签,标准化并遵守标签政策至关重要。产品团队和部门还可以向资源添加自定义标签,以分享团队专属信息。如需了解详情,请参阅应用非标准标签。
以下示例展示了如何为每个键定义一组标准值:
- 环境:
prod/dev/staging - 数据分类:
public/internal-only/confidential/restricted/na - 成本中心:
c23543 - 团队:
shopping-cart - 组件:
frontend/cache/backend/database - 应用:
shopping-cart-payments - 合规性:
pci-hipaa
避免包含机密信息
保护个人身份信息 (PII) 对安全性至关重要。 避免在标签中存储个人身份信息或其他机密信息。
应用非标准标签
虽然遵守标签政策至关重要,但标签也可用于分享特定于产品团队或部门的信息。在这种情况下,为各个团队的资源所有者提供为每个资源应用非标准标签的选项,有助于提供有关资源的更多背景信息。这样一来,您就可以更轻松地搜索、过滤和分享与这些产品团队或部门相关的信息。例如,单个资源可以具有一组标准标签,例如 environment:prod、data-classification:restricted、cost-center:c23543、team:shopping-cart、app:shopping-cart-payments、component:database、compliance: pci。资源所有者可以添加非标准标签,例如 version:5.0.1 和 replica:primary,以指示数据库集群的版本和节点的复制状态。
考虑更改的影响
随着业务需求的不断变化,您的标签策略可能会发生变化。 请注意这些变化可能带来的影响。例如,添加新的成本中心、微服务或新工具可能会影响您的标签策略。
标签命名方案和模式
每个组织都有自己的资源整理方式。您可以使用标签以多种方式对层次结构中的资源进行分类,帮助用户过滤所需的资源。在定义标签命名方案时,请考虑以下事项:
- 与资源关联的环境、成本中心、团队、组件、应用、合规性和所有权。
- 系统中存储的任何数据的数据分类。此方法仅适用于有状态的系统。
- 需要在特定资源级别(例如 Compute Engine、Cloud Storage 存储桶)或项目级别应用的标签。
- 可灵活使用可选标签,根据需要提供有关资源的更多信息。
标签编码和支持的字符
所有键和值字符都必须使用 UTF-8 编码。允许使用国际字符。键必须以小写字母或国际字符开头。 键和值只能包含小写字母、数字字符、下划线和短划线。
定义标签的示例
如需定义标签,您需要注意以下属性。
| 字段 | 说明 |
|---|---|
| 标签键 | 标签键是标签的唯一标识符。它必须是一个字符串,长度下限为 1 个字符,长度上限为 63 个字符。键不能为空。您可以使用一组最适合您组织的标准标签键,这些标签键涵盖了各种业务用例,例如 environment、data-classification、cost-center、team、component、application 和 compliance。 |
| 标签值 | 标签值是与键关联的数据。它可以是字符串、数字或布尔值。最佳实践是考虑为每个标签键定义一组值。这有助于团队为每个键选择和分配适当的值。例如,environment 键可以具有 prod、staging、dev 或 tools 等值。 |
| 利益相关方 | 确定需要标签键来过滤资源或创建报告的部门。例如,组织中的财务部门想知道运行 prod 环境的费用。他们会使用标签键值对 environment:prod。 |
| 目标资源 | 对于每个标签,请考虑定义一个目标 Google Cloud 资源,标签键值对应应用于该资源。例如,标签键 environment 需要位于组织生产环境中的每个 Google Cloud 资源上。 |
| 异常 | 考虑定义哪些标签键是所有资源都必须有的,哪些标签键是可选择性应用的。在示例表格中,有些标签 key:value 对是可选的,例如 environment:tools。当标签 altostrat-environment 的标签值设置为 tools 时,标签键 altostrat-team 可以视为可选。 |
在以下标签示例中,altostrat 对应于企业的名称。
| 标签键 | 标签值 | 利益相关方 | 目标资源 | 异常 |
|---|---|---|---|---|
| altostrat-environment | prod、sb1、staging、dev、tools | 金融 | Google Cloud 资源 | 否 |
| altostrat-data-classification | 公开、仅限内部、机密、受限、不适用 | 安全 | 存储分区、数据库、Compute Engine 永久性磁盘 | 否 |
| altostrat-cost-center | fin-us、mkt-eu、it-jp | 金融 | Google Cloud 资源 | sandbox-folder |
| altostrat-team | 购物车 | 团队负责人 | Google Cloud 资源 | 非生产环境、非关键组件 |
| altostrat-component | 前端、缓存、应用、数据库 | 金融 | Google Cloud 资源 | 可选 |
| altostrat-app | shopping-cart-payment | 金融 | Google Cloud 资源 | 否。对于没有与应用进行 1:1 映射的多租户资源,存在例外情况。 |
| altostrat-compliance | pci, hipaa | 安全 | Google Cloud 资源 | 可选 |