本页面介绍了 Google Cloud 资源层次结构以及可使用 Resource Manager 管理的资源。
Google Cloud 资源层次结构有两个用途:
- 提供所有权层次结构,该层次结构将资源的生命周期绑定到层次结构中该资源的直接父级。
- 为访问权限控制和组织政策提供连接点与继承机制。
打个比方,Google Cloud 资源层次结构与传统操作系统中的文件系统类似,能够以分层方式组织和管理实体。通常,每项资源 。这种分层组织资源的方式让您能够设置访问权限 控制父资源的政策和配置设置,以及 政策和 Identity and Access Management (IAM) 设置会由子级继承 资源。
Google Cloud 资源层次结构详细介绍
Google Cloud 资源以分层方式进行组织。除以下资源之外的所有资源 层次结构中最高的资源只有一个父级。 在最低层级,服务资源是 构成了所有 Google Cloud 服务服务资源的示例包括 Compute Engine 虚拟机 (VM)、Pub/Sub 主题、Cloud Storage App Engine 实例和存储分区所有这些较低级别的资源都有 资源作为其父级,这代表第一个分组, Google Cloud 资源层次结构的机制。
所有用户,包括免费试用用户、免费层级用户以及 Google Workspace 和 Cloud Identity 客户可以创建项目资源。 Google Cloud 免费计划的用户只能 在项目中创建项目资源和服务资源。项目资源可以 位于层次结构的顶部,但只能由免费试用用户或免费用户创建 层级用户。Google Workspace 和 Cloud Identity 客户 可以使用 Google Cloud 资源层次结构的其他功能, 例如组织和文件夹资源如需了解详情,请访问 Cloud Identity 概览。 层次结构顶部的项目资源没有父级项目资源 但这些资源可以迁移到组织资源中, 为网域创建了此项如需详细了解如何迁移项目资源,请参阅 请参阅迁移项目资源。
Google Workspace 和 Cloud Identity 客户可以创建组织 资源。每个 Google Workspace 或 Cloud Identity 账号都与 一个组织资源。当存在组织资源时 它是 Google Cloud 资源层次结构的最高层级,而所有资源 在组织资源下划分为一组。 这样可以集中查看和控制属于您的 组织资源。
文件夹资源是 组织资源和项目资源。组织资源是 才能使用文件夹文件夹资源及其子级 项目资源在组织资源下映射。
Google Cloud 资源层次结构,尤其是其最完整的形式 其中包括组织资源和文件夹资源, 将组织资源映射到 Google Cloud,并提供逻辑连接 访问管理政策 (IAM) 组织政策。IAM 和组织政策通过层次结构继承,而有效的 层次结构中每个资源的 政策都是政策直接产生的结果 应用于从其祖先继承而来的资源和政策。
下图显示了 Google Cloud 资源层次结构中的 完整表单:
组织资源
organization 资源 代表一个组织(例如,公司),是 Google Cloud 资源层次结构(如果存在)。组织资源 文件夹和项目资源的分层祖先实体。通过 应用于组织资源的 IAM 访问权限控制政策 应用于整个层次组织中的所有资源。
Google Cloud 用户无需拥有组织资源,但 没有它,Resource Manager 的某些功能将无法使用。组织 都与 Google Workspace 或 Cloud Identity 。如果用户拥有 Google Workspace 或 Cloud Identity, 创建 Google Cloud 项目资源、组织资源 系统会自动为它们预配服务
一个 Google Workspace 或 Cloud Identity 账号只能有一个 预配的组织资源组织资源 为网域创建的所有新 Google Cloud 项目资源 那么账号网域的成员将默认属于该组织 资源。当受管用户创建项目资源时,要求为 该资源必须位于某个组织资源中。如果用户指定了 组织资源,并且拥有适当的权限,则项目 分配给该组织。否则,系统会默认将其应用于整个组织 与用户相关联的资源。与之关联的 与组织资源相关联,以创建未关联的项目资源 组织资源。
与 Google Workspace 或 Cloud Identity 账号关联
为简单起见,我们将使用 Google Workspace 指代 Google Workspace 和 Cloud Identity 用户。
Google Workspace 或 Cloud Identity 账号代表 是有权访问组织资源的前提条件。在 Google Cloud 环境,可提供身份管理、 管理机制、所有权和生命周期管理。下图显示了此链接 在 Google Workspace 账号、Cloud Identity 和 Google Cloud 资源层次结构。
Google Workspace 超级用户负责网域所有权验证,并担任需要执行恢复时的联系人。因此,默认情况下,系统会向 Google Workspace 超级用户授予分配 IAM 角色的能力。Google Workspace 超级用户的 对于 Google Cloud,其主要职责是将组织 管理员 IAM 角色,向其网域中的相应用户授予适当的权限。上述机制有助于实现用户通常寻求的 Google Workspace 和 Google Cloud 管理责任的分离。
组织资源的优势
拥有组织资源后,项目资源将归您的组织所有 而不是创建项目的员工。这意味着 当员工离职时,系统不会再删除资源;改为 他们将遵循 Google Cloud 上的组织资源生命周期。
此外,组织管理员可以集中控制所有资源。 他们可以查看和管理贵公司的所有项目资源。本次 强制执行意味着不会再有影子项目或流氓管理员。
此外,您还可以在组织级别授予角色,这些角色会由所有用户继承 项目和文件夹资源。例如,您 可以向组织中的网络团队授予网络管理员角色 从而允许他们管理您集群内所有项目资源中的所有网络 而不是向其授予所有单个项目资源的角色。
Cloud Resource Manager API 提供的组织资源包括 以下:
- 组织资源 ID,是组织的唯一标识符。
- 显示名,根据 Google Workspace 或 Cloud Identity 中的主域名生成。
- 组织资源的创建时间。
- 组织资源的上次修改时间。
- 组织资源的所有者。所有者是在创建 组织资源。一经设置便无法更改。是在 Directory API 中指定的 Google Workspace 客户 ID。
以下代码段展示了组织资源的结构:
{
"creationTime": "2020-01-07T21:59:43.314Z",
"displayName": "my-organization",
"lifecycleState": "ACTIVE",
"name": "organizations/34739118321",
"owner": {
"directoryCustomerId": "C012ba234"
}
}
新创建的组织资源的初始 IAM 政策 可向整个 Google Workspace 网域。这意味着,用户可以继续 创建项目资源和结算账号,方法与 组织资源已存在。调用 组织资源。
文件夹资源
文件夹资源可以选择提供额外的分组机制 以及项目之间的隔离边界。它们可以视为子组织 组织资源内的其他实体。文件夹资源可用于建模 公司内部不同的法律实体、部门和团队。例如: 第一级文件夹资源可用于代表主要文件夹 组织资源中的部门。由于文件夹资源可以包含项目 每个文件夹资源都可以包含 其他子文件夹来代表不同的小组。每个团队文件夹可以包含其他子文件夹以表示不同应用。了解详情 请参阅 创建和管理文件夹资源。
如果组织资源中存在文件夹资源,并且您拥有适当的 您可以通过 Google Cloud 控制台进行查看。有关 请查看 查看或列出文件夹和项目资源。
文件夹资源允许委托管理权限,例如 可以授予对所有 Google Cloud 资源的完全所有权 属于其部门的资源。同样,对资源的访问 受文件夹资源限制,因此一个部门中的用户只能访问和 在该文件夹资源内创建 Google Cloud 资源。
以下代码段展示了文件夹资源的结构:
{
"createTime": "2030-01-07T21:59:43.314Z",
"displayName": "Engineering",
"lifecycleState": "ACTIVE",
"name": "folders/634792535758",
"parent": "organizations/34739118321"
}
与组织和项目资源一样,文件夹资源也充当政策 IAM 和组织政策的继承点。 针对文件夹资源授予的 IAM 角色会自动 由该文件夹中包含的所有项目和文件夹资源继承。
项目资源
项目资源是基础级层的组织实体。组织和 文件夹资源可以包含多个项目。必须指定项目资源 使用 Google Cloud,并构成创建、启用和使用所有 Google Cloud 服务、管理 API、启用结算功能、添加和 删除协作者和管理权限。
所有项目资源都包含以下内容:
- 两个标识符:
- 项目资源 ID,这是项目的唯一标识符 资源。
- 项目资源编号,在创建时自动分配 项目。项目编号只读。
- 一个可变的显示名。
- 项目资源的生命周期状态;例如,ACTIVE 或 DELETE_REQUESTED。
- 可用于过滤项目的标签集合。
- 项目资源的创建时间。
以下代码段展示了项目资源的结构:
{
"createTime": "2020-01-07T21:59:43.314Z",
"lifecycleState": "ACTIVE",
"name": "my-project",
"parent": {
"id": "634792535758",
"type": "folder"
},
"projectId": "my-project",
"labels": {
"my-label": "prod"
},
"projectNumber": "464036093014"
}
要与大多数 Google Cloud 资源交互,您必须
识别每个请求的项目资源信息。您可以确定
项目资源(项目资源 ID 或项目)
资源编号(代码段中的 projectId
和 projectNumber
)。
项目资源 ID 是您在创建
项目资源。如果您激活了需要项目资源的 API,
系统将引导您创建项目资源或使用
项目资源 ID。(请注意,name
字符串显示在
与项目资源 ID 不同。)
项目资源 该编号由 Google Cloud 自动生成。这两个项目 您可以在 项目资源。如需了解如何获取项目 标识符和其他管理任务,请参阅 创建和管理项目资源。
新创建的项目资源的初始 IAM 政策会向项目创建者授予所有者角色。
IAM 政策继承
Google Cloud 提供了 IAM,可让您分配对特定 Google Cloud 资源的精细访问权限,并防止对其他资源进行不必要的访问。IAM 允许您通过在资源上设置 IAM 政策来控制谁(用户)对哪些资源具有什么访问权限(角色)。
您可以在组织级层、文件夹级层、项目级层或(在某些情况下)资源级层设置 IAM 政策。资源会沿用父级资源的政策。如果您在以下位置设置了政策: 组织级别,则其所有子文件夹和项目都会继承该角色 资源,如果您在项目级别设置政策,则所有人都会继承该政策, 子资源。
资源的有效政策是指为该资源设置的政策与从其祖先继承而来的政策的集合。这种继承具有传递性。换言之,资源会沿用项目的政策, 从组织资源继承政策。因此, 组织资源级政策也适用于资源级。
举例来说,在上面的资源层次结构图中,如果您对文件夹“Department Y”设置了向 bob@example.com 授予 Project Editor 角色的政策,那么 Bob 在“Development project”、“Test project”和“Production project”上具有 Editor 角色。反之,如果您在“Test Project”项目上向 alice@example.com 分配 Instance Admin 角色,那么她将只能管理该项目中的 Compute Engine 实例。
角色始终会被继承,无法显式地移除在资源层次结构的更高级层授予更低级层资源的权限。在上述示例中,即使您要在“Test Project”中移除 Bob 的 Project Editor 角色,他仍会从“Department Y”文件夹继承该角色,因此他在“Test Project”中仍然拥有该角色的相应权限。
IAM 政策层次结构遵循与 Google Cloud 资源层次结构相同的路径。如果更改资源层次结构,政策层次结构也会发生更改。例如,将项目迁移到 组织资源会将项目的 IAM 政策更新为 沿用组织资源的 IAM 政策。同样, 将项目资源从一个文件夹资源移动到另一个文件夹资源会更改 继承的权限。项目资源继承的权限 原始父级资源中的资源丢失 已移至新文件夹资源。在目标文件夹设置的权限 移动项目资源时会继承该资源。