Ce guide explique comment déplacer un projet au sein de la ressource de votre organisation.
Le projet est l'entité d'organisation de base dans une ressource d'organisation Google Cloud. Les projets sont créés dans des ressources d'organisation et peuvent être placés dans des dossiers ou dans la ressource "Organisation" elle-même, formant la hiérarchie des ressources. Vous pouvez déplacer des ressources de projet dans votre hiérarchie de ressources, mais pensez aux implications de la migration avant de la mettre en œuvre.
Lorsque vous déplacez un projet, toutes les stratégies IAM (Identity and Access Management) ou règles d'administration directement associées seront déplacées. Toutefois, les projets de votre hiérarchie de ressources sont également affectés par les stratégies dont ils héritent des ressources parentes. Si un projet hérite d'un rôle IAM qui autorise les utilisateurs à utiliser un service particulier, ces derniers n'auront pas accès à ce service dans la destination, sauf s'ils héritent de cette autorisation au niveau de la destination.
Par exemple, imaginons qu'un compte de service dispose du rôle Créateur d'objets de l'espace de stockage, lié à un utilisateur du dossier A. Le compte de service est autorisé à importer des données vers Cloud Storage dans n'importe quel projet du dossier A. Si vous déplacez l'un de ces projets vers le dossier B, qui ne dispose pas des mêmes autorisations héritées, le compte de service de ce projet perd la possibilité de mettre en ligne des données, ce qui entraîne une interruption de service.
Ces mêmes remarques s'appliquent si des règles de l'organisation sont définies dans les dossiers source et de destination. Tout comme les stratégies IAM, les règles de l'organisation 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 du rôle IAM Déplaceur de projets (roles/resourcemanager.projectMover
) dans le dossier source et le dossier de destination. Si la ressource ne se trouve pas dans un dossier, vous devez disposer de ce rôle au niveau de la ressource de l'organisation.
Ces rôles vous donnent les autorisations requises suivantes :
resourcemanager.projects.update
sur le projet- Si la ressource se trouve dans un dossier :
resourcemanager.projects.move
dans le dossier source et la destination - Si la ressource ne se trouve pas dans un dossier:
resourcemanager.projects.move
dans la ressource Organisation
Vous pouvez également obtenir ces autorisations avec des rôles personnalisés ou d'autres rôles prédéfinis.
Console
Pour déplacer un projet, procédez comme suit :
Dans la console Google Cloud, accédez à la page Gérer les ressources.
Sélectionnez votre organisation dans la liste déroulante Organisation, en haut à gauche de la page.
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.
Cliquez sur le menu d'options (icône représentant des points de suspension verticaux) situé sur cette ligne et cliquez sur Déplacer.
Cliquez sur Parcourir pour sélectionner le dossier dans lequel vous souhaitez déplacer le projet.
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
oufolder
.DESTINATION_ID est l'ID de la ressource ou du dossier de l'organisation vers lequel vous souhaitez déplacer le projet. Vous ne pouvez spécifier qu'une seule cible.
API
Pour déplacer un projet, vous pouvez utiliser la méthode v3 projects.move
.
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 ressource ou au nouveau dossier de l'organisation parent sous lequel vous souhaitez déplacer le projet. Exemple :organizations/12345678901
.
Si la requête aboutit, elle renvoie une opération qui peut être utilisée pour suivre le déplacement du projet.