标记概览

使用集合让一切井井有条 根据您的偏好保存内容并对其进行分类。

Google Cloud 资源层次结构是一种将资源整理成树结构的方法。虽然层次结构对于大规模管理资源很有用,但它仅限于对一些业务维度进行建模,例如组织结构、区域、工作负载类型、成本中心等。层次结构缺乏将多个业务维度层叠放置的灵活性。

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

标记和标签

标签是一种单独的工具,可让您为资源创建注解。下表列出了标记和标签之间的一些区别:

标记 标签
资源结构 标记键、标记值和标记绑定都是独立的资源 本身并不是资源,而是资源的元数据
定义 在组织级别定义 由每项资源定义
访问权限控制 代码的管理和附加功能需要 Identity and Access Management (IAM) 角色 附加标签需要 IAM 角色,角色因服务资源而异
添加附件的前提条件 必须先定义标记键和标记值,然后才能将标记附加到资源 没有前提条件
可否继承 Google Cloud 层次结构中资源的子项继承标记绑定 并非资源的子项继承
删除要求 如果代码的标记绑定仍然存在,则无法删除标记 可随时从资源中移除
命名要求 标记值标记键的要求 标签要求
键/值名称长度 最多 63 个字符 最多 63 个字符
IAM 政策支持 标记可由 IAM 政策条件引用 不支持 IAM 政策
组织政策支持 组织政策限制条件可以引用标记 无组织政策支持
Cloud Billing 集成 无 Cloud Billing 集成 在 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

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

删除标记键和值

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

防止标记值遭到删除

您可以通过为代码值附加代码保全,为您的代码值创建额外的保护层。标记绑定与标记绑定类似,可防止用户删除标记值。

某些资源会自动为附加到资源的每个标记值创建一个标记保全。必须先移除此代码保全,用户才能删除代码值。

后续步骤

如需了解如何使用标记,请参阅创建和管理标记页面。