移动项目

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

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

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

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

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

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

要移动项目,您需要拥有源文件夹和目标文件夹的 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:目标类型,可以是 organizationfolder
  • 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

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