Traslada un proyecto

En esta guía, se explica cómo mover un proyecto dentro del recurso de tu organización.

El proyecto es la entidad organizadora básica en un recurso de organización de Google Cloud. Los proyectos se crean en recursos de la organización y se pueden ubicar en carpetas o en el recurso de la organización en sí, lo que forma la jerarquía de recursos. Puedes mover los recursos del proyecto dentro de la jerarquía de recursos, pero debes considerar las implicaciones de la política antes de realizarlo.

Cuando muevas un proyecto, se moverán con él todas las políticas de la organización o de Identity and Access Management que estén vinculadas directamente. Sin embargo, un proyecto en tu jerarquía de recursos también se ve afectado por las políticas que hereda de recursos superiores. Si un proyecto hereda una función de IAM que otorga permiso a los usuarios para usar un servicio en particular, los usuarios no tendrán acceso a ese servicio en el destino, a menos que también hereden el permiso en el destino.

Por ejemplo, considera que una cuenta de servicio tiene la función Creador de objetos de almacenamiento vinculada a un usuario en la Carpeta A. La cuenta de servicio tiene permisos para subir datos a Cloud Storage en cualquier proyecto de la carpeta A. Si moviste uno de estos proyectos a la carpeta B, que no tiene los mismos permisos heredados, la cuenta de servicio de ese proyecto pierde la capacidad de subir datos, lo que provoca una interrupción del servicio.

Estas mismas consideraciones se aplican si las políticas de la organización se definen en las carpetas de origen y destino. Al igual que las políticas de IAM, las políticas de la organización se heredan. Por lo tanto, debes asegurarte de que las políticas de la organización sean coherentes entre las carpetas de origen y de destino.

Para obtener más información sobre las políticas de la organización, consulta Introducción al servicio de las políticas de la organización.

Para mover un proyecto, necesitas la función de IAM de Migrador del proyecto (roles/resourcemanager.projectMover) en la carpeta de origen y en la de destino. Si el recurso no está en una carpeta, necesitas esta función en el recurso de la organización.

Estas funciones te otorgan los siguientes permisos necesarios:

  • resourcemanager.projects.update en el proyecto
  • Si el recurso está en una carpeta: resourcemanager.projects.move en la carpeta de origen y el destino
  • Si el recurso no está en una carpeta: resourcemanager.projects.move en el recurso de la organización

También puedes obtener estos permisos con funciones personalizadas, o bien otras funciones predefinidas.

Consola

Para mover un proyecto, haz lo siguiente:

  1. En la consola de Google Cloud, ve a la página Administrar recursos.

    Ir a Administrar recursos

  2. Selecciona tu organización en el menú desplegable Organización en la parte superior izquierda de la página.

  3. Haz clic en la fila de tu proyecto para seleccionarlo de la lista de recursos. Ten en cuenta que no debes hacer clic en el nombre del proyecto, que te lleva a la página de IAM del proyecto.

  4. Haz clic en el menú de opciones (los puntos suspensivos verticales) de la fila y haz clic en Mover.

  5. Haz clic en Explorar para seleccionar la carpeta a la que deseas mover el proyecto.

  6. Haz clic en Mover.

gcloud

Para mover un proyecto, ejecuta el comando gcloud beta projects move:

gcloud beta projects move PROJECT_ID \
--DESTINATION_TYPE DESTINATION_ID

Donde:

  • PROJECT_ID es el ID o el número del proyecto que deseas trasladar.

  • DESTINATION_TYPE es organization o folder.

  • DESTINATION_ID es el ID de la carpeta o el recurso de la organización a los que deseas mover el proyecto. Solo puedes especificar un objetivo.

API

Puedes usar el método projects.move v3 para mover un proyecto.

Solicitud:

POST https://cloudresourcemanager.googleapis.com/v3/{name=PROJECT_NAME}:move
{
  "destinationParent": DESTINATION_PARENT
}

Donde:

  • PROJECT_NAME es el nombre del proyecto que deseas actualizar. Por ejemplo, projects/415104041262

  • DESTINATION_PARENT es el nuevo recurso o carpeta de la organización superior al que deseas mover el proyecto. Por ejemplo: organizations/12345678901

Si se ejecuta de forma correcta, la solicitud mostrará una Operación que se puede usar para realizar un seguimiento del traslado del proyecto.