Vous pouvez déplacer un projet Google Cloud au sein de votre ressource Organisation pour réorganiser votre hiérarchie des ressources et l'adapter à une restructuration d'équipe, à des changements de service ou à de nouvelles exigences d'accès. En tant qu'entité d'organisation de base dans Google Cloud, un projet peut résider directement sous votre ressource d'organisation ou dans un dossier. Avant de déplacer un projet, évaluez les implications de la destination sur les règles, car le projet hérite des règles d'identité et d'administration de son nouveau parent.
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, les utilisateurs n'auront pas accès à ce service au niveau de la destination, sauf s'ils héritent également de l'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 capacité d'importer des données, ce qui entraîne une interruption de service.
Ces mêmes critères s'appliquent si des règles d'administration sont définies au niveau des 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 sur la ressource d'organisation.
Ces rôles vous donnent les autorisations requises suivantes :
resourcemanager.projects.updatesur le projet- Si la ressource se trouve dans un dossier :
resourcemanager.projects.movedans le dossier source et la destination - Si la ressource ne se trouve pas dans un dossier :
resourcemanager.projects.movesur la ressource d'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.
Cliquez sur la ligne du projet pour le sélectionner dans la liste des ressources. Notez que vous ne devez pas cliquer sur le nom du projet, car cela vous redirigerait vers la page IAM (Identity and Access Management) du projet.
Cliquez sur le menu d'options (trois points verticaux) sur la ligne, puis 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
Remplacez les éléments suivants :
PROJECT_ID: ID ou numéro du projet que vous souhaitez déplacer.DESTINATION_TYPE: type de destination, soitorganization, soitfolder.DESTINATION_ID: ID de la ressource d'organisation ou du dossier vers lequel vous souhaitez déplacer le projet.
REST
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
}
Remplacez les éléments suivants :
PROJECT_NAME: nom du projet que vous souhaitez mettre à jour. Par exemple,projects/415104041262.DESTINATION_PARENT: nouvelle ressource d'organisation parente ou dossier 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.