标记概览

Google Cloud 资源层次结构是一种将资源整理成树结构的方法。此层次结构可帮助您大规模管理资源,但它只能模拟几个业务维度,包括组织结构、区域、工作负载类型和成本中心。层次结构缺乏将多个业务维度组合在一起的灵活性。

标记提供了一种为资源创建注释的方法,并且在某些情况下,可以根据资源是否具有特定的标记有条件地允许或拒绝政策。您可以使用标记并有条件地执行政策以便在资源层次结构内进行精细控制。

标记和标签

标签是为资源创建注释的另一种方法。下表列出了标记和标签之间的一些区别:

标记 标签
资源结构 标记键、标记值和标记绑定都是独立的资源 它本身不是资源,而是资源的元数据
定义 在组织或项目级别定义 由每个资源定义
访问权限控制 如要管理和附加标记,需要具备 Identity and Access Management (IAM) 角色 要附加标签,您需要具备 IAM 角色,这些角色因服务资源而异
添加附件的前提条件 必须先定义标记键和标记值,然后才能将标记附加到资源 没有连接前提条件
可否继承 标记绑定由 Google Cloud 层次结构中资源的子级继承 不由相应资源的子项继承
删除要求 除非某个标记没有标记绑定,否则无法删除标记 可以随时从资源中移除
命名要求 针对标记值标记键的要求 标签的要求
键/值名称长度 最多可输入 256 个字符 最多可输入 63 个字符
IAM 政策支持 可通过 IAM 政策条件引用标记 无 IAM 政策支持
组织政策支持 部分资源上的标记可以通过组织政策条件限制条件引用 无组织政策支持
Cloud Billing 集成 执行退款、审核和其他费用分配分析,将 Cloud Billing 费用数据导出至 BigQuery 在 Cloud Billing 中按标签过滤资源,将 Cloud Billing 数据导出到 BigQuery

如需详细了解标签,请参阅创建和管理标签

创建标记

标记采用键值对的结构。可以在组织或项目资源下创建标记键资源,而标记值是附加到键的资源。例如,具有值 productiondevelopment 的标记键 environment

标记管理

管理员可以限制谁可以创建、更新、删除标记以及将标记附加到资源,从而控制标记的使用。他们可以选择一个单独的标记进行修改,例如添加或移除值,以及更新说明。这样,您就可以对代码进行精细控制。

可以向标记提供说明,当检索标记相关信息时即会显示该说明。此说明可确保将标记附加到资源的人员了解该标记的用途。

对于特定资源,标记中的某个给定键只能有一个值。例如,标记键为 environment 且值为 production 的项目也不能有 environment 键的 development 值。

政策和标记

您可以使用将标记与政策配合使用,以支持标记有条件地强制执行这些政策。您可以将是否存在标记值作为该政策的条件。

例如,您可以有条件地授予 Identity and Access Management (IAM) 角色,并根据资源是否具有特定的标记有条件地拒绝 IAM 权限

创建标记后,您可以将其应用于资源。然后,您可以创建根据标记是否附加到受支持的资源而有条件的政策。此政策的生效依据取决于是否存在附加到资源的标记。

如需了解如何将标记与 Identity and Access Management (IAM) 搭配使用,以帮助控制对 Google Cloud 资源的访问权限,请参阅标记和访问权限控制

标记继承

将标记键值对附加到资源后,相应资源的所有后代都会继承该标记。您可以替换后代资源上继承的标记。如需替换继承的标记,请使用与继承的标记相同的键来应用标记,但使用不同的值。

例如,假设您将标记 environment: development 应用于文件夹,并且该文件夹有两个名为 team-ateam-b 的子文件夹。您还可以将不同的标记 environment: test 应用于 team-b 文件夹。因此,team-a 文件夹中的项目和其他资源会继承该 environment: development 标记,team-b 文件夹的项目和其他资源会继承 environment: test 标记:

如果您从 team-b 文件夹中移除了 environment: test 标记,则该文件夹及其资源将继承 environment: development 标记。

附加到资源并由资源继承的所有标记统称为有效标记。资源的有效标记是指直接附加到该资源的有效标记,以及附加到整个层次结构中该资源的所有祖先实体的所有标记的组合。

使用标记管理政策时,建议您创建安全的默认标记。这意味着在组织资源级层设置的标记随后将在整个资源层次结构中继承。例如,标记键的短名称为 enforcement,值为 defaultonoff。如果您在组织级层设置 enforcement: default,则所有资源都将继承该标记,除非标记在较低级层被覆盖。

然后,您可以编写政策来解决 enforcement 标记键,其中的条件将影响资源(如果资源为 enforcement: onenforcement: off),如果资源为 enforcement: default,则为安全情况。如果 enforcement 标记已从资源中移除,则它随后会从其父资源继承 enforcement 的标记值。如果没有父资源具有 enforcement 标记,则它将从组织资源继承 enforcement: default

使用安全的默认标记可能会有所帮助,但是为了防止意外行为,您应该在移动资源或移除标记之前查看标记和有条件的策略。

删除标记键和值

移除标记键或值定义时,如果该标记已附加到资源,则移除操作会失败。在删除标记定义本身之前,您必须先删除现有的标记连接(称为标记绑定)。

防止标记值被删除

您可以通过将标记保全附加到标记值,为标记值创建一层额外的保护。与标记绑定一样,标记保全可防止用户删除标记值。

有些资源会自动在附加到资源的每个标记值上创建标记,必须先移除此标签保全,用户才能删除标签值。

后续步骤