移动项目

您可以在组织资源中移动 Google Cloud 项目,以重新组织资源层次结构,并与团队重组、部门变动或更新后的访问权限要求保持一致。作为 Google Cloud中的基础级层组织实体,项目可以直接位于组织资源下或文件夹内。在移动项目之前,请评估目标位置的政策影响,因为项目会从其新父级继承身份和组织政策。

移动项目时,直接附加的所有 Identity and Access Management 政策或组织政策都将与该项目一起移动。不过,资源层次结构中的项目也会受到它从父资源继承的政策影响。如果项目继承了向用户提供特定服务使用权限的 IAM 角色,则用户将无法在目标位置访问该服务,除非该项目也会在目标位置继承该权限。

例如,假设某服务账号在文件夹 A 中将 Storage Object Creator 角色绑定到某用户。该服务账号有权将数据上传到文件夹 A 中任何项目中的 Cloud Storage。如果您将其中一个项目移至文件夹 B(该文件夹没有相同的继承权限),则该项目的服务账号将失去上传数据的能力,从而导致服务中断。

如果组织政策在源文件夹和目标文件夹中定义,则这些注意事项也适用。与 IAM 政策一样,组织政策是继承的。因此,您必须确保源文件夹和目标文件夹之间的组织政策一致。

如需详细了解组织政策,请参阅Organization Policy Service 简介。

要移动项目,您需要拥有源文件夹和目标文件夹的 Project Mover IAM 角色 (roles/resourcemanager.projectMover)。如果资源不在文件夹中,则您需要对组织资源拥有此角色。

这些角色授予您以下所需权限:

  • 针对项目的 resourcemanager.projects.update
  • 如果资源位于文件夹中:针对源文件夹和目的地的 resourcemanager.projects.move
  • 如果资源不在文件夹中:组织资源上的 resourcemanager.projects.move

您还可以通过自定义角色或其他预定义角色获取这些权限。

控制台

如需移动项目,请执行以下操作:

  1. 在 Google Cloud 控制台中,前往管理资源页面。

    转到“管理资源”

  2. 从页面左上角的组织下拉列表中选择您的组织。

  3. 点击项目所在的行,从资源列表中选择您的项目。请注意,您不得点击项目名称,否则会转到项目的 Identity and Access Management (IAM) 页面。

  4. 点击该行中的选项菜单(垂直省略号),然后点击移动。

  5. 点击浏览,选择项目的目标移动文件夹。

  6. 点击移动。

gcloud

如需移动项目,请运行 gcloud beta projects move 命令:

gcloud beta projects move PROJECT_ID \
   --DESTINATION_TYPE DESTINATION_ID

替换以下内容:

  • PROJECT_ID:要移动的项目的 ID 或编号。
  • DESTINATION_TYPE:目标位置的类型,即 organization 或 folder。
  • DESTINATION_ID:要将项目移动到的组织资源或文件夹的 ID。

REST

您可以使用 v3 projects.move 方法移动项目。

请求:

POST https://cloudresourcemanager.googleapis.com/v3/{name=PROJECT_NAME}:move
{
  "destinationParent": DESTINATION_PARENT
}

替换以下内容:

  • PROJECT_NAME:您要更新的项目的名称。例如 projects/415104041262

  • DESTINATION_PARENT:要将项目移至的新父级组织资源或文件夹。例如:organizations/12345678901

如果成功,请求将返回一个操作,可用于跟踪项目移动。