Créer et gérer des projets

Les projets Google Cloud Platform (GCP) constituent une base pour la création, l'activation et l'utilisation de tous les services GCP, comme la gestion des API, la facturation, l'ajout et la suppression de collaborateurs et la gestion des autorisations pour les ressources GCP.

Cette page explique comment créer et gérer des projets GCP à l'aide de l'API Resource Manager et de la console Google Cloud Platform.

Avant de commencer

Pour en savoir plus sur les ressources du projet, consultez la Présentation de la hiérarchie des ressources.

Créer un projet

Pour créer un projet, vous devez disposer de l'autorisation resourcemanager.projects.create. Cette autorisation est incluse dans le rôle de créateur de projet roles/resourcemanager.projectCreator, qui est attribué par défaut à l'ensemble du domaine d'une nouvelle organisation et aux utilisateurs de l'essai gratuit. Pour plus d'informations sur l'attribution du rôle à des utilisateurs et la limitation de l'accès à l'échelle de l'organisation, consultez la page Gérer les rôles par défaut d'une organisation.

Vous pouvez créer un projet à l'aide de la console GCP ou de la méthode projects.create().

Console

Pour créer un projet :

  1. Accédez à la page Gérer les ressources dans la console GCP.
    ACCÉDER À LA PAGE "GÉRER LES RESSOURCES"
  2. Dans la liste déroulante Sélectionner une organisation en haut de la page, sélectionnez l'organisation dans laquelle vous souhaitez créer un projet. Si vous êtes un utilisateur de l'essai gratuit, ignorez cette étape, car cette liste n'apparaît pas.
  3. Cliquez sur Créer un projet.
  4. Dans la fenêtre Nouveau projet qui s'affiche, saisissez un nom pour le projet, puis sélectionnez un compte de facturation si nécessaire.
  5. Si vous souhaitez ajouter le projet à un dossier, saisissez le nom du dossier dans la case Emplacement.
  6. Une fois les détails du nouveau projet renseignés, cliquez sur Créer.

gcloud

Pour créer un projet, utilisez la commande gcloud projects create :

gcloud projects create PROJECT_ID

PROJECT_ID correspond à l'ID du projet que vous souhaitez créer. L'ID du projet doit commencer par une lettre en minuscule et ne peut contenir que des lettres ASCII, des chiffres et des tirets. Il doit comporter entre 6 et 30 caractères.

Pour créer un projet avec une organisation ou un dossier en tant que parent, utilisez les indicateurs --organization ou --folder. Comme une ressource ne peut avoir qu'un parent, seul l'un de ces indicateurs peut être utilisé.

gcloud projects create PROJECT_ID --organization=ORGANIZATION_ID

gcloud projects create PROJECT_ID --folder=FOLDER_ID

API

Vous ne pouvez pas utiliser certains mots dans l'ID du projet lorsque vous créez un projet avec la méthode projects.create(). Quelques exemples incluent ssl et google. Si vous utilisez l'un de ces mots, la requête renvoie une erreur INVALID_ARGUMENT.

La requête ci-dessous crée uniquement un projet et ne l'associe pas automatiquement à un compte de facturation. Utilisez la méthode projects.updateBillingInfo pour définir ou mettre à jour le compte de facturation associé à un projet.

Requête pour créer un projet :

POST https://cloudresourcemanager.googleapis.com/v1/projects/
Authorization: *************
Content-Type: application/json

{
    "projectId": "our-project-123",
    "name": "my project",
    "labels": {
      "mylabel": "prod"
    }
}

Réponse pour la création du projet :

{
    "name": "operations/pc.123456789",
}

Requête pour l'opération Get :

GET https://cloudresourcemanager.googleapis.com/v1/operations/pc.123456789
Authorization: *************
Content-Type: application/json

Réponse pour l'opération Get :

{
    "name": "operations/pc.123456789",
    "done": true,
    "response": {
        "@type": "type.googleapis.com/google.cloudresourcemanager.v1.Project",
        "projectNumber": "464036093014",
        "projectId": "our-project-123",
        "lifecycleState": "ACTIVE",
        "name": "my project",
        "labels": {
        "mylabel": "prod"
        },
    "createTime": "2016-01-07T21:59:43.314Z"
    }
}

PYTHON

...
crm = discovery.build(
    'cloudresourcemanager', 'v1', http=creds.authorize(httplib2.Http()))

operation = crm.projects().create(
body={
    'project_id': flags.projectId,
    'name': 'my project'
}).execute()

...

Gérer des quotas de projets

S'il vous reste moins de 30 projets dans votre quota, une notification affiche le nombre de projets restants dans votre quota sur la page Nouveau projet. Les projets supprimés de façon réversible par les utilisateurs sont comptabilisés dans votre quota jusqu'à leur suppression complète (au bout de 30 jours).

Pour demander une plus grande capacité en termes de projets dans votre quota, consultez la page d'assistance Demander une augmentation du quota de facturation. Pour plus d'informations sur les quotas et leur utilisation, consultez la page d'assistance relative aux Requêtes liées aux quotas de projets de l'essai gratuit.

Identifier des projets

Pour interagir avec les ressources GCP, vous devez fournir des informations permettant l'identification du projet pour chaque requête. Un projet peut être identifié grâce aux paramètres suivants :

  • Nom du projet : le nom personnalisé que vous avez choisi lors de la création du projet ou de l'activation d'une API nécessitant la création d'un ID du projet. Notez que vous ne pouvez pas réutiliser le nom d'un projet supprimé.
  • ID du projet : un identifiant unique pour votre projet, composé du nom du projet et d'un numéro attribué de manière aléatoire.
  • Numéro du projet : un numéro généré automatiquement par le serveur et attribué à votre projet.

Pour obtenir l'ID et le numéro de votre projet :

  1. Accédez à la page Tableau de bord dans la console GCP.

    Accéder à la page "Tableau de bord"

  2. Cliquez sur la liste déroulante Sélectionner située en haut de la page. Sélectionnez votre projet dans la fenêtre Sélectionner qui s'affiche.

L'ID et le numéro du projet sont tous deux affichés sur la carte Informations sur le projet du tableau de bord du projet :

L'ID du projet est différent du nom du projet. Le nom du projet est un élément lisible destiné à identifier un projet, mais il n'est utilisé par aucune API Google. Dans l'exemple ci-dessus, le nom du projet est My Sample Project et l'ID du projet est my-sample-project-191923.

L'ID du projet est généré à partir du nom du projet que vous avez saisi lors de la création du projet dans la console Google Cloud Platform. Il existe certains mots qui ne peuvent pas être utilisés dans l'ID du projet. Si vous utilisez ces mots dans le nom du projet, comme google ou ssl, l'ID du projet généré ne les inclura pas. Cela n'affectera pas le nom du projet.

Le numéro du projet et l'ID du projet sont uniques dans Google Cloud Platform. Si un autre utilisateur a déjà choisi un certain ID du projet pour l'un de ses projets, vous ne pourrez pas utiliser ce même ID.

N'incluez aucune information sensible dans votre ID du projet (ou tout autre nom de ressource).

Obtenir un projet existant

Vous pouvez obtenir un projet existant à l'aide de la console GCP ou de la méthode projects.get().

Console

Pour afficher un projet à l'aide de la console Google Cloud Platform :

  1. Accédez à la page Tableau de bord dans la console Google Cloud Platform.

    Accéder à la page "Tableau de bord"

  2. Cliquez sur la liste déroulante Sélectionner située en haut de la page. Sélectionnez votre projet dans la fenêtre Sélectionner qui s'affiche.

gcloud

Pour obtenir les métadonnées propres à un projet, utilisez la commande gcloud projects describe :

gcloud projects describe PROJECT_ID

PROJECT_ID correspond à l'ID du projet que vous voulez afficher.

API

Requête :

GET
https://cloudresourcemanager.googleapis.com/v1beta1/projects/our-project-123

Réponse :

{
    "projectNumber": "464036093014",
    "projectId": "our-project-123",
    "lifecycleState": "ACTIVE",
    "name": "my project",
    "labels": {
        "mylabel": "prod"
    },
    "createTime": "2016-01-07T21:59:43.314Z"
}

PYTHON

...
crm = discovery.build(
    'cloudresourcemanager', 'v1', http=creds.authorize(httplib2.Http()))

project = crm.projects().get(projectId=flags.projectId).execute()

...

Répertorier des projets

Vous pouvez répertorier tous les projets auxquels vous avez accès à l'aide de la console GCP ou de la méthode projects.list().

Console

Pour répertorier les projets à l'aide de la console Google Cloud Platform :

  • Accédez à la console GCP.

    Accéder à la console GCP

  • Tous vos projets sont répertoriés dans la liste déroulante des projets de la barre supérieure. Utilisez la zone de texte Rechercher dans les projets et les dossiers pour filtrer les projets.
  • Pour répertorier tous vos projets, cliquez sur Gérer les ressources. Utilisez la zone de texte Filtrer par nom, ID ou libellé pour filtrer vos projets.

gcloud

Pour répertorier tous les projets accessibles depuis votre compte actif, utilisez la commande gcloud projects list :

gcloud projects list

Cette commande sert à fournir l'ID, le nom et le numéro du projet de chacun des projets pour lequel vous disposez des autorisations associées au rôle de propriétaire, d'éditeur ou de lecteur.

Vous pouvez utiliser l'indicateur --filter pour affiner les résultats. Cet indicateur recherche l'ID, le nom et le numéro du projet et renvoie uniquement les résultats contenant le terme filtré :

gcloud projects list --filter=test

La commande ci-dessus renvoie tous les projets pour lesquels vous disposez des autorisations associées au rôle de propriétaire, d'éditeur ou de lecteur et inclut également le mot "test" dans les champs du nom, de l'ID ou du numéro du projet.

Si vous spécifiez un filtre présentant à la fois les champs parent.type et parent.id, l'autorisation resourcemanager.projects.list est vérifiée sur le parent. Si l'utilisateur dispose de cette autorisation, tous les projets situés sous le parent seront retournés une fois les filtres restants appliqués.

Si l'utilisateur ne dispose pas de cette autorisation, tous les projets pour lesquels l'utilisateur dispose de l'autorisation resourcemanager.projects.get seront renvoyés une fois les filtres restants appliqués.

Si aucun filtre n'est spécifié, l'appel renvoie les projets pour lesquels l'utilisateur dispose d'autorisations resourcemanager.projects.get.

Pour en savoir plus sur la syntaxe du filtre, consultez gcloud topic filters.

API

Vous pouvez inclure des champs dans le corps de votre requête pour renvoyer des ressources de projet spécifiques qui correspondent au filtre et pour lesquelles le rôle Propriétaire, Éditeur ou Lecteur vous a été accordé.

L'extrait de code suivant renvoie la ressource de projet nommée "project a" :

Requête :

GET https://cloudresourcemanager.googleapis.com/v1beta1/projects

{
    "name": "project a"
}

Réponse :

{
    "projects": [
    {
        "projectNumber": "951040570662",
        "projectId": "google.com:api-project-951040570662",
        "lifecycleState": "ACTIVE",
        "name": "project a",
        "createTime": "2013-11-13T20:31:53.308Z"
    }
    ]
}

L'extrait de code suivant renvoie toutes les ressources de projet présentant un libellé "red" (rouge) :

Requête :

GET
https://cloudresourcemanager.googleapis.com/v1beta1/projects

{
    "labels": {
    "color": "red"
    }
}

Réponse :

{
    "projects": [
    {
        "projectNumber": "350831539566",
        "projectId": "my-project-b",
        "lifecycleState": "ACTIVE",
        "name": "project b",
        "labels": {
            "color": "red"
        },
        "createTime": "2012-02-18T23:11:57.831Z"
    }
    ]
}

Si vous spécifiez les champs parent.type et parent.id dans le corps de votre requête, l'autorisation resourcemanager.projects.list est vérifiée sur le parent. Si l'utilisateur dispose de cette autorisation, tous les projets situés sous le parent seront retournés une fois les filtres restants appliqués.

Si l'utilisateur ne dispose pas de cette autorisation, tous les projets pour lesquels l'utilisateur dispose de l'autorisation resourcemanager.projects.get seront renvoyés une fois les filtres restants appliqués.

Si aucun filtre n'est spécifié, l'appel renvoie les projets pour lesquels l'utilisateur dispose d'autorisations resourcemanager.projects.get.

PYTHON

...
crm = discovery.build(
    'cloudresourcemanager', 'v1', http=creds.authorize(httplib2.Http()))

filter = "name:project a"
projects = crm.projects().list(filter=filter).execute()

...

L'extrait de code suivant répertorie tous les projets avec un libellé rouge :

filter = 'labels.color:red'
projects = crm.projects().list(filter=filter).execute()

Mettre à jour des projets

Vous pouvez mettre à jour des projets à l'aide de la console GCP ou de la méthode projects.update(). Actuellement, les seuls champs pouvant être mis à jour sont ceux du nom du projet et des libellés. Vous ne pouvez pas modifier la valeur de l'ID du projet que vous utilisez avec l'outil de ligne de commande gcloud ou les requêtes d'API. Pour plus d'informations sur la mise à jour des projets, consultez la page de référence de l'API du projet.

Console

Pour mettre à jour le champ d'un projet à l'aide de la console GCP :

  • Ouvrez la page Paramètres dans la console Google Cloud Platform.

    Ouvrir la page "Paramètres"

  • En haut de l'écran, cliquez sur la liste déroulante de sélection de projets.
  • Dans la fenêtre Sélectionner à partir de qui apparaît, cliquez sur la liste déroulante des organisations, puis sélectionnez votre organisation.
  • Sélectionnez votre projet dans la liste qui apparaît.
  • Pour changer le nom du projet, modifiez le nom du projet, puis cliquez sur Enregistrer.
  • Pour changer les libellés, cliquez sur Libellés dans le menu de gauche. Cliquez ici pour découvrir comment utiliser des libellés.

gcloud

Pour mettre à jour le nom d'un projet, utilisez la commande gcloud projects update :

gcloud projects update PROJECT_ID --name=NAME

PROJECT_ID correspond à l'ID du projet que vous souhaitez mettre à jour et NAME correspond au nouveau nom que vous souhaitez attribuer au projet.

API

Pour mettre à jour un projet :

  • Obtenez l'objet project à l'aide de la méthode projects.get().
  • Modifiez le champ que vous souhaitez mettre à jour.
  • Mettez à jour l'objet project à l'aide de la méthode projects.update().

L'extrait de code suivant met à jour le nom du projet, qui devient "myproject" :

Requête :

    PUT https://cloudresourcemanager.googleapis.com/v1beta1/projects/my-project-123
    {
        "name": "myproject"
    }

Réponse :

    {
        "projects": [
        {
            "projectNumber": "951040570662",
            "projectId": "my-project-123",
            "lifecycleState": "ACTIVE",
            "name": "myproject",
            "createTime": "2013-11-13T20:31:53.308Z"
        }
        ]
    }

PYTHON

...
crm = discovery.build(
    'cloudresourcemanager', 'v1', http=creds.authorize(httplib2.Http()))

project = crm.projects().get(projectId=flags.projectId).execute()
project['name'] = 'myproject'
project = crm.projects().update(
projectId=flags.projectId, body=project).execute()

...

Arrêter (supprimer) des projets

Vous pouvez arrêter des projets à l'aide de la console GCP ou de la méthode projects.delete().

Cette méthode marque immédiatement un projet à supprimer et envoie un e-mail de notification au propriétaire du projet. Un projet marqué "à supprimer" n'est pas utilisable. Après environ 30 jours, le projet est complètement supprimé. Pour arrêter ce processus pendant la période de 30 jours, consultez les étapes à suivre pour restaurer un projet.

À la fin de cette période de 30 jours, le projet et toutes ses ressources sont supprimés et ne peuvent pas être récupérés. Jusqu'à sa suppression, le projet est pris en compte dans votre quota de projets.

Si vous avez configuré la facturation pour un projet, celui-ci risque de ne pas être complètement supprimé tant que le cycle de facturation en cours n'est pas fini et que votre compte n'est pas débité. Le nombre et les types de services utilisés peuvent également avoir une influence sur le moment où le système supprime définitivement un projet. Pour en savoir plus sur la conservation et la suppression sécurisée des données, consultez la page Comment Google conserve-t-il les données recueillies ?.

Pour arrêter un projet :

  • Le projet ne doit être associé à aucun compte de facturation.
  • Le projet doit avoir un état de cycle de vie ACTIVE.

Console

Pour arrêter un projet à l'aide de la console GCP :

  • Ouvrez la page Paramètres (sous "IAM et administration") dans la console Google Cloud Platform.

    Ouvrir la page "Paramètres"

  • Cliquez sur Sélectionner un projet.

  • Sélectionnez un projet que vous souhaitez supprimer, puis cliquez sur Ouvrir.

  • Cliquez sur Arrêter.

  • Saisissez l'ID du projet et cliquez sur Arrêter.

gcloud

Pour supprimer un projet, utilisez la commande gcloud projects delete :

gcloud projects delete PROJECT_ID

PROJECT_ID correspond à l'ID du projet que vous souhaitez supprimer.

API

L'extrait de code suivant supprime le projet spécifié :

Requête :

DELETE
https://cloudresourcemanager.googleapis.com/v1beta1/projects/my-project-123

PYTHON

...
crm = discovery.build(
    'cloudresourcemanager', 'v1', http=creds.authorize(httplib2.Http()))

project = crm.projects().delete(projectId=flags.projectId).execute()

...

Restaurer un projet

Les propriétaires de projets peuvent restaurer un projet supprimé tout au long de la période de récupération de 30 jours, qui commence à l'arrêt du projet. Si vous restaurez un projet, il retournera à l'état dans lequel il se trouvait avant son arrêt. Les ressources Cloud Storage sont supprimées avant la fin de la période de 30 jours et peuvent ne pas être entièrement récupérables.

Certains services peuvent avoir besoin d'être redémarrés manuellement. Pour plus d'informations, consultez la page Redémarrer les services Google Cloud Platform.

Pour restaurer un projet :

  1. Accédez à la page Gérer les ressources de la console Google Cloud Platform.

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

  2. Dans la liste déroulante Organisations en haut à gauche, sélectionnez votre organisation.

  3. Sous la liste des projets, cliquez sur Ressources en attente de suppression.

  4. Cochez la case correspondant au projet que vous souhaitez restaurer, puis cliquez sur Restaurer. Dans la boîte de dialogue qui apparaît, confirmez que vous souhaitez restaurer le projet.

Cette page vous a-t-elle été utile ? Évaluez-la :

Envoyer des commentaires concernant…

Documentation relative à Resource Manager