资源层次结构提供了一种结构化的方式来整理您的云资源。 Google Cloud 层次结构中除最高资源之外的所有资源都只有一个父级。该层次结构由顶部的组织(根)组成,然后是用于分组的文件夹(可选),最后是项目,其中包含实际的服务资源,例如 Compute Engine 虚拟机和存储分区。
使用结构化层次结构具有以下优势:
- 所有权:它将资源的生命周期绑定到其直接父级。项目归组织所有,而不是创建项目的员工个人。如果员工离职,项目仍会保持活跃状态并受到保护。
- 继承:它为访问权限控制和组织政策提供了连接点,这些政策会沿着层次结构向下传递。您可以在较高级别(例如组织或文件夹)授予角色。所有子资源都会继承这些角色,从而减少了为每个单独项目手动配置权限的需求。
下图展示了资源层次结构。 Google Cloud
组织资源
组织资源 代表实体(例如公司),是 Google Cloud 资源层次结构的根节点。它提供以下主要功能:
- 组织充当所有文件夹和项目资源的父级。
- 在此级别应用的访问权限控制政策(例如 Identity and Access Management (IAM) 角色)和组织政策由组织中的每个资源继承。
- 虽然并非所有 Google Cloud 用户都必须拥有组织资源 ,但使用特定的 Resource Manager 功能需要组织资源。
与 Google Workspace 或 Cloud Identity 账号关联
您必须拥有 Google Workspace 或 Cloud Identity 账号才能访问组织资源。
- 一个 Google Workspace 或 Cloud Identity 账号只能与一个组织资源关联。
- 当拥有 Google Workspace 或 Cloud Identity 账号的用户 创建 Google Cloud 项目资源时,系统会自动为其预配组织资源 。
下图显示了 Google Workspace 账号、 Cloud Identity 和 Google Cloud 资源层次结构之间的关联。
Google Workspace 超级用户负责网域所有权验证,并担任需要执行恢复时的联系人。因此,默认情况下,系统会向 Google Workspace 超级用户授予分配 IAM 角色的能力。对于 Google Cloud ,Google Workspace 超级用户 的主要职责是向其网域内的相应用户分配组织 管理员 IAM 角色。上述机制有助于实现用户通常寻求的 Google Workspace 和 Google Cloud管理责任的分离。
受管用户的项目创建规则
为网域创建组织资源后,项目创建将遵循严格的规则:
- 受管用户(账号网域的成员)必须在组织内创建项目。与组织资源关联的账号无法创建未与组织资源关联的项目资源。
- 默认情况下,新项目归与用户关联的组织所有。
- 如果用户拥有适当的权限,则可以在项目创建期间指定其他组织资源;否则,系统会默认使用其主组织。
组织资源的优势
有了组织资源后,项目资源便会归属于您的组织,而非创建该项目的员工。这意味着,当员工离职时,您的组织会保留项目资源。项目资源会遵循组织资源在上的生命周期。 Google Cloud
此外,组织管理员可以集中控制所有资源。他们可以查看和管理您公司的所有项目资源。这样可以防止出现影子项目或未获授权的管理员。
您还可以在组织级层授予角色,组织资源下的所有项目和文件夹资源都将继承这些角色。例如,您可以在组织级层向网络团队授予网络管理员 角色,允许他们管理您公司里所有项目资源中的所有网络,而不是向他们授予每个单独项目资源的相应角色。
组织资源由以下属性定义:
- 组织资源 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"
}
}
新组织资源的初始允许政策向整个 Google Workspace 网域授予 Project Creator 和 Billing Account Creator 角色。这意味着,用户可以继续创建项目资源和结算账号(和组织资源存在之前一样)。创建组织资源时,不会创建其他资源。允许、拒绝和组织政策通过层次结构继承,层次结构中每个资源的有效政策是对该资源直接应用的政策与从其祖先继承而来的政策组合的结果。
文件夹资源
文件夹资源是组织资源和项目资源之间可选的分组机制。您必须拥有组织资源才能使用文件夹。文件夹资源及其子项目资源位于组织资源下。
文件夹资源可以在项目之间提供隔离边界。它们充当组织资源内的子组织。文件夹资源可以为公司内的不同法人实体、部门和团队建模。例如,第一级文件夹可以表示您组织中的主要部门。由于文件夹可以包含项目及其他文件夹,因此每个文件夹可以包含子文件夹以表示不同团队。每个团队文件夹可以包含其他子文件夹以表示不同应用。如需详细了解如何使用文件夹资源,请参阅 创建文件夹。
如果您的组织资源包含文件夹资源,并且您拥有相应的 查看权限,则可以在 Google Cloud 控制台中查看这些资源。如需了解详情,请参阅 查看、更新和删除文件夹。
您可以使用文件夹资源来委派管理权。例如,您可以向每位部门主管授予其部门内所有 Google Cloud 资源的所有权。同样,文件夹资源可以限制对资源的访问权限, 这意味着某一部门的用户只能访问特定文件夹资源中的资源以及在其中创建 Google Cloud 资源。
以下代码段展示了文件夹资源的结构:
{
"createTime": "2030-01-07T21:59:43.314Z",
"displayName": "Engineering",
"lifecycleState": "ACTIVE",
"name": "folders/634792535758",
"parent": "organizations/34739118321"
}
与组织资源和项目资源一样,文件夹资源充当允许、拒绝和组织政策的政策继承点。在文件夹资源上授予的 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 会自动生成项目资源编号。您可以在 控制台中的项目信息中心找到项目资源 ID 和编号。Google Cloud 如需了解如何获取项目 标识符及项目资源的其他管理任务,请参阅 创建项目。
新创建的项目资源的初始 IAM 政策会向项目创建者授予所有者角色。
所有用户(包括免费试用用户、免费层级用户以及 Google Workspace 和 Cloud Identity 客户)都可以创建项目资源。免费计划的Google Cloud 用户只能 在项目中创建项目资源和服务资源。项目资源可以位于其层次结构的顶部,但前提是它们是由免费试用用户或免费层级用户创建的。Google Workspace 和 Cloud Identity 客户 可以使用 Google Cloud 资源层次结构的其他功能, 例如组织资源和文件夹资源。如需了解详情,请参阅 Cloud Identity 概览。 位于其层次结构顶部的项目资源没有父资源,但可以在为网域创建组织资源后迁移到该组织资源中。如需详细了解如何迁移项目资源, 请参阅在组织资源之间迁移项目。
后续步骤
- 了解如何创建资源层次结构 Google Cloud
- 了解如何列出层次结构中的所有项目、文件夹和组织