将项目迁移至组织

为您的网域创建 Google Cloud 组织资源后,您可以将现有项目移至该组织。您必须既是项目所有者,又在组织中具有 Project Creator 角色,才能迁移项目。

所有在创建组织资源后创建的项目都将自动归属于组织资源。您可以使用 Cloud Console、Resource Manager API 或 gcloud 命令行工具将项目迁移至组织。

迁移组织中的项目

如果某个项目已经与组织建立关联,您必须在 Google Cloud 支持团队的协助下,才能将项目更改回无组织状态或迁移到另一个组织。如果您需要迁移已与组织建立关联的项目,请参阅将项目迁移到另一个组织

迁移无组织的项目

如果您要使用 API 或 gcloud 工具迁移项目,您将需要以下权限:

  • 对目标组织的 resourcemanager.projects.create 权限,通常由 Project Creator 角色授予。

  • 对正在迁移的项目的 resourcemanager.projects.updateresourcemanager.projects.setIAMPolicy 权限,通常由 Owner 角色授予。

要使用 Google Cloud Console 迁移项目,您还需要对目标组织拥有 resourcemanager.organizations.get 权限。如果您缺少任何这些权限,则目标组织将不会出现在 Google Cloud Console 中。

项目迁移操作不可撤消。项目与组织建立关联后,您便无法将其更改回无组织状态或自行将其移至其他组织。如果您需要迁移已与组织建立关联的项目,请联系 Google Cloud 支持团队

Console

要将项目迁移到组织,请执行以下操作:

  1. 打开 Cloud Console 中的 IAM 和管理 > 设置页面。

    打开“设置”页面

  2. 选择页面顶部的项目选择器

  3. 组织选择器中选择无组织。如果您未与任何组织建立关联,则系统不会显示组织选择器,因此您可以跳过此步骤。

  4. 选择您要迁移的项目。

    项目选择器的屏幕截图

  5. 点击页面顶部的迁移

  6. 组织下拉列表中,选择要将项目迁移到其中的组织。

将项目添加到组织后,您便无法自行撤消这项操作。

gcloud

要将项目迁移到组织,请运行以下命令:

gcloud alpha projects move PROJECT_ID /
    --organization ORGANIZATION_ID

其中:

  • PROJECT_ID 是您要迁移到组织的项目的 ID。
  • ORGANIZATION_ID 是您要向其中迁移项目的组织的 ID。

将项目添加到组织后,您便无法自行撤消这项操作。

API

使用 Resource Manager API,您可以将项目的 parent 字段设置为组织的 ID,从而将项目迁移到组织资源中。

要将项目迁移到组织中,请执行以下操作:

  • 使用 projects.get() 方法获取 project 对象。
  • 将其 parent 字段设置为组织的 ID。
  • 使用 projects.update() 方法更新 project 对象。

parent 字段一经设置便无法更改。

以下代码段展示了上述步骤:

    project = crm.projects().get(projectId=flags.projectId).execute()
    project['parent'] = {
        'type': 'organization',
        'id': flags.organizationId
    }

    project = crm.projects().update(
    projectId=flags.projectId, body=project).execute()

政策影响说明

已为项目定义的 IAM 政策将与项目一起导入。这意味着,在项目迁移之前对项目拥有权限的用户会在项目迁移到组织中后保有相关权限。

IAM 权限支持沿用和附加;如果在组织一级定义了相关角色,那么在项目迁移到组织中后,项目会沿用这些角色。例如,如果 bob@myorganization.com 拥有在组织一级定义的项目编辑者角色,那么他也将对迁移到该组织中的任何项目拥有此角色。这不会影响现有项目中的任何内容,但沿用设置可能会使更多用户获得访问权限。

同样,组织政策也是按层次结构沿用的。默认情况下,当您创建组织时,系统不会为它定义组织政策。如果您后续为贵组织定义了组织政策,那么在将项目迁移到组织时需多加小心,以确保项目与此类政策保持一致。

迁移现有的结算帐号

如果您是已拥有 Cloud Billing 帐号的 G Suite 或 Cloud Identity 客户,您可以将这些帐号迁移到您的组织。将 Cloud Billing 帐号迁移到组织中并不会影响项目服务。

您必须拥有以下角色才能迁移结算帐号:

  • 您必须是要迁移的 Cloud Billing 帐号的 Billing Account Administrator
  • 您必须是要向其中迁移 Cloud Billing 帐号的组织的 Billing Account Creator
  • 如果要从现有组织迁移 Cloud Billing 帐号,您必须是计划从其迁移 Cloud Billing 帐号的组织的 Billing Account Administrator

如需了解如何授予这些角色,请参阅 Cloud Billing 访问权限控制概览

要将现有的结算帐号迁移到组织中,请按以下步骤操作:

  1. 转到 Cloud Console 的结算页面:
    转到“结算”页面
  2. 在 **选择组织** 菜单中,选择一个组织以查看与其关联的 Cloud Billing 帐号,或者选择无组织以查看未与组织关联的结算帐号。
  3. 结算帐号名称下方,点击您要迁移的 Cloud Billing 帐号的名称。结算帐号概览页面随即打开。
  4. 在“结算”导航菜单中,点击帐号管理
  5. 在“帐号管理”页面顶部,点击更改组织,然后选择要向其中迁移 Cloud Billing 帐号的组织。