Stay organized with collections
Save and categorize content based on your preferences.
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 (IAM) allow and deny 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.
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.
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.
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.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-25 UTC."],[],[],null,["# Project migration checklist\n\nThis checklist will help you to migrate projects between organization resources. The\nchecklist below contains a list of the major tasks involved in migrating a\nproject between organization resources, brief instructions for each step, and a link\nto more information. \n\n\n### [Create a migration plan](#create_migration_plan)\n\nYou 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 (IAM) allow and deny policies.\n\n\u003cbr /\u003e\n\nCreate a plan to make sure that any potential impacts are mitigated during your\nproject migration. To help inform your plan, use the\n[Move Analysis API](/resource-manager/docs/analyze-move) to get a detailed breakdown of blockers for\nthe project migration.\n\nFor more information, see\n[Create a migration plan](/resource-manager/docs/create-migration-plan).\n\n### [Assign Identity and Access Management roles](#assign_roles)\n\nYou 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.\n\n\u003cbr /\u003e\n\nYou can get these permissions by acquiring the following roles:\n\n- Project Mover (`roles/resourcemanager.projectMover`) on the project you want\n to migrate and its parent resource.\n\n- Project Creator (`roles/resourcemanager.projectCreator`) on the destination\n folder or organization resource.\n\n- Organization Policy Admin (`roles/orgpolicy.policyAdmin`) on both the source\n and destination organization resources.\n\nFor more details about the roles and permissions you need, see\n[Assign permissions](/resource-manager/docs/assign-iam-roles).\n\n### [Configure organization policies](#set_organization_policies)\n\nTo perform a project migration between organization resources, you must set the following organization policies:\n\n\u003cbr /\u003e\n\n- 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.\n\n- Set the\n `constraints/resourcemanager.allowedImportSources` constraint on the destination resource. This constraint defines the organization resources from which projects can be imported.\n\nIf either of these constraints are not properly set, the migration will fail\nwith a `FAILED_PRECONDITION` error.\n\nTo configure organization policies required for the project migration, you\nmust have the `roles/orgPolicy.policyAdmin` role on the parent and the destination organization.\n\nFor more information about these organization policy constraints, see\n[Configure organization policies](/resource-manager/docs/configure-org-policy).\n\n### [Address any special cases](#special_cases)\n\nWhen 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.\n\n\u003cbr /\u003e\n\nFor a list of special cases and how to handle them, see\n[Handling special cases](/resource-manager/docs/handle-special-cases).\n\n### [Perform the migration](#perform_migration)\n\nOnce 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.\n\n\u003cbr /\u003e\n\nFor more details about migrating your project, see\n[Perform the migration](/resource-manager/docs/perform-migration)."]]