Project migration checklist

This checklist will help you to migrate projects between organization resources. The checklist below contains a list of the major tasks involved in migrating a project between organization resources, brief instructions for each step, and a link to more information.

You should consider how your migration will impact the services running inside the project. Changes in the resource hierarchy caused by a project migration can lead to changes in inherited policies, such as organization policies and Identity and Access Management policies.

Create a plan to make sure that any potential impacts are mitigated during your project migration. To help inform your plan, use the Move Analysis API to get a detailed breakdown of blockers for the project migration.

For more information, see Create a migration plan.

You need a particular set of IAM roles to migrate a project between organization resources. You will also need permission to create and manage organization policies.

You can get these permissions by acquiring the following roles:

  • Project Mover (roles/resourcemanager.projectMover) on the project you want to migrate and its parent resource.

  • Project Creator (roles/resourcemanager.projectCreator) on the destination folder or organization resource.

  • Organization Policy Admin (roles/orgpolicy.policyAdmin) on both the source and destination organization resources.

For more details about the roles and permissions you need, see Assign permissions.

To perform a project migration between organization resources, you must set the following organization policies:

  • Set the constraints/resourcemanager.allowedExportDestinations constraint on the parent resource to the project that you want to migrate. This constraint defines the organization resources to which the project can be migrated.

  • Set the constraints/resourcemanager.allowedImportSources constraint on the destination resource. This constraint defines the organization resources from which projects can be imported.

If either of these constraints are not properly set, the migration will fail with a FAILED_PRECONDITION error.

To configure organization policies required for the project migration, you must have the roles/orgPolicy.policyAdmin role on the parent and the destination organization.

For more information about these organization policy constraints, see Configure organization policies.

When you migrate a project between organization resources, there is a chance you'll need to address certain scenarios at the project and organization resource level. There can be services involved that you'd need to consider that As part of your migration plan, you should consider these cases if you depend on the services involved for the operation of your project.

For a list of special cases and how to handle them, see Handling special cases.

Once you have finished the above steps, you can use the Resource Manager API to migrate a project. You can use the gcloud beta projects move Google Cloud CLI command, or the projects.update() REST API method to perform the migration.

For more details about migrating your project, see Perform the migration.