移动项目

本指南介绍如何在组织内移动项目。

项目资源是 Google Cloud 组织中的基本级层组织实体。项目在组织下创建,并且可以置于文件夹或组织资源本身之下,形成资源层次结构。您可以在资源层次结构内移动项目资源,但在移动之前应该先考虑移动的政策影响。

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

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

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

如需详细了解组织政策,请参阅组织政策服务简介

如需移动项目,您需要以下 IAM 角色:

  1. 对项目具有 resourcemanager.projects.update 权限,该权限通常属于项目的 Project EditorProject Owner 角色。

  2. 对源文件夹和目标文件夹具有 resourcemanager.projects.move 权限。该权限通常属于 Project OwnerProject EditorFolder AdminFolder Mover 角色。如果资源不在文件夹中,您将需要在组织节点上拥有该权限。

控制台

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

  1. 在 Google Cloud Console 中,转到管理资源页面。

    转到“管理资源”

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

  3. 点击项目所在的行,从资源列表中选择您的项目。请注意,不得点击项目名称,此操作会将您转到项目的 IAM 页面。

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

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

  6. 点击移动

gcloud

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

gcloud beta projects move PROJECT_ID \
--DESTINATION_TYPE DESTINATION_ID

其中:

  • PROJECT_ID 是待移动项目的 ID 或编号。

  • DESTINATION_TYPEorganizationfolder

  • DESTINATION_ID 是您要将项目移动到的组织或文件夹的 ID。您只能指定一个目标。

API

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

请求:

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

其中:

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

  • DESTINATION_PARENT 是您要在其下移动项目的新父级组织或文件夹。例如:organizations/12345678901

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