Répertorier les dépendances de service

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

De nombreux services Google Cloud ont besoin d'autres services pour fonctionner. Lorsque vous activez un service à l'aide de l'activation hiérarchique des services, ses dépendances requises sont automatiquement ajoutées à ConsumerPolicy. Un groupe de dépendances de service contient ces services dépendants, que vous pouvez lister pour mieux les comprendre et les gérer.

Ce document explique comment utiliser la Google Cloud CLI pour lister les dépendances de service pour les projets, les dossiers et les organisations.

Avant de commencer

  1. Connectez-vous à votre compte Google Cloud . Si vous débutez sur Google Cloud, créez un compte pour évaluer les performances de nos produits en conditions réelles. Les nouveaux clients bénéficient également de 300 $ de crédits sans frais pour exécuter, tester et déployer des charges de travail.
  2. Installez la 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. Créez ou sélectionnez un projet Google Cloud .

    Rôles requis pour sélectionner ou créer un projet

    • Sélectionner un projet : la sélection d'un projet ne nécessite pas de rôle IAM spécifique. Vous pouvez sélectionner n'importe quel projet pour lequel un rôle vous a été attribué.
    • Créer un projet : pour créer un projet, vous devez disposer du rôle "Créateur de projet" (roles/resourcemanager.projectCreator), qui contient l'autorisation resourcemanager.projects.create. Découvrez comment attribuer des rôles.
    • Créez un projet Google Cloud  :

      gcloud projects create PROJECT_ID

      Remplacez PROJECT_ID par le nom du projet Google Cloud que vous créez.

    • Sélectionnez le projet Google Cloud que vous avez créé :

      gcloud config set project PROJECT_ID

      Remplacez PROJECT_ID par le nom de votre projet Google Cloud .

  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. Installez la Google Cloud CLI.

  8. 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.

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

    gcloud init
  10. Créez ou sélectionnez un projet Google Cloud .

    Rôles requis pour sélectionner ou créer un projet

    • Sélectionner un projet : la sélection d'un projet ne nécessite pas de rôle IAM spécifique. Vous pouvez sélectionner n'importe quel projet pour lequel un rôle vous a été attribué.
    • Créer un projet : pour créer un projet, vous devez disposer du rôle "Créateur de projet" (roles/resourcemanager.projectCreator), qui contient l'autorisation resourcemanager.projects.create. Découvrez comment attribuer des rôles.
    • Créez un projet Google Cloud  :

      gcloud projects create PROJECT_ID

      Remplacez PROJECT_ID par le nom du projet Google Cloud que vous créez.

    • Sélectionnez le projet Google Cloud que vous avez créé :

      gcloud config set project PROJECT_ID

      Remplacez PROJECT_ID par le nom de votre projet Google Cloud .

  11. 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.

  12. Si vous n'indiquez pas la ressource Google Cloud que vous souhaitez gérer, les commandes de ce document s'appliquent par défaut au projet actuel. Par exemple, gcloud beta services groups list-members bigquery.googleapis.com dependencies liste les membres du projet actuel.

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

    gcloud config list --format='text(core.project)'

Rôles requis

Pour obtenir les autorisations nécessaires pour lister les dépendances de service, demandez à votre administrateur de vous accorder le rôle IAM Lecteur Service Usage (roles/serviceusage.serviceUsageViewer) 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 lister les dépendances de service. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :

Autorisations requises

Les autorisations suivantes sont requises pour lister les dépendances de service :

  • Répertoriez les membres du groupe de dépendances : serviceusage.groups.listMembers
  • Répertoriez les membres du groupe de dépendances développé : serviceusage.groups.listExpandedMembers

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

Lister les membres d'un groupe de dépendances

Vous pouvez lister les membres directs d'un groupe de dépendances de service pour un projet, un dossier ou une organisation à l'aide de la commande gcloud beta services groups list-members :

gcloud beta services groups list-members SERVICE GROUP \
    --RESOURCE_TYPE=RESOURCE_ID

Remplacez les éléments suivants :

  • SERVICE : nom du service pour lequel vous souhaitez lister les membres.

  • GROUP : nom du groupe de dépendances de service dont vous souhaitez lister les membres. Le groupe principal accepté est dependencies.

  • RESOURCE_TYPE : type de la ressource pour laquelle vous souhaitez lister les membres. Les valeurs valides sont project, folder et organization. Vous pouvez omettre complètement cette option pour renvoyer les résultats du projet actuel.

  • RESOURCE_ID : ID du projet, ID du dossier ou ID d'organisation, selon la valeur que vous avez utilisée pour RESOURCE_TYPE.

Vous pouvez utiliser d'autres options pour filtrer et limiter les membres listés.

Lister les membres du groupe de dépendances développé

Vous pouvez lister les membres développés d'un groupe de dépendances de services pour un projet, un dossier ou une organisation à l'aide de la commande gcloud beta services groups list-expanded-members.

Cette commande renvoie une liste aplatie de toutes les dépendances, y compris celles des groupes imbriqués, afin de fournir une liste complète et combinée de toutes les dépendances de service.

gcloud beta services groups list-expanded-members SERVICE GROUP \
    --RESOURCE_TYPE=RESOURCE_ID

Remplacez les éléments suivants :

  • SERVICE : nom du service pour lequel vous souhaitez lister les membres.

  • GROUP : nom du groupe de dépendances de service dont vous souhaitez lister les membres. Le groupe principal accepté est dependencies.

  • RESOURCE_TYPE : type de la ressource pour laquelle vous souhaitez lister les membres. Les valeurs valides sont project, folder et organization. Vous pouvez omettre complètement cette option pour renvoyer les résultats du projet actuel.

  • RESOURCE_ID : ID du projet, ID du dossier ou ID d'organisation, selon la valeur que vous avez utilisée pour RESOURCE_TYPE.

Vous pouvez utiliser d'autres options pour filtrer et limiter les membres listés.

Exemples

Répertorier les membres d'un groupe de dépendances directes

  • Liste des dépendances directes du service BigQuery pour le projet actuel :
    gcloud beta services groups list-members bigquery.googleapis.com dependencies

    Résultat :

    NAME: services/analyticshub.googleapis.com
    REASON: BigQuery depends on this group to allow users to exchange data and analytics assets.
    
    NAME: services/bigquery.googleapis.com
    REASON: The service representing BigQuery which owns this dependency group and depends on the other members of this group.
    
    NAME: services/bigqueryconnection.googleapis.com
    REASON: BigQuery depends on this group to allow users to manage connections to external data sources.
    
    NAME: services/bigquerydatapolicy.googleapis.com
    REASON: BigQuery depends on this group to allow users to manage their data policies.
    
    ...
  • Tentative de lister les dépendances du service de clés API sans groupe de dépendances de service correspondant :
    gcloud beta services groups list-members apikeys.googleapis.com dependencies --project=test-project

    Résultat :

    Listed 0 items.

Liste des membres du groupe de dépendances développé

  • Liste des dépendances étendues du service BigQuery pour le projet actuel :
    gcloud beta services groups list-expanded-members bigquery.googleapis.com dependencies

    Résultat :

    services/analyticshub.googleapis.com
    services/bigquery.googleapis.com
    services/bigqueryconnection.googleapis.com
    services/bigquerydatapolicy.googleapis.com
    services/bigquerydatatransfer.googleapis.com
    services/bigquerymigration.googleapis.com
    services/bigqueryreservation.googleapis.com
    services/bigquerystorage.googleapis.com
    services/cloudresourcemanager.googleapis.com
    services/dataform.googleapis.com
    services/dataplex.googleapis.com

Étapes suivantes