有效的标签策略可帮助您在整个组织中整理和跟踪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 | public, internal-only, confidential, restricted, na | 安全 | Compute Engine 的存储桶、数据库、永久性磁盘 | 否 |
| altostrat-cost-center | fin-us, mkt-eu, it-jp | 金融 | Google Cloud 资源 | sandbox-folder |
| altostrat-team | shopping-cart | 团队负责人 | Google Cloud 资源 | 非生产环境、非关键组件 |
| altostrat-component | 前端、缓存、应用、数据库 | 金融 | Google Cloud 资源 | 可选 |
| altostrat-app | shopping-cart-payment | 金融 | Google Cloud 资源 | 否。多租户资源是个例外,它与应用之间没有 1:1 的映射关系。 |
| altostrat-compliance | pci, hipaa | 安全 | Google Cloud 资源 | 可选 |