Configurer les insights Developer Connect

Ce document explique comment configurer les insights Developer Connect pour les rendre disponibles dans les investigations Gemini Cloud Assist et dans Cloud Logging.

En savoir plus sur les insights Developer Connect

Avant de commencer

  1. Connectez-vous à votre compte Google.

    Si vous n'en possédez pas déjà un, vous devez en créer un.

  2. In the Google Cloud console, on the project selector page, select or create 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.

    Go to project selector

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

  4. Enable the Developer Connect API.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.

    Enable the API

  5. In the Google Cloud console, on the project selector page, select or create 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.

    Go to project selector

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

  7. Enable the Developer Connect API.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.

    Enable the API

  8. L'activation de Developer Connect active également l'API Secret Manager.

  9. Installez la Google Cloud CLI.

    Si vous l'avez déjà installé, assurez-vous de disposer de la dernière version en exécutant gcloud components update.

  10. Créez l'agent de service Developer Connect :
    gcloud beta services identity create \
    --service=developerconnect.googleapis.com \
    --project=PROJECT_NUM

    Le rôle roles/developerconnect.serviceAgent est automatiquement ajouté à cet agent de service.

Rôles requis

Si votre configuration des insights est limitée à une application App Hub gérée par un projet de gestion (limite de dossier) :

  • L'utilisateur qui configure les insights doit disposer des rôles suivants dans le projet de gestion :
    • Administrateur d'insights Developer Connect (roles/developerconnect.insightsAdmin)
    • Lecteur App Hub (roles/apphub.viewer)
  • L'agent de service Developer Connect a besoin des rôles suivants :
    • Rôle d'agent de service Developer Connect (roles/developerconnect.serviceAgent) et rôle d'agent Developer Connect Insights (roles/developerconnect.insightsAgent) dans le projet de gestion.
    • Rôle Agent Insights Developer Connect (roles/developerconnect.insightsAgent) du dossier contenant le projet de gestion.

Si votre configuration des insights est limitée à une application App Hub gérée par un projet hôte :

  • L'utilisateur qui configure les insights doit disposer des rôles suivants dans le projet hôte :
    • Administrateur d'insights Developer Connect (roles/developerconnect.insightsAdmin)
    • Lecteur App Hub (roles/apphub.viewer)
  • L'agent de service Developer Connect a besoin des rôles suivants :
    • Rôle Agent de service Developer Connect (roles/developerconnect.serviceAgent) et rôle Agent Insights Developer Connect (roles/developerconnect.insightsAgent) sur le projet hôte.
    • Le rôle d'agent Insights Developer Connect (roles/developerconnect.insightsAgent) sur tous les projets de service.
    • Si vous utilisez des ressources existantes (par exemple, depuis Cloud Build ou Artifact Registry) qui ne se trouvent pas dans le même dossier, accordez le rôle Agent Developer Connect Insights à l'agent de service Developer Connect du projet hôte dans ces projets.

Si votre configuration des insights est limitée à des projets cibles individuels :

  • L'utilisateur qui configure les insights doit disposer des rôles suivants dans le projet hôte :
    • Administrateur d'insights Developer Connect (roles/developerconnect.insightsAdmin).
  • L'agent de service Developer Connect a besoin des rôles suivants :
    • Rôle Agent de service Developer Connect (roles/developerconnect.serviceAgent) et rôle Agent Insights Developer Connect (roles/developerconnect.insightsAgent) sur le projet hôte.
    • Rôle Agent Insights Developer Connect (roles/developerconnect.insightsAgent) sur tous les projets cibles.

Pour afficher des insights depuis la ligne de commande, les utilisateurs qui consultent les insights doivent :

  • Lecteur d'insights Developer Connect (roles/developerconnect.insightsViewer) sur le projet hôte.
  • Rôle Lecteur d'occurrences Container Analysis (roles/containeranalysis.occurrences.viewer) sur le projet hôte.

Certains outils peuvent nécessiter des rôles et des autorisations supplémentaires Google Cloud ou non Google pour être utilisés, ou pour des cas d'utilisation spécifiques. Si vous rencontrez des erreurs d'autorisation, vérifiez auprès de votre administrateur que vous disposez des rôles et autorisations appropriés.

En plus de ces rôles et autorisations, lorsque vous configurez une configuration d'insights à l'aide du workflow interactif, vous devez être autorisé à accéder à toutes les ressources que vous spécifiez.

Conditions préalables supplémentaires

  • Si vous souhaitez que vos insights Developer Connect soient limités à une application App Hub, vous devez posséder ou créer cette application.

    Les insights Developer Connect sont compatibles avec tous les modèles de configuration App Hub pour les applications. Nous vous recommandons d'utiliser un dossier configuré pour la gestion des applications afin de pouvoir utiliser Gemini Cloud Assist et d'autres fonctionnalités axées sur les applications.

    Vous pouvez également définir le champ d'application de vos insights Developer Connect sur un projet au lieu d'une application App Hub.

  • Vous devez utiliser Cloud Build et un système de gestion du code source compatible (GitHub, GitLab ou Bitbucket).

  • Votre compilation doit générer une provenance pour inclure des informations de provenance dans les journaux.

    Il peut provenir de l'une des sources suivantes :

    • Utilisez Cloud Build et Artifact Registry.

      Vous pouvez utiliser Cloud Build pour créer votre image. La compilation doit être lancée à l'aide d'un déclencheur, et le processus de compilation doit générer la provenance. Les artefacts générés par votre compilation sont stockés dans Artifact Registry.

    • Utilisez les attestations GitHub.

      Si vous utilisez la version 4 ou ultérieure de docker/build-push-action, l'action ajoute automatiquement des attestations de provenance à votre image.

      Vous pouvez également utiliser actions/attest-build-provenance avec l'option push-to-registry pour publier l'attestation de provenance dans le registre de conteneurs, où les insights Developer Connect peuvent la lire, quel que soit le fournisseur de registre.

    • Utilisez l'option docker buildx provenance.

      En savoir plus

    • Utilisez l'exportateur de registre docker buildx.

      Définissez oci-artifact sur true. En savoir plus

    Les attestations GitHub doivent provenir d'un dépôt accessible au public. L'artefact docker buildx doit être accessible au public dans le registre de conteneurs.

    Vous pouvez toujours utiliser les insights Developer Connect sans provenance, mais ils sont moins utiles.

  • Gemini Cloud Assist

    Les insights Developer Connect améliorent l'expérience Gemini Cloud Assist en ajoutant des événements de déploiement d'applications au contexte d'investigation. Vous pouvez activer Gemini Cloud Assist pour utiliser les insights Developer Connect avec les investigations Gemini Cloud Assist.

  • Si vos insights Developer Connect sont limités à une application App Hub, votre configuration d'insights doit se trouver dans le même projet que cette application.

    Si la configuration est limitée à un projet, elle n'a pas besoin de se trouver dans le même projet que le projet concerné.

    Il est recommandé, mais pas obligatoire, de placer vos autres ressources applicables (par exemple, les insights Developer Connect, les clusters Google Kubernetes Engine, les services Cloud Run, Cloud Build, les dépôts Artifact Registry) au même emplacement.

Créer votre application dans App Hub

Cela ne s'applique que si vous limitez vos insights Developer Connect à une application App Hub.

  1. Configurez App Hub. Nous vous recommandons d'utiliser un dossier configuré pour la gestion des applications afin de pouvoir utiliser Gemini Cloud Assist et d'autres fonctionnalités axées sur les applications.

  2. Créez une application App Hub.

Configurer les insights Developer Connect pour votre application

Créez un insight Developer Connect à l'aide de la commande suivante :

gcloud developer-connect insights-configs create DCI_CONFIG_NAME \
       --project PROJECT_ID \
       --app-hub-application APP_HUB_APPLICATION_NAME \
       --target-projects TARGET_PROJECT_IDS \
       --location LOCATION

Où :

  • DCI_CONFIG_NAME est le nom de la configuration d'insight qui sera générée.

  • PROJECT_ID est l'ID du projet dans lequel vous créez la configuration des insights Developer Connect.

  • APP_HUB_APPLICATION_NAME est le nom complet de l'application App Hub que vous avez créée précédemment.

    Cela ne s'applique que si vous limitez la portée de cette configuration d'insights à une application App Hub plutôt qu'à un projet.

  • TARGET_PROJECT_IDS est la liste des ID de projets auxquels vous limitez la portée de cette configuration des insights Developer Connect, séparés par une virgule.

    Cela ne s'applique que si vous définissez la portée de cette configuration d'insights sur un projet plutôt que sur une application App Hub.

  • LOCATION est la région dans laquelle vous souhaitez créer cette configuration d'insights.

Cette commande déclenche un processus de découverte automatique qui recherche toutes les charges de travail et tous les services App Hub de votre projet. Ce processus permet également de vérifier si vous disposez des autorisations nécessaires.

Cette commande renvoie également un OPERATION_ID que vous pouvez utiliser pour vérifier l'état de la configuration.

Vous pouvez vérifier l'état de la configuration de vos insights Developer Connect :

gcloud developer-connect operations describe OPERATION_ID

OPERATION_ID est l'ID d'opération entièrement spécifié renvoyé par la commande gcloud developer-connect insights-configs create.

Cette opération est un accusé de réception de la demande initiale. Le champ response qu'il contient est un instantané de la ressource au moment exact où la tâche de création a été acceptée. Pour obtenir l'état du processus de découverte, exécutez la commande insights-configs describe.

Une fois le processus de découverte automatique terminé, vous pouvez vérifier l'état de ces insights Developer Connect en exécutant la commande suivante :

gcloud developer-connect insights-configs describe DCI_CONFIG_NAME \
       --location=REGION

Où :

  • DCI_CONFIG_NAME est le nom que vous avez utilisé pour la commande gcloud developer-connect insights-configs create.

  • REGION correspond à la région dans laquelle vous avez créé la configuration.

Étapes suivantes