Gérer l'activation des services

L'activation hiérarchique des services vous permet de gérer l'activation des services héritée de la hiérarchie des ressources Google Cloud . Pour en savoir plus, consultez la présentation.

Ce document explique comment utiliser la Google Cloud CLI pour gérer l'activation des services pour les projets, les dossiers et les organisations.

Avant de commencer

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. Install the Google Cloud CLI.

  3. Si vous utilisez un fournisseur d'identité (IdP) externe, vous devez d'abord vous connecter à la gcloud CLI avec votre identité fédérée.

  4. Pour initialiser la gcloud CLI, exécutez la commande suivante :

    gcloud init
  5. Create or select a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.
    • Create a Google Cloud project:

      gcloud projects create PROJECT_ID

      Replace PROJECT_ID with a name for the Google Cloud project you are creating.

    • Select the Google Cloud project that you created:

      gcloud config set project PROJECT_ID

      Replace PROJECT_ID with your Google Cloud project name.

  6. Si vous utilisez un projet existant pour ce guide, vérifiez que vous disposez des autorisations nécessaires pour suivre les instructions. Si vous avez créé un projet, vous disposez déjà des autorisations requises.

  7. Verify that billing is enabled for your Google Cloud project.

  8. Enable the Service Usage API:

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    gcloud services enable serviceusage.googleapis.com
  9. Install the Google Cloud CLI.

  10. Si vous utilisez un fournisseur d'identité (IdP) externe, vous devez d'abord vous connecter à la gcloud CLI avec votre identité fédérée.

  11. Pour initialiser la gcloud CLI, exécutez la commande suivante :

    gcloud init
  12. Create or select a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.
    • Create a Google Cloud project:

      gcloud projects create PROJECT_ID

      Replace PROJECT_ID with a name for the Google Cloud project you are creating.

    • Select the Google Cloud project that you created:

      gcloud config set project PROJECT_ID

      Replace PROJECT_ID with your Google Cloud project name.

  13. Si vous utilisez un projet existant pour ce guide, vérifiez que vous disposez des autorisations nécessaires pour suivre les instructions. Si vous avez créé un projet, vous disposez déjà des autorisations requises.

  14. Verify that billing is enabled for your Google Cloud project.

  15. Enable the Service Usage API:

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    gcloud services enable serviceusage.googleapis.com
  16. Si vous n'indiquez pas la ressource Google Cloud que vous souhaitez gérer, les commandes de ce document sont définies par défaut sur le projet actuel. Par exemple, gcloud beta services list --enabled renvoie la liste des services activés pour le projet en cours.

    Vous pouvez récupérer l'ID du projet actuel :

    gcloud config list --format='text(core.project)'
  17. Rôles requis

    Pour obtenir les autorisations nécessaires pour gérer l'activation des services, demandez à votre administrateur de vous accorder le rôle IAM Administrateur Service Usage (roles/serviceusage.serviceUsageAdmin) sur votre ressource cible. Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.

    Ce rôle prédéfini contient les autorisations requises pour gérer l'activation des services. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :

    Autorisations requises

    Les autorisations suivantes sont requises pour gérer l'activation des services :

    • Répertorier les services :
      • serviceusage.effectivepolicy.get
      • serviceusage.services.list
      • serviceusage.services.get
    • Activez les services suivants :
      • serviceusage.consumerpolicy.get
      • serviceusage.consumerpolicy.update
      • serviceusage.groups.listExpandedMembers
    • Désactiver les services :
      • serviceusage.consumerpolicy.get
      • serviceusage.consumerpolicy.update
      • serviceusage.consumerpolicy.analyze

    Vous pouvez également obtenir ces autorisations avec des rôles personnalisés ou d'autres rôles prédéfinis.

    Répertorier les services

    Vous pouvez lister les API et services Google activés ou disponibles pour un projet, un dossier ou une organisation à l'aide de la commande gcloud beta services list.

    L'activation et la disponibilité des services peuvent être héritées des ancêtres des ressources. Les services activés d'une ressource incluent les services activés sur la ressource elle-même et sur tous les ancêtres de la ressource.

    Projet

    gcloud beta services list --enabled \
        --project=PROJECT_ID
    

    Remplacez PROJECT_ID par votre Google Cloud ID de projet. Vous pouvez également omettre l'indicateur pour utiliser le projet actuel par défaut.

    Dossier

    gcloud beta services list --enabled \
        --folder=FOLDER_ID
    

    Remplacez FOLDER_ID par l'ID de votre dossier.Google Cloud

    Organisation

    gcloud beta services list --enabled \
        --organization=ORGANIZATION_ID
    

    Remplacez ORGANIZATION_ID par l'ID de votre ressource d'organisation.Google Cloud

    Veuillez noter les points suivants :

    • Vous devez spécifier l'un des indicateurs suivants :

      • --available pour lister les services qui peuvent être activés pour la consommation.
      • --enabled pour lister les services activés pour la consommation.
    • Vous pouvez utiliser d'autres options pour filtrer et limiter les services listés.

    Activer les services

    Vous pouvez activer un ou plusieurs services pour un projet, un dossier ou une organisation à l'aide de la commande gcloud beta services enable.

    Cette commande met à jour le ConsumerPolicy au niveau de la ressource cible. Pour en savoir plus, consultez Gérer les règles pour les consommateurs.

    Projet

    gcloud beta services enable SERVICE \
        --project=PROJECT_ID
    

    Remplacez les éléments suivants :

    • SERVICE : nom du service que vous souhaitez activer. Pour activer plusieurs services, utilisez des noms de services séparés par des espaces. Par exemple, la commande suivante active les services de clés API et BigQuery : gcloud beta services enable apikeys.googleapis.com bigquery.googleapis.com.
    • PROJECT_ID : Google Cloud ID de votre projet. Vous pouvez également omettre l'indicateur pour utiliser le projet actuel par défaut.

    Dossier

    gcloud beta services enable SERVICE \
        --folder=FOLDER_ID
    

    Remplacez les éléments suivants :

    • SERVICE : nom du service que vous souhaitez activer. Pour activer plusieurs services, utilisez des noms de service séparés par des espaces, par exemple gcloud beta services enable apikeys.googleapis.com bigquery.googleapis.com.
    • FOLDER_ID : l'Google Cloud ID de votre dossier.

    Organisation

    gcloud beta services enable SERVICE \
        --organization=ORGANIZATION_ID
    

    Remplacez les éléments suivants :

    • SERVICE : nom du service que vous souhaitez activer. Pour activer plusieurs services, utilisez des noms de service séparés par des espaces, par exemple gcloud beta services enable apikeys.googleapis.com bigquery.googleapis.com.
    • ORGANIZATION_ID : Google Cloud ID de ressource de votre organisation.

    Indicateurs compatibles :

    • --async pour renvoyer immédiatement une réponse, sans attendre la fin de l'opération en cours.

    • --skip-dependency pour ignorer l'activation des dépendances de service. Sinon, toutes les dépendances de service sont activées par défaut.

      Vous pouvez inspecter les dépendances de service. Pour en savoir plus, consultez Lister les dépendances de service.

    • --validate-only pour valider l'activation sans effectuer réellement l'opération.

    Veuillez noter les points suivants :

    • Si vous essayez d'activer un service déjà activé, vous recevrez un message d'erreur indiquant que le service est déjà activé et présent dans la règle du consommateur. (Si le service est déjà activé, mais que ses dépendances ne le sont pas, la commande réussira.)

    • Si vous activez un service au niveau du dossier ou de l'organisation, la contrainte de règle d'administration constraints/serviceuser.services risque de ne pas fonctionner comme prévu. Nous vous recommandons plutôt d'utiliser la contrainte "Restreindre l'utilisation des services de ressources". Pour en savoir plus, consultez Restreindre l'utilisation des ressources.

    • Google Cloud crée et gère des comptes de service pour de nombreux servicesGoogle Cloud . Ces comptes de service sont parfois appelés agents de service. Si vous rencontrez une erreur service account not found, vous devrez peut-être créer un agent de service à l'aide de la commande gcloud beta services identity create.

    Désactiver des services

    Vous pouvez désactiver un ou plusieurs services pour un projet, un dossier ou une organisation à l'aide de la commande gcloud beta services disable.

    Cette commande met à jour le ConsumerPolicy au niveau de la ressource cible. Pour en savoir plus, consultez Gérer les règles pour les consommateurs.

    Projet

    gcloud beta services disable SERVICE \
        --project=PROJECT_ID
    

    Remplacez les éléments suivants :

    • SERVICE : nom du service que vous souhaitez désactiver. Pour désactiver plusieurs services, utilisez des noms de service séparés par des espaces (par exemple, gcloud beta services disable apikeys.googleapis.com bigquery.googleapis.com).
    • PROJECT_ID : Google Cloud ID de votre projet. Vous pouvez également omettre l'indicateur pour utiliser le projet actuel par défaut.

    Dossier

    gcloud beta services disable SERVICE \
        --folder=FOLDER_ID
    

    Remplacez les éléments suivants :

    • SERVICE : nom du service que vous souhaitez désactiver. Pour désactiver plusieurs services, utilisez des noms de service séparés par des espaces (par exemple, gcloud beta services disable apikeys.googleapis.com bigquery.googleapis.com).
    • FOLDER_ID : l'Google Cloud ID de votre dossier.

    Organisation

    gcloud beta services disable SERVICE \
        --organization=ORGANIZATION_ID
    

    Remplacez les éléments suivants :

    • SERVICE : nom du service que vous souhaitez désactiver. Pour désactiver plusieurs services, utilisez des noms de service séparés par des espaces (par exemple, gcloud beta services disable apikeys.googleapis.com bigquery.googleapis.com).
    • ORGANIZATION_ID : Google Cloud ID de ressource de votre organisation.

    Indicateurs compatibles :

    • --async pour renvoyer immédiatement une réponse, sans attendre la fin de l'opération en cours.

    • --bypass-api-usage-check pour contourner les vérifications d'utilisation. Sinon, le système renvoie une erreur si le service que vous souhaitez désactiver a été utilisé au cours des 30 derniers jours ou activé au cours des trois derniers jours.

    • Vous pouvez spécifier l'un des indicateurs suivants :

      • --bypass-dependency-service-check pour ignorer la vérification des dépendances. Tous les services activés qui dépendent du service que vous désactivez restent activés.
      • --disable-dependency-services pour désactiver le service et tous les services activés qui en dépendent.

      Vous pouvez inspecter les dépendances de service. Pour en savoir plus, consultez Lister les dépendances de service.

    • --force pour continuer même si des services activés dépendent du service, ou si le service a été utilisé au cours des 30 derniers jours ou activé au cours des trois derniers jours. Tous les services dépendants sont également désactivés.

      Les options --bypass-api-usage-check, --bypass-dependency-service-check et --disable-dependency-services sont toutes prioritaires sur l'option --force.

      Utiliser à la fois les options --disable-dependency-services et --bypass-api-usage-check équivaut à utiliser l'option --force. Le service et ses dépendances sont désactivés sans vérification de leur utilisation.

    • --validate-only pour valider la désactivation sans effectuer réellement l'opération.

    Exemples

    Activer un service

    • Activer le service BigQuery sans ses dépendances :
      gcloud beta services enable bigquery.googleapis.com --skip-dependency

      Résultat :

      Operation [operations/ucpat.p39-581601899707-73a57d57-aa46-4d0b-a5ee-57034a42f2b3] complete. Result: {
            "@type":"type.googleapis.com/google.api.serviceusage.with Hierarchical Service Activationbeta.ConsumerPolicy",
            "createTime":"2025-01-31T20:17:37.272343Z",
            "enableRules":[
                {
                    "services":[
                        "services/apikeys.googleapis.com",
                        "services/compute.googleapis.com",
                        "services/oslogin.googleapis.com",
                        "services/serviceusage.googleapis.com",
                        "services/bigquery.googleapis.com"
                    ]
                }
            ],
            "etag":"W/\"W9nsVJK0V1m7ee7tM7pFDg==\"",
            "name":"projects/PROJECT_ID/consumerPolicies/default",
            "updateTime":"2025-09-11T23:05:22.758394Z"
        }
    • Activer le service BigQuery avec ses dépendances :
      gcloud beta services enable bigquery.googleapis.com

      Résultat :

      Operation [operations/ucpat.p39-581601899707-73192b0f-053c-46ee-911a-7eca6b8fe899] complete. Result: {
            "@type":"type.googleapis.com/google.api.serviceusage.with Hierarchical Service Activationbeta.ConsumerPolicy",
            "createTime":"2025-01-31T20:17:37.272343Z",
            "enableRules":[
                {
                    "services":[
                        "services/apikeys.googleapis.com",
                        "services/compute.googleapis.com",
                        "services/oslogin.googleapis.com",
                        "services/serviceusage.googleapis.com",
                        "services/cloudresourcemanager.googleapis.com",
                        "services/dataplex.googleapis.com",
                        "services/bigquery.googleapis.com",
                        "services/bigquerystorage.googleapis.com",
                        "services/bigqueryconnection.googleapis.com",
                        "services/analyticshub.googleapis.com",
                        "services/bigquerymigration.googleapis.com",
                        "services/dataform.googleapis.com",
                        "services/bigquerydatapolicy.googleapis.com",
                        "services/bigquerydatatransfer.googleapis.com",
                        "services/bigqueryreservation.googleapis.com"
                    ]
                }
            ],
            "etag":"W/\"FDXMAIdsBW7BrXjL7oP6FA==\"",
            "name":"projects/PROJECT_ID/consumerPolicies/default",
            "updateTime":"2025-09-12T19:44:23.675769Z"
        }

    Désactiver un service

    • Tentative de désactivation du service BigQuery avec des dépendances actives :
      gcloud beta services disable bigquery.googleapis.com

      Message d'erreur :

      ERROR: (gcloud.beta.services.disable) The services are depended on by the following active service(s) {"bigquery.googleapis.com": ["services/bigquerystorage.googleapis.com"]} . Please remove the active dependent services or provide the --disable-dependency-services flag to disable them, or --bypass-dependency-service-check to ignore this check.
    • Tentative de désactivation du service BigQuery avec une utilisation récente :
      gcloud beta services disable bigquery.googleapis.com --disable-dependency-services

      Message d'erreur :

      ERROR: (gcloud.beta.services.disable) The operation "operations/ucpat.p39-581601899707-d35c2e2b-d2a3-47af-a1c0-033ed65df236" resulted in a failure "The services bigquery.googleapis.com,bigquerystorage.googleapis.com have usage in the last 30 days or were enabled in the past 3 days. Please specify force if you want to proceed with the destructive policy change.
    • Désactivation du service BigQuery et de ses dépendances, et contournement de la vérification de l'utilisation :
      gcloud beta services disable bigquery.googleapis.com --disable-dependency-services --bypass-api-usage-check

      Résultat :

      Operation [operations/ucpat.p39-581601899707-5c02aa04-7ad7-4eb6-a6a1-dc68653bcdb4] complete. Result: {
          "@type":"type.googleapis.com/google.api.serviceusage.v2beta.ConsumerPolicy",
          "createTime":"2025-01-31T20:17:37.272343Z",
          "enableRules":[
              {
                  "services":[
                      "services/analyticshub.googleapis.com",
                      "services/apikeys.googleapis.com",
                      "services/bigqueryconnection.googleapis.com",
                      "services/bigquerydatapolicy.googleapis.com",
                      "services/bigquerydatatransfer.googleapis.com",
                      "services/bigquerymigration.googleapis.com",
                      "services/bigqueryreservation.googleapis.com",
                      "services/cloudresourcemanager.googleapis.com",
                      "services/compute.googleapis.com",
                      "services/dataform.googleapis.com",
                      "services/dataplex.googleapis.com",
                      "services/oslogin.googleapis.com",
                      "services/serviceusage.googleapis.com"
                  ]
              }
          ],
          "etag":"W/\"TqbPaELDHlZQOj7As1P06g==\"",
          "name":"projects/PROJECT_ID/consumerPolicies/default",
          "updateTime":"2025-09-30T21:39:40.746125Z"
      }

    Étapes suivantes