Outil de recommandation de projets sans surveillance

L'outil de recommandation de projets sans surveillance analyse l'activité des projets de votre organisation, et fournit des recommandations pour vous aider à détecter, récupérer ou supprimer les projets sans surveillance.

Présentation

Dans les organisations en constante évolution, il n'est pas rare que des ressources cloud, y compris des projets entiers, soient oubliées de temps en temps. Ces ressources sans surveillance peuvent être difficiles à identifier et ont tendance à entraîner des gaspillages et des risques de sécurité inutiles.

L'outil de recommandation de projets dormants analyse l'activité de tous les projets de votre organisation et vous fournit les fonctionnalités suivantes pour vous aider à détecter, récupérer et arrêter des projets dormants :

  • Insights d'utilisation pour chaque projet (mise en réseau, API, propriétaire de projet, activité de service, etc.).
  • Recommandations pour désactiver les projets présentant une faible activité d'utilisation.
  • Recommandations pour attribuer un nouveau propriétaire aux projets présentant une activité élevée, mais pas de propriétaire actif.

L'arrêt ou la récupération de projets dormants peut offrir les impacts et avantages suivants à votre organisation :

  • Réduction des risques de sécurité (SECURITY)
  • Réduction des dépenses inutiles (COST)
  • Réduction de l'empreinte carbone associée à vos charges de travail (SUSTAINABILITY)

Fonctionnement

L'outil de recommandation de projets sans surveillance analyse l'utilisation du projet au cours des 30 derniers jours. Le tableau suivant répertorie les recommandations et les insights que l'outil de recommandation de projets sans surveillance peut générer, selon que l'activité d'utilisation est faible ou élevée.

Type/Utilisation du projet Sous-type d'insight Recommandation Sous-type de recommandation
Caractéristiques des projets :
  • Faible utilisation au cours des 30 derniers jours
PROJECT_ACTIVITY Examinez ou supprimez le projet. CLEANUP_PROJECT
Caractéristiques des projets :
  • Utilisation élevée au cours des 30 derniers jours
  • Propriétaires d'utilisateurs attribués, mais aucun d'entre eux n'est actif sur le projet.
PROJECT_ACTIVITY Récupérez le projet en attribuant un nouveau propriétaire. RECLAIM_PROJECT
Tous les autres projets non-Apps Script. PROJECT_ACTIVITY - -

Les recommandations et les insights sont disponibles à différents niveaux de la hiérarchie de votre organisation Cloud. Pour accéder à ces recommandations et insights, une liaison de rôle IAM au niveau correspondant est nécessaire :

  • Au niveau du projet : les propriétaires de projet peuvent découvrir les insights et recommandations concernant les projets auxquels ils ont accès, et agir en conséquence.
  • Au niveau de l'organisation : les administrateurs de l'organisation peuvent découvrir les insights et les recommandations relatifs aux projets d'une organisation cloud, et agir en conséquence.
  • Au niveau du compte de facturation : les administrateurs de facturation peuvent découvrir les insights et les recommandations relatifs aux projets associés à un compte de facturation donné, et agir en conséquence.

Classement des activités d'utilisation d'un projet

Un projet peut être classé avec une utilisation faible ou élevée, en fonction des recommandations fournies. Le classement de l'activité d'utilisation d'un projet est calculé en fonction du contenu inclus dans les statistiques d'utilisation du projet.

Pour les projets identifiés comme ayant une activité d'utilisation faible, les conditions suivantes s'appliquent :

Classification de l'utilisation Condition
Organisations possédant plus de 50 projets
  • Un projet est classé en fonction du niveau d'activité sur l'ensemble du contenu inclus dans les informations sur l'utilisation du projet.
  • Un projet est classé comme sans surveillance s'il se situe dans 10 % de l'activité d'utilisation par rapport à tous les autres projets de cette organisation.
Organisations ayant moins de 50 projets
  • La moyenne quotidienne des appels d'API consommés par un projet (consumedApiDailyCount) est inférieure à 100.
  • Cloud Logging est le seul service utilisé par un projet.
  • Toutes les autres statistiques d'utilisation du projet ont une valeur égale à zéro.

Priorité des recommandations et impacts

Les recommandations de projet dormants contiennent les champs suivants qui vous aideront à hiérarchiser et à estimer les avantages de leur application:

  • priority : valeur de priorité comprise entre P1 et P4, P1 étant la priorité la plus élevée.
  • primaryImpact - SECURITY. Nombre de recommandations de sécurité à priorité élevée dans un projet dormant.
  • additionalImpact(s) - COST et SUSTAINABILITY. Coût ($) et réduction des émissions durables (kgCO2e) qui seraient réalisés si le projet était supprimé.

Priorité des recommandations

La priorité de la recommandation de projet dormant varie de P1 à P4, P1 étant la priorité la plus élevée.

L'outil de recommandation commence par examiner les recommandations de sécurité dans chaque projet dormant. De là, elle définit la priorité de la recommandation de projet dormant au même niveau que celle de la recommandation de priorité la plus élevée trouvée dans le projet. Par exemple, si un projet dormant comporte 10 recommandations de sécurité, huit recommandations P2 et deux recommandations P1, la recommandation du projet dormant se voit attribuer la valeur de priorité P1.

Les recommandations de sécurité les plus fréquentes trouvées dans les projets dormants proviennent de l'outil de recommandation IAM. Une recommandation de projet dormant dont la priorité est P1 signifie probablement qu'il existe un bucket Cloud Storage accessible au public dans le projet dormant (en savoir plus sur la manière dont l'outil de recommandation IAM définit les priorités).

Impact sur la sécurité

Le champ primaryImpact - SECURITY propose une valeur securityProjection égale au nombre de recommandations de sécurité à priorité élevée (P2 et supérieur) dans le projet dormant. Par exemple, lorsqu'un projet contient une recommandation visant à remplacer le rôle général d'éditeur par un rôle plus précis, cette recommandation a une priorité P2 et est comptabilisée dans priorityRecommendationCount.

Impact sur les coûts

Le champ additionalImpact - COST présente costProjection qui est une estimation des économies réalisées si le projet dormant a été supprimé. Cela est basé sur les coûts engendrés par les ressources exécutées dans le projet dormant au cours des 30 derniers jours.

Impact sur le développement durable

Le champ additionalImpact - SUSTAINABILITY propose sustainabilityProjection qui est une estimation du volume des émissions de carbone par les ressources exécutées pour le projet dormant au cours des 30 derniers jours. L'estimation est exprimée en kilogrammes d'équivalent en dioxyde de carbone (kgCO2e).

Contenu des insights sur l'utilisation d'un projet

Le contenu des insights sur l'utilisation d'un projet est constitué de valeurs de champs permettant de classer l'activité d'utilisation du projet et de générer des recommandations CLEANUP_PROJECT et/ou RECLAIM_PROJECT.

Le tableau suivant répertorie les différents champs que l'outil de recommandation affiche dans le cadre de l'insight PROJECT_ACTIVITY :

Champ Description
Niveau d'utilisation
usagePercentile Centile du niveau d'utilisation de ce projet par rapport aux autres projets de la même organisation.

Si le centile est -1, cela signifie que la valeur n'est pas calculée. La valeur n'est pas calculée lorsque les organisations possèdent moins de 50 projets.

Activité des API
activeServiceAccountDailyCount Moyenne quotidienne des comptes de service avec une activité d'authentification pour ce projet.
apiClientDailyCount Moyenne quotidienne de clients distincts des appels d'API générés par ce projet.
consumedApiDailyCount Moyenne quotidienne des appels d'API consommés par ce projet.
datastoreApiDailyCount Moyenne quotidienne des appels de l'API Datastore consommés par ce projet
Activité de mise en réseau
vpcEgressDailyBytes Moyenne quotidienne des octets de sortie VPC de ce projet.
vpcIngressDailyBytes Moyenne quotidienne des octets d'entrée VPC dans ce projet
Données d'utilisation pour la facturation
hasBillingAccount Vérifier si le projet dispose d'un compte de facturation à la fin de l'observation
serviceWithBillableUsage Noms des services facturables utilisés au cours des 30 derniers jours.
Utilisation des services cloud
activeAppengineInstanceDailyCount : system/instance_count Moyenne quotidienne du nombre d'instances App Engine actives dans le projet
activeCloudsqlInstanceDailyCount Moyenne quotidienne du nombre d'instances Cloud SQL actives dans le projet.
activeGceInstanceDailyCount Moyenne quotidienne du nombre d'instances Compute Engine actives dans le projet.
bigqueryInflightJobDailyCount Moyenne quotidienne des tâches BigQuery en cours dans le projet.
bigqueryInflightQueryDailyCount Moyenne quotidienne du nombre de requêtes BigQuery en cours dans le projet.
bigqueryStorageDailyBytes Moyenne quotidienne d'espace de stockage BigQuery en cours de transfert dans ce projet.
bigqueryTableDailyCount Moyenne quotidienne du nombre de tables BigQuery dans ce projet.
gcsObjectDailyCount Moyenne quotidienne du nombre d'objets Cloud Storage dans le projet.
gcsRequestDailyCount Moyenne quotidienne de nombre d'API Cloud Storage dans le projet.
gcsStorageDailyBytes Moyenne quotidienne des octets de stockage utilisés par Cloud Storage dans le projet.
Activité des utilisateurs
numActiveUserOwners Nombre de propriétaires de projets de type "utilisateur actif" à la fin de la période d'observation. "Actif" signifie que le compte utilisateur n'est pas désactivé et qu'une activité a été identifiée dans ce projet au cours de la période d'observation.
owners Liste des propriétaires du projet et de leurs activités
Autres champs
hasActiveOauthTokens Vérifie si le projet dispose de jetons OAuth actifs utilisés au cours des 180 derniers jours.
carbonFootprintDailyKgCO2 Moyenne quotidienne des émissions de carbone générées par ce projet sur la base des données collectées au cours des 30 derniers jours.
costProjection Estimation des économies réalisées pendant la durée spécifiée si le projet devait être supprimé. Un prix personnalisé ou un prix catalogue s'affiche en fonction des autorisations du compte de facturation. Il s'agit d'une estimation basée sur les 30 derniers jours de données disponibles et cette estimation ne constitue pas une facture.
severity Le champ severity est défini sur la valeur correspondante de l'insight de sécurité au niveau de gravité le plus élevé détecté dans le projet. Par exemple, en fonction de la manière dont l'outil de recommandation IAM définit les niveaux de sévérité pour ses insights, un niveau de sévéritéCRITICAL sur les insights du projet dormant signifie qu'il existe probablement un bucket Cloud Storage accessible publiquement dans le projet dormant.

Recommandations pour supprimer un projet

Il est recommandé de supprimer un projet s'il a été peu utilisé au cours des 30 derniers jours et si aucun jeton OAuth n'a été utilisé au cours des 180 derniers jours.

Recommandations pour attribuer un nouveau propriétaire à un projet

Il est recommandé d'attribuer un nouveau propriétaire à un projet lorsque celui-ci remplit toutes les conditions répertoriées ci-dessous :

  • Tous les propriétaires attribués sont inactifs sur le projet au cours des 90 derniers jours ou ne font plus partie de l'entreprise.
  • Le projet présente une activité élevée.

Tarifs

Pour en savoir plus sur les tarifs d'Active Assist, consultez la section sur les tarifs de l'outil de recommandation.

Avant de commencer

Avant de pouvoir afficher les insights et les recommandations, vous devez effectuer les opérations suivantes :

  • Vous devez activer l'API Recommender. Vous n'avez besoin d'activer l'API que sur un seul projet de facturation. Vous pouvez ensuite utiliser ce même projet de facturation pour examiner des recommandations et des insights pour d'autres projets, pour l'ensemble de l'organisation ou pour le compte de facturation, à l'aide de la fonctionnalité --billing-project de gcloud/API.
  • Assurez-vous que l'un des rôles requis est attribué :
Description Rôles
Afficher les recommandations recommender.projectUtilViewer
Afficher et mettre à jour les recommandations recommender.projectUtilAdmin
Désactiver les insights et les recommandations dans le Centre de contrôle et de transparence dataprocessing.admin

Ces rôles fournissent un ensemble d'autorisations permettant d'accéder aux insights et aux recommandations. Pour plus d'informations sur les rôles, consultez les sections Comprendre les rôles et Accorder des autorisations IAM.

L'attribution de ces rôles au niveau de l'organisation vous permet d'accéder aux recommandations et aux insights des projets de l'organisation de manière individuelle ou collective (tous les projets dormants de l'organisation) à l'aide de l'API au niveau de l'organisation.

L'attribution de ces rôles au niveau du compte de facturation vous permet d'accéder aux recommandations et aux insights des projets utilisant le compte de facturation spécifié.

Pour en savoir plus sur la désactivation, consultez la section Désactiver les insights et les recommandations.

ID de l'outil de recommandation

Voici les ID de l'outil de recommandation de projets sans surveillance et de type d'insights :

  • google.resourcemanager.projectUtilization.Recommender
  • google.resourcemanager.projectUtilization.Insight

Autorisations IAM requises

Pour accéder à la liste des recommandations et insights Cloud SQL, vous devez disposer des autorisations suivantes :

  • recommender.resourcemanagerProjectUtilizationRecommendations.get
  • recommender.resourcemanagerProjectUtilizationRecommendations.list
  • recommender.resourcemanagerProjectUtilizationInsights.get
  • recommender.resourcemanagerProjectUtilizationInsights.list

Pour mettre à jour les recommandations et les insights (par exemple, pour ignorer une recommandation), vous devez disposer des autorisations suivantes :

  • recommender.resourcemanagerProjectUtilizationRecommendations.update
  • recommender.resourcemanagerProjectUtilizationInsights.update

Afficher les recommandations de projets sans surveillance

Cette section explique comment vérifier les insights et les recommandations sans surveillance à l'aide de gcloud, et comment utiliser curl pour envoyer des requêtes à l'API de l'outil de recommandation.

gcloud

Pour afficher les recommandations et les insights à l'aide de gcloud, procédez comme indiqué ci-dessous. Pour en savoir plus, consultez les pages Utiliser l'API – Insights et Utiliser l'API – Recommandations.

Recommandations

  1. Pour répertorier les recommandations de projet sans surveillance pour le projet dans lequel vous avez activé l'API Recommender, exécutez la commande suivante :

      gcloud recommender recommendations list \
      --project=PROJECT_ID \
      --location=global \
      --recommender=google.resourcemanager.projectUtilization.Recommender
    

    Remplacez l'élément suivant :

    • PROJECT_ID : ID du projet
  2. Pour répertorier les recommandations de projet sans surveillance dans un autre projet tout en utilisant un projet dans lequel vous avez activé l'API Recommender (comme à l'étape précédente), exécutez la commande suivante :

      gcloud recommender recommendations list \
      --billing-project=BILLING_PROJECT_ID \
      --project=PROJECT_ID \
      --location=global \
      --recommender=google.resourcemanager.projectUtilization.Recommender
    

    Remplacez l'élément suivant :

    • BILLING_PROJECT_ID : ID du projet que vous avez activé avec l'API Recommender (il s'agit de la même valeur PROJECT_ID que celle donnée à l'étape précédente).
    • PROJECT_ID : ID d'un autre projet pour lequel vous souhaitez afficher les recommandations de projet dormant.
  3. Pour répertorier les recommandations de projet dormant pour l'ensemble de l'organisation, tout en utilisant un projet dans lequel vous avez activé l'API Recommender (comme à l'étape précédente), exécutez la commande suivante :

      gcloud recommender recommendations list \
      --billing-project=BILLING_PROJECT_ID \
      --organization=ORGANIZATION_ID \
      --location=global \
      --recommender=google.resourcemanager.projectUtilization.Recommender
    

    Remplacez les éléments suivants :

    • BILLING_PROJECT_ID : ID du projet que vous avez activé avec l'API Recommender (il s'agit du même ID de projet que celui fourni à l'étape précédente).
    • ORGANIZATION_ID : ID de l'organisation pour laquelle vous souhaitez afficher les recommandations de projet dormant.
  4. Pour répertorier les recommandations de projet dormant qui utilisent un compte de facturation spécifique, tout en utilisant un projet dans lequel vous avez activé l'API Recommender (comme à l'étape précédente), exécutez la commande suivante :

      gcloud recommender recommendations list \
      --billing-project=BILLING_PROJECT_ID \
      --billing-account=BILLING_ACCOUNT_ID \
      --location=global \
      --recommender=google.resourcemanager.projectUtilization.Recommender
    

    Remplacez les éléments suivants :

    • BILLING_PROJECT_ID : ID du projet que vous avez activé avec l'API Recommender (il s'agit du même ID de projet que celui fourni à l'étape précédente).
    • BILLING_ACCOUNT_ID : ID de votre compte de facturation Google Cloud.

Insights

  1. Pour répertorier les insights d'utilisation d'un projet donné, exécutez la commande suivante :

      gcloud recommender insights list \
      --project=PROJECT_ID \
      --location=global \
      --insight-type=google.resourcemanager.projectUtilization.Insight
    

    Remplacez l'élément suivant :

    • PROJECT_ID : ID du projet
  2. Pour répertorier les insights d'utilisation d'un autre projet, tout en utilisant un projet dans lequel vous avez activé l'API Recommender (comme à l'étape précédente), exécutez la commande suivante :

      gcloud recommender insights list \
      --billing-project=BILLING_PROJECT_ID \
      --project=PROJECT_ID \
      --location=global \
      --insight-type=google.resourcemanager.projectUtilization.Insight
    

    Remplacez l'élément suivant :

    • BILLING_PROJECT_ID : ID du projet que vous avez activé avec l'API Recommender (il s'agit de la valeur PROJECT_ID comme indiqué à l'étape précédente).
    • PROJECT_ID : ID d'un autre projet pour lequel vous souhaitez afficher les insights de l'outil de recommandation sans assistance.
  3. Pour répertorier les insights d'utilisation de l'ensemble de l'organisation, tout en utilisant un projet pour lequel vous avez activé l'API Recommender (comme à l'étape précédente), exécutez la commande suivante :

      gcloud recommender insights list \
      --billing-project=BILLING_PROJECT_ID \
      --organization=ORGANIZATION_ID \
      --location=global \
      --insight-type=google.resourcemanager.projectUtilization.Insight
    

    Remplacez les éléments suivants :

    • BILLING_PROJECT_ID : ID du projet que vous avez activé avec l'API Recommender (il s'agit du même ID de projet que celui fourni à l'étape précédente).
    • ORGANIZATION_ID : ID de l'organisation pour laquelle vous souhaitez afficher les insights d'utilisation.
  4. Pour répertorier les insights d'utilisation qui utilisent un compte de facturation spécifique tout en utilisant un projet pour lequel vous avez activé l'API Recommender (comme à l'étape précédente), exécutez la commande suivante :

      gcloud recommender insights list \
      --billing-project=BILLING_PROJECT_ID \
      --billing-account=BILLING_ACCOUNT_ID \
      --location=global \
      --insight-type=google.resourcemanager.projectUtilization.Insight
    

    Remplacez les éléments suivants :

    • BILLING_PROJECT_ID : ID du projet que vous avez activé avec l'API Recommender (il s'agit du même ID de projet que celui fourni à l'étape précédente).
    • BILLING_ACCOUNT_ID : ID de votre compte de facturation Google Cloud.

API

Pour afficher les recommandations et les insights, vous pouvez utiliser curl pour envoyer une requête aux API de l'outil de recommandation. Pour autoriser des requêtes à partir de la ligne de commande, vous utilisez des jetons d'accès OAuth. Un jeton d'accès OAuth est une chaîne qui accorde un accès temporaire à une API.

Recommandations

  1. Pour répertorier les recommandations de projet sans surveillance pour le projet dans lequel vous avez activé l'API Recommender, exécutez la commande suivante :

    curl \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    "https://recommender.googleapis.com/v1/projects/PROJECT_ID/locations/global/\
    recommenders/google.resourcemanager.projectUtilization.Recommender/recommendations"
    

    Remplacez les éléments suivants :

    • PROJECT_ID : ID du projet.
  2. Pour répertorier les recommandations de projet sans surveillance dans un autre projet tout en utilisant un projet dans lequel vous avez activé l'API Recommender (comme à l'étape précédente), exécutez la commande suivante :

    curl \
    -H "Authorization: Bearer $(gcloud auth print-access-token)"  \
    -H "x-goog-user-project: BILLING_PROJECT_ID" \
    "https://recommender.googleapis.com/v1/projects/PROJECT_ID/locations/global/\
    recommenders/google.resourcemanager.projectUtilization.Recommender/recommendations"
    

    Remplacez l'élément suivant :

    • BILLING_PROJECT_ID : ID du projet que vous avez activé avec l'API Recommender (il s'agit de la même valeur PROJECT_ID que celle donnée à l'étape précédente).
    • PROJECT_ID : ID d'un autre projet pour lequel vous souhaitez afficher les recommandations de projet dormant.
  3. Pour répertorier les recommandations de projet dormant pour l'ensemble de l'organisation, tout en utilisant un projet dans lequel vous avez activé l'API Recommender (comme à l'étape précédente), exécutez la commande suivante :

    curl \
    -H "Authorization: Bearer $(gcloud auth print-access-token)"  \
    -H "x-goog-user-project: BILLING_PROJECT_ID" \
    "https://recommender.googleapis.com/v1/organizations/ORGANIZATION_ID/locations/global/\
    recommenders/google.resourcemanager.projectUtilization.Recommender/recommendations"
    

    Remplacez les éléments suivants :

    • BILLING_PROJECT_ID : ID du projet que vous avez activé avec l'API Recommender (il s'agit de la valeur PROJECT_ID comme indiqué à l'étape précédente).
    • ORGANIZATION_ID : ID de l'organisation pour laquelle vous souhaitez afficher les recommandations de projet dormant.
  4. Pour répertorier les recommandations de projet dormant qui utilisent un compte de facturation spécifique, tout en utilisant un projet dans lequel vous avez activé l'API Recommender (comme à l'étape précédente), exécutez la commande suivante :

    curl \
    -H "Authorization: Bearer $(gcloud auth print-access-token)"  \
    -H "x-goog-user-project: BILLING_PROJECT_ID" \
    "https://recommender.googleapis.com/v1/billingAccounts/BILLING_ACCOUNT_ID/locations/global/\
    recommenders/google.resourcemanager.projectUtilization.Recommender/recommendations"
    

    Remplacez les éléments suivants :

    • BILLING_PROJECT_ID : ID du projet que vous avez activé avec l'API Recommender (il s'agit de la valeur PROJECT_ID comme indiqué à l'étape précédente).
    • BILLING_ACCOUNT_ID : ID de votre compte de facturation Google Cloud.

Insights

  1. Pour répertorier les insights d'utilisation d'un projet donné, exécutez la commande suivante :

    curl \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    "https://recommender.googleapis.com/v1/projects/PROJECT_ID/locations/global\
    /insightTypes/google.resourcemanager.projectUtilization.Insight/insights"
    

    Remplacez les éléments suivants :

    • PROJECT_ID : ID du projet.
  2. Pour répertorier les insights d'utilisation d'un autre projet, tout en utilisant un projet dans lequel vous avez activé l'API Recommender (comme à l'étape précédente), exécutez la commande suivante :

    curl \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "x-goog-user-project: BILLING_PROJECT_ID/" \
    "https://recommender.googleapis.com/v1/projects/PROJECT_ID//locations/global\
    /insightTypes/google.resourcemanager.projectUtilization.Insight/insights"
    

    Remplacez l'élément suivant :

    • BILLING_PROJECT_ID : ID du projet que vous avez activé avec l'API Recommender (il s'agit de la valeur PROJECT_ID comme indiqué à l'étape précédente).
    • PROJECT_ID : ID d'un autre projet pour lequel vous souhaitez afficher les insights de l'outil de recommandation sans assistance.
  3. Pour répertorier les insights d'utilisation de l'ensemble de l'organisation, tout en utilisant un projet pour lequel vous avez activé l'API Recommender (comme à l'étape précédente), exécutez la commande suivante :

    curl \
    -H "Authorization: Bearer $(gcloud auth print-access-token)"  \
    -H "x-goog-user-project: PROJECT_ID/" \
    "https://recommender.googleapis.com/v1/organizations/ORGANIZATION_ID/locations/global/\
    insightTypes/google.resourcemanager.projectUtilization.Insight/insights"
    

    Remplacez les éléments suivants :

    • BILLING_PROJECT_ID : ID du projet que vous avez activé avec l'API Recommender (il s'agit de la valeur PROJECT_ID comme indiqué à l'étape précédente).
    • ORGANIZATION_ID : ID de l'organisation pour laquelle vous souhaitez afficher les recommandations de projet dormant.
  4. Pour répertorier les insights d'utilisation qui utilisent un compte de facturation spécifique tout en utilisant un projet pour lequel vous avez activé l'API Recommender (comme à l'étape précédente), exécutez la commande suivante :

    curl \
    -H "Authorization: Bearer $(gcloud auth print-access-token)"  \
    -H "x-goog-user-project: PROJECT_ID/" \
    "https://recommender.googleapis.com/v1/billingAccounts/BILLING_ACCOUNT_ID/locations/global/\
    insightTypes/google.resourcemanager.projectUtilization.Insight/insights"
    

    Remplacez les éléments suivants :

    • BILLING_PROJECT_ID : ID du projet que vous avez activé avec l'API Recommender (il s'agit de la valeur PROJECT_ID comme indiqué à l'étape précédente).
    • BILLING_ACCOUNT_ID : ID de votre compte de facturation Google Cloud.

Configurer les paramètres de recommandation

Cette section explique comment afficher et configurer cet outil de recommandation à l'aide de gcloud et curl.

Le tableau suivant répertorie les différents paramètres pouvant être configurés :

Paramètre Description Valeur(s) attendue(s)
minimum_observation_period La période d'observation minimale définit le nombre de jours d'activité du projet à analyser avant qu'une recommandation ne soit générée.

Pour le moment, il n'est possible de définir cette valeur qu'au niveau de l'organisation.

"P30D"[Par défaut], "P60D", "P90D", "P180D", "P270D", "P365D"

gcloud

Pour afficher et mettre à jour les configurations de l'outil de recommandation à l'aide de gcloud, suivez les étapes ci-dessous.

Afficher les configurations

  1. Pour afficher les configurations de l'outil de recommandation de projets dormants pour une organisation donnée, exécutez la commande suivante à partir d'un projet appartenant à cette organisation pour laquelle l'API Recommender est activée:

    gcloud beta recommender recommender-config describe \
    google.resourcemanager.projectUtilization.Recommender \
    --organization=ORGANIZATION_ID \
    --location=global
    

    Remplacez les éléments suivants :

    • ORGANIZATION_ID : ID de l'organisation.
  2. Exemple de résultat :

    etag: ETAG
    name: organizations/ORGANIZATION_ID/locations/global/recommenders/google.resourcemanager.projectUtilization.Recommender/config
    recommenderGenerationConfig:
      params:
        minimum_observation_period: P30D
    revisionId: DEFAULT
    updateTime: '2022-04-19T00:57:55Z'
    

    Notez la valeur ETAG :

    • ETAG : cette valeur sera utilisée dans recommender-config update.

Mettre à jour des configurations

  1. Pour mettre à jour les configurations de l'outil de recommandation de projets dormants pour une organisation donnée, choisissez un projet appartenant à cette organisation dans laquelle vous avez activé l'API Recommender, et créez un fichier config.gcloud:

    
    {
     "params": {
        "minimum_observation_period": DURATION
      }
    }
    

    Remplacez les éléments suivants :

    • DURATION: une valeur parmi "P30D", "P60D", "P90D", "P180D", "P270D", "P365D"
  2. Exécutez la commande suivante :

    gcloud beta recommender recommender-config update \
    google.resourcemanager.projectUtilization.Recommender \
    --organization=ORGANIZATION_ID \
    --location=global \
    --config-file=config.gcloud \
    --etag=ETAG
    

    Remplacez les éléments suivants :

    • ORGANIZATION_ID : ID de l'organisation.
    • ETAG : valeur etag renvoyée par recommender-config describe.

API

Pour afficher et mettre à jour les configurations de l'outil de recommandation, vous pouvez utiliser curl pour envoyer une requête aux API Recommender. Pour autoriser des requêtes à partir de la ligne de commande, vous utilisez des jetons d'accès OAuth. Un jeton d'accès OAuth est une chaîne qui accorde un accès temporaire à une API.

Afficher les configurations

  1. Pour afficher les configurations de l'outil de recommandation de projets dormants pour une organisation donnée, exécutez la commande suivante à partir d'un projet appartenant à cette organisation pour laquelle l'API Recommender est activée:

    curl -X GET \
    -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
    -H "x-goog-user-project: PROJECT_ID" \
    https://recommender.googleapis.com/v1beta1/organizations/ORGANIZATION_ID/locations/global/recommenders/google.resourcemanager.projectUtilization.Recommender/config
    

    Remplacez les éléments suivants :

    • PROJECT_ID : ID du projet
    • ORGANIZATION_ID : ID de l'organisation.
  2. Exemple de résultat :

    
    {
      "name": "organizations/ORGANIZATION_ID/locations/global/recommenders/google.resourcemanager.projectUtilization.Recommender/config",
      "recommenderGenerationConfig": {
        "params": {
          "minimum_observation_period": "P60D"
        }
      },
      "etag": ETAG,
      "updateTime": "2022-04-21T18:51:17.407255Z",
      "revisionId": "75c3b0d7"
    }
    
    

    Notez la valeur ETAG :

    • ETAG : cette valeur sera utilisée dans curl PATCH.

Mettre à jour des configurations

  1. Pour mettre à jour les configurations de l'outil de recommandation de projets dormants pour une organisation donnée, choisissez un projet appartenant à cette organisation dans laquelle vous avez activé l'API Recommender, et créez un fichier request.json:

    
    {
      "name": "organizations/ORGANIZATION_ID/locations/global/recommenders/google.resourcemanager.projectUtilization.Recommender/config",
      "recommenderGenerationConfig": {
        "params": {
          "minimum_observation_period": DURATION
        }
      },
    "etag": ETAG,
    }
    

    Remplacez les éléments suivants :

    • DURATION: une valeur parmi "P30D", "P60D", "P90D", "P180D", "P270D", "P365D"
    • ETAG : valeur etag renvoyée par CURL get.
  2. Exécutez la ligne de commande suivante :

    curl -X PATCH \
    -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
    -H "x-goog-user-project: PROJECT_ID" \
    -H "Content-Type: application/json; charset=utf-8" -d @request.json \
    https://recommender.googleapis.com/v1beta1/organizations/ORGANIZATION_ID/locations/global/recommenders/google.resourcemanager.projectUtilization.Recommender/config
    

    Remplacez les éléments suivants :

    • PROJECT_ID : ID du projet
    • ORGANIZATION_ID : ID de l'organisation.

Étape suivante