Configura Developer Connect Insights

En este documento, se describe cómo configurar las estadísticas de Developer Connect para que estén disponibles en las investigaciones de Gemini Cloud Assist y en Cloud Logging.

Obtén más información sobre las estadísticas de Developer Connect.

Antes de comenzar

  1. Accede a tu Cuenta de Google.

    Si todavía no tienes una cuenta, regístrate para obtener una nueva.

  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. Habilitar Developer Connect también habilita la API de Secret Manager.

  9. Instala la Google Cloud CLI.

    Si ya lo instalaste, ejecuta gcloud components update para asegurarte de tener la versión más reciente.

  10. Crea el agente de servicio de Developer Connect:
    gcloud beta services identity create \
    --service=developerconnect.googleapis.com \
    --project=PROJECT_NUM

    El rol roles/developerconnect.serviceAgent se agrega automáticamente a este agente de servicio.

Roles obligatorios

Si la configuración de estadísticas se limita a una aplicación de App Hub administrada por un proyecto de administración (límite de carpeta), haz lo siguiente:

  • El usuario que configura las estadísticas necesita los siguientes roles en el proyecto de administración:
    • Administrador de Developer Connect Insights (roles/developerconnect.insightsAdmin)
    • Visualizador de App Hub (roles/apphub.viewer)
  • El agente de servicio de Developer Connect necesita los siguientes roles:
    • Rol de agente de servicio de Developer Connect (roles/developerconnect.serviceAgent) y rol de agente de Developer Connect Insights (roles/developerconnect.insightsAgent) en el proyecto de administración
    • Rol de agente de Developer Connect Insights (roles/developerconnect.insightsAgent) de la carpeta que contiene el proyecto de administración.

Si la configuración de estadísticas se limita a una aplicación de App Hub administrada por un proyecto host, haz lo siguiente:

  • El usuario que configura las estadísticas necesita los siguientes roles en el proyecto host:
    • Administrador de Developer Connect Insights (roles/developerconnect.insightsAdmin)
    • Visualizador de App Hub (roles/apphub.viewer)
  • El agente de servicio de Developer Connect necesita los siguientes roles:
    • Rol de agente de servicio de Developer Connect (roles/developerconnect.serviceAgent) y rol de agente de Developer Connect Insights (roles/developerconnect.insightsAgent) en el proyecto host
    • Rol de agente de Developer Connect Insights (roles/developerconnect.insightsAgent) en todos los proyectos de servicio.
    • Si usas recursos existentes (por ejemplo, de Cloud Build o Artifact Registry) que no están en la misma carpeta, otorga el rol de agente de Developer Connect Insights al agente de servicio de Developer Connect del proyecto host en esos proyectos.

Si la configuración de tus estadísticas se limita a proyectos objetivo individuales, haz lo siguiente:

  • El usuario que configura las estadísticas necesita los siguientes roles en el proyecto host:
    • Administrador de Developer Connect Insights (roles/developerconnect.insightsAdmin).
  • El agente de servicio de Developer Connect necesita los siguientes roles:
    • Rol de agente de servicio de Developer Connect (roles/developerconnect.serviceAgent) y rol de agente de Developer Connect Insights (roles/developerconnect.insightsAgent) en el proyecto host
    • Rol de agente de Developer Connect Insights (roles/developerconnect.insightsAgent) en todos los proyectos de destino

Para ver estadísticas desde la línea de comandos, los usuarios que ven estadísticas necesitan lo siguiente:

  • Visualizador de Developer Connect Insights (roles/developerconnect.insightsViewer) en el proyecto host
  • Rol de Visualizador de casos de Container Analysis (roles/containeranalysis.occurrences.viewer) en el proyecto host

Es posible que las herramientas individuales requieran roles y permisos adicionales Google Cloud o que no sean de Google para usarse, o bien para casos de uso específicos. Si encuentras errores de permisos, consulta a tu administrador para asegurarte de que tienes los roles y permisos correctos.

Además de estos roles y permisos, cuando configuras una nueva configuración de estadísticas con el flujo de trabajo interactivo, debes tener permiso para acceder a todos los recursos que especifiques.

Requisitos previos adicionales

  • Si deseas que las estadísticas de Developer Connect se limiten a una aplicación de App Hub, debes tener o crear esa aplicación.

    Las estadísticas de Developer Connect admiten todos los modelos de configuración de App Hub para las aplicaciones. Te recomendamos que uses una carpeta configurada para la administración de aplicaciones, de modo que puedas usar Gemini Cloud Assist y otras funciones centradas en las aplicaciones.

    También puedes definir el alcance de tus estadísticas de Developer Connect para un proyecto en lugar de una aplicación de App Hub.

  • Debes usar Cloud Build y un sistema de administración de código fuente compatible (GitHub, GitLab o Bitbucket).

  • Tu compilación debe generar información de procedencia para incluirla en los registros.

    Puede provenir de cualquiera de las siguientes fuentes:

    • Usar Cloud Build y Artifact Registry

      Puedes usar Cloud Build para compilar tu imagen. La compilación se debe iniciar con un activador, y el proceso de compilación debe generar procedencia. Los artefactos que genera tu compilación se almacenan en Artifact Registry.

    • Usa certificaciones de GitHub.

      Si usas la versión 4 o posterior de docker/build-push-action, la acción agrega automáticamente las constancias de procedencia a tu imagen.

      Como alternativa, puedes usar actions/attest-build-provenance con la opción push-to-registry para publicar la certificación de procedencia en el registro de contenedores, donde las estadísticas de Developer Connect pueden leerla, independientemente del proveedor del registro.

    • Usa la marca docker buildx provenance.

      Más información

    • Usa el exportador de registros docker buildx.

      Y establece oci-artifact en true. Más información

    Las certificaciones de GitHub deben provenir de un repositorio disponible públicamente. El artefacto docker buildx debe estar disponible públicamente en el registro de contenedores.

    Aun así, puedes usar las estadísticas de Developer Connect sin procedencia, pero serán menos útiles.

  • Gemini Cloud Assist

    Las estadísticas de Developer Connect mejoran la experiencia de Gemini Cloud Assist, ya que agregan eventos de implementación de aplicaciones al contexto de la investigación. Puedes habilitar Gemini Cloud Assist para usar las estadísticas de Developer Connect con las investigaciones de Gemini Cloud Assist.

  • Si tus estadísticas de Developer Connect se limitarán a una aplicación de App Hub, la configuración de estadísticas debe estar en el mismo proyecto que esa aplicación.

    Si se limita al proyecto, la configuración no necesita estar en el mismo proyecto que el proyecto en el alcance.

    Se recomienda, pero no es obligatorio, tener tus otros recursos aplicables (por ejemplo, estadísticas de Developer Connect, clústeres de Google Kubernetes Engine, servicios de Cloud Run, Cloud Build y repositorios de Artifact Registry) en la misma ubicación.

Crea tu aplicación en App Hub

Esto solo es relevante si defines el alcance de tus estadísticas de Developer Connect para una aplicación de App Hub.

  1. Configura App Hub. Te recomendamos que uses una carpeta configurada para la administración de aplicaciones, de modo que puedas usar Gemini Cloud Assist y otras funciones centradas en las aplicaciones.

  2. Crea una aplicación de App Hub.

Configura Developer Connect Insights para tu aplicación

Crea una estadística de Developer Connect Insights con el siguiente comando:

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

Aquí:

  • DCI_CONFIG_NAME es un nombre para la configuración de estadísticas que se generará.

  • PROJECT_ID es el ID del proyecto en el que crearás la configuración de estadísticas de Developer Connect.

  • APP_HUB_APPLICATION_NAME es el nombre completo de la aplicación de App Hub que creaste anteriormente.

    Esto solo se aplica si defines el alcance de esta configuración de estadísticas para una aplicación de App Hub en lugar de para un proyecto.

  • TARGET_PROJECT_IDS es la lista separada por comas de los IDs de los proyectos para los que deseas definir el alcance de esta configuración de estadísticas de Developer Connect.

    Esto solo se aplica si defines el alcance de esta configuración de estadísticas para un proyecto en lugar de para una aplicación de App Hub.

  • LOCATION es la región en la que deseas crear esta configuración de estadísticas.

Este comando activa un proceso de detección automática que encuentra todas las cargas de trabajo y los servicios de App Hub en tu proyecto. Este proceso también confirma si tienes los permisos necesarios.

Este comando también devuelve un OPERATION_ID, que puedes usar para verificar el estado de la configuración.

Puedes verificar el estado de la configuración de tus estadísticas de Developer Connect:

gcloud developer-connect operations describe OPERATION_ID

Aquí, OPERATION_ID es el ID de operación completamente especificado que se devolvió del comando gcloud developer-connect insights-configs create.

Esta operación es un recibo de la solicitud inicial. El campo response que contiene es una instantánea del recurso en el momento exacto en que se aceptó la tarea de creación. Para obtener el estado del proceso de detección, ejecuta el comando insights-configs describe.

Una vez que finalice el proceso de detección automática, puedes verificar el estado de las estadísticas de Developer Connect con el siguiente comando:

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

Aquí:

  • DCI_CONFIG_NAME es el nombre que usaste para el comando gcloud developer-connect insights-configs create.

  • REGION es la región en la que creaste la configuración.

¿Qué sigue?