Déplacer un projet

Ce guide explique comment déplacer un projet au sein de votre organisation.

La ressource de projet est l'entité d'organisation de base d'une organisation Google Cloud. Les projets sont créés sous des organisations et peuvent être placés dans des dossiers ou la ressource Organisation proprement dite, formant ainsi la hiérarchie des ressources. Vous pouvez déplacer les ressources de projet dans votre hiérarchie de ressources, mais vous devez prendre en compte les conséquences de la règle avant de la mettre en œuvre.

Lorsque vous déplacez un projet, toutes les règles de gestion de l'authentification et des accès ou les règles d'administration directement associées. Toutefois, un projet de votre hiérarchie de ressources est également affecté par les stratégies qu'il hérite des ressources parentes. Si un projet hérite d'un rôle IAM qui fournit aux utilisateurs l'autorisation d'utiliser un service particulier, ils n'ont pas accès à ce service à la destination, sauf s'il hérite également de l'autorisation au niveau de la destination.

Par exemple, imaginons qu'un compte de service dispose du rôle Créateur des objets de l'espace de stockage lié à un utilisateur du dossier A. Le compte de service dispose des autorisations nécessaires pour importer des données dans Cloud Storage dans tous les projets du dossier A. Si vous avez déplacé l'un de ces projets Dossier B, qui ne dispose pas des mêmes autorisations héritées, le compte de service de ce projet perd la possibilité d'importer des données, ce qui entraîne une interruption de service.

Ces mêmes considérations s'appliquent si des règles d'administration sont définies dans les dossiers source et de destination. À l'instar des stratégies IAM, les règles d'administration sont héritées. Par conséquent, vous devez vous assurer que les règles d'administration sont cohérentes entre les dossiers source et de destination.

Pour en savoir plus sur les règles d'administration, consultez la Présentation du service de règles d'administration.

Pour déplacer un projet, vous devez disposer des rôles IAM suivants:

  1. Disposer de l'autorisation resourcemanager.projects.update sur le projet, dont bénéficient généralement les rôles Éditeur de projetou Propriétaire de projet sur le projet.

  2. Disposer de l'autorisation resourcemanager.projects.move sur le dossier source et le dossier de destination. Cette autorisation est généralement associée aux rôles Propriétaire de projet, Éditeur de projet, Administrateur de dossier ou Déplaceur de dossier. Si la ressource ne se trouve pas dans un dossier, vous aurez besoin de cette autorisation au niveau du nœud de l'organisation.

Console

Pour déplacer un projet, procédez comme suit:

  1. Dans Google Cloud Console, accédez à la page "Gérer les ressources".

    Accéder à la page "Gérer les ressources"

  2. Sélectionnez votre organisation dans la liste déroulante Organisation, en haut à gauche de la page.

  3. Dans la liste des ressources, cliquez sur la ligne correspondant à votre projet pour le sélectionner. Notez que vous ne devez pas cliquer sur le nom du projet. Cela vous redirigerait vers la page IAM correspondante.

  4. Cliquez sur le menu d'options (icône représentant des points de suspension verticaux) situé sur cette ligne et cliquez sur Déplacer.

  5. Cliquez sur Parcourir pour sélectionner le dossier dans lequel vous souhaitez déplacer le projet.

  6. Cliquez sur Déplacer.

gcloud

Pour déplacer un projet, exécutez la commande gcloud beta projects move:

gcloud beta projects move PROJECT_ID \
--DESTINATION_TYPE DESTINATION_ID

Où :

  • PROJECT_ID est l'ID ou le numéro du projet que vous souhaitez déplacer.

  • DESTINATION_TYPE correspond à organization ou folder.

  • DESTINATION_ID correspond à l'identifiant de l'organisation ou du dossier vers lequel vous souhaitez déplacer le projet. Vous ne pouvez spécifier qu'une seule cible.

API

Pour déplacer un projet, utilisez la méthode projects.move de la version 3.

Requête :

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

Où :

  • PROJECT_NAME est le nom du projet que vous souhaitez mettre à jour. Par exemple, projects/415104041262.

  • DESTINATION_PARENT correspond à la nouvelle organisation ou dossier parent dans lequel vous souhaitez déplacer le projet. Exemple : organizations/12345678901.

En cas de réussite, la requête renvoie une Operation qui peut être utilisée pour suivre le déplacement du projet.