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.
Create a migration plan
Analyze the impact of the migration on services running inside the project.
Changes in the resource hierarchy can affect inherited policies.
- Run Move Analysis: Use the Move Analysis API to get a detailed breakdown of blockers.
- Evaluate policy impact: Determine how the move affects inherited organization policies and Identity and Access Management (IAM) policies.
- Plan for downtime: Some services might experience brief interruptions during the transition.
For more information, see Create a migration plan.
Address any special cases
Identify and prepare for scenarios that require special handling at the project
or organization level.
- Check service dependencies: Review if your project depends on services like Shared VPC, VPC Service Controls, or has active billing/subscriptions.
- Review special cases list: Ensure you have a plan for each service listed in the detailed guide.
- Prepare rollback plan: Understand how to roll back the migration if issues arise.
For a list of special cases and how to handle them, see Handling special cases.
Assign Identity and Access Management roles
Assign the required IAM roles to the same principal email address
in both the source and destination organization resources.
You need the following roles:
- Project IAM Admin (
roles/resourcemanager.projectIamAdmin) on the project you want to migrate. - Project Mover (
roles/resourcemanager.projectMover) on the project's parent resource (folder or organization resource). - If the destination is a folder: Project Mover
(
roles/resourcemanager.projectMover) on the destination folder. - If the destination is an organization: Project Creator
(
roles/resourcemanager.projectCreator) on the destination organization resource. - Organization Policy Admin (
roles/orgpolicy.policyAdmin) on both the source and destination organization resources.
For more details, see Assign permissions.
Configure organization policies
Enable cross-organization project migration by configuring specific organization
policies. Without these, the migration will fail.
- Configure source policy: Set the
constraints/resourcemanager.allowedExportDestinationsconstraint on the parent resource to allow exporting to the destination. - Configure destination policy: Set the
constraints/resourcemanager.allowedImportSourcesconstraint on the destination resource to allow importing from the source.
For more information, see Configure organization policies.
Perform the migration
Execute the migration using the Google Cloud console, Google Cloud CLI, or the
Resource Manager API.
- Run migration: Use the
gcloud beta projects movecommand or the Cloud Console to perform the move. - Verify migration: Confirm the project appears in the new destination and verify resource access.
- Perform post-migration tasks: Verify inherited policies, audit access, and optionally update the billing account.
- Clean up: Revoke temporary IAM roles and remove the temporary organization policy constraints.
For step-by-step instructions, see Perform the migration.