Conéctate a Secure Source Manager

En esta página, se describe cómo crear conexiones a Secure Source Manager y cómo vincularlas a repositorios de Secure Source Manager. Esta integración te permite usar funciones de Developer Connect, como vistas de panel de tus repositorios de Secure Source Manager, y usar el proxy de Developer Connect para realizar operaciones de git, como operaciones de lectura seguras.

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 Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. 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 Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

  8. Opcional: Crea una clave de encriptación administrada por el cliente (CMEK) para encriptar los secretos de autenticación que crea Developer Connect.
  9. Opcional: Para usar las instrucciones de línea de comandos de esta guía, completa los siguientes pasos:
    1. Instala la Google Cloud CLI. Si ya instalaste gcloud CLI, asegúrate de tener la última versión disponible ejecutando gcloud components update.
    2. Ejecuta el siguiente comando para crear una cuenta de servicio de Developer Connect, en el que PROJECT_ID es el Google Cloud ID del proyecto:
              gcloud beta services identity create \
                  --service=developerconnect.googleapis.com \
                  --project=PROJECT_ID
              

Requisitos de Secure Source Manager

  • Asegúrate de tener una instancia de Secure Source Manager operativa implementada en una Google Cloud región.
  • La conexión de Developer Connect y la instancia de Secure Source Manager deben estar en la misma región.
  • Otorga al agente de servicio de Developer Connect (P4SA) el rol roles/securesourcemanager.developerConnectLinker en el proyecto de la instancia de Secure Source Manager.

Roles obligatorios

Para obtener los permisos que necesitas para crear conexiones y vínculos, pídele a tu administrador que te otorgue los siguientes roles de IAM:

  • Para crear una conexión y un vínculo a un repositorio: Administrador de Developer Connect (roles/developerconnect.admin) en el proyecto en el que deseas crear recursos de Developer Connect.
  • Para otorgar permisos al agente de servicio de Developer Connect: Administrador de IAM del proyecto (roles/resourcemanager.projectIamAdmin) en el proyecto en el que se ejecuta Secure Source Manager.

Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.

También puedes obtener los permisos necesarios a través de roles personalizados o cualquier otro rol predefinido.

Crear una conexión

En esta sección, se describe cómo crear una conexión entre Developer Connect y Secure Source Manager. Si usas la Google Cloud consola, también puedes comenzar a agregar vínculos a repositorios cuando termines de configurar tu conexión.

Para crear una nueva conexión de Secure Source Manager, selecciona una de las siguientes opciones:

Console

  1. En la Google Cloud consola, abre Developer Connect.

    Ir a Developer Connect

  2. Haz clic en Crear conexión.

  3. Selecciona Secure Source Manager como tu proveedor de origen.

  4. En Región, elige una región para tu conexión. Debe ser la misma región que tu instancia de Secure Source Manager.

  5. En Nombre, ingresa un nombre para tu conexión.

  6. En la lista Instancia, selecciona una instancia.

  7. Haz clic en Mostrar más para ver la configuración opcional.

  8. Opcional: Para inhabilitar el proxy de Developer Connect, desmarca la casilla de verificación Habilitar el proxy de Developer Connect.

  9. Haz clic en Continuar.

  10. Puedes vincular repositorios ahora o hacerlo más tarde editando la conexión. Para vincular repositorios, selecciona repositorios de la lista.

  11. Haz clic en Vincular.

Developer Connect crea los vínculos del repositorio y los muestra en la Google Cloud consola.

gcloud

Para crear una conexión de Developer Connect con Google Cloud CLI, ejecuta el siguiente comando:

gcloud developer-connect connections create CONNECTION_ID \
  --location=REGION \
  --project=CONNECTION_PROJECT_ID \
  --secure-source-manager-instance-config=projects/INSTANCE_PROJECT_ID/locations/REGION/instances/INSTANCE_ID

Aquí:

  • CONNECTION_ID es el ID de la conexión de Developer Connect que deseas crear.
  • REGION es la región de tu conexión. Debe ser la misma región que tu instancia de Secure Source Manager.
  • CONNECTION_PROJECT_ID es el ID del Google Cloud proyecto en el que deseas crear tu conexión.
  • INSTANCE_PROJECT_ID es el ID del Google Cloud proyecto en el que se encuentra tu instancia de Secure Source Manager.
  • INSTANCE_ID es el ID de tu instancia de Secure Source Manager.

curl

Para crear una conexión de Developer Connect con curl, realiza la siguiente llamada a la API:

curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \
https://developerconnect.googleapis.com/v1/projects/CONNECTION_PROJECT_ID/locations/REGION/connections?connection_id=CONNECTION_ID \
-X POST -H "Content-Type: application/json" \
-d '{"secure_source_manager_instance_config":{"instance":"projects/INSTANCE_PROJECT_ID/locations/REGION/instances/INSTANCE_ID"}}'

Aquí:

  • CONNECTION_ID es el ID de la conexión de Developer Connect que deseas crear.
  • REGION es la región de tu conexión. Debe ser la misma región que tu instancia de Secure Source Manager.
  • CONNECTION_PROJECT_ID es el ID del Google Cloud proyecto en el que deseas crear tu conexión.
  • INSTANCE_PROJECT_ID es el ID del Google Cloud proyecto en el que se encuentra tu instancia de Secure Source Manager.
  • INSTANCE_ID es el ID de tu instancia de Secure Source Manager.

Una vez que establezcas una conexión a Secure Source Manager, podrás vincularla a repositorios. Puedes repetir estos pasos más adelante para vincular repositorios adicionales según sea necesario.

Para crear vínculos de repositorios en una conexión existente de Secure Source Manager, selecciona una de las siguientes opciones:

Console

  1. Abre la página Repositorios en la Google Cloud consola.

    Abrir la página Repositorios

  2. Haz clic en Vincular repositorio.

    Se abrirá el panel Vincular repositorios de Git.

  3. En la lista de conexiones, elige tu conexión de Secure Source Manager.

  4. Haz clic en Continuar.

  5. En la lista de repositorios, selecciona los repositorios a los que deseas vincularte.

  6. Haz clic en Crear.

Developer Connect crea los vínculos del repositorio y los muestra en la Google Cloud consola.

gcloud

Para obtener más información sobre cómo administrar vínculos de repositorios de Git con gcloud, consulta gcloud developer-connect connections git-repository-links.

Usa el proxy de Developer Connect en Cloud Build

Para usar el proxy de Developer Connect en Cloud Build, sigue estos pasos:

  1. Otorga al agente de servicio de Secure Source Manager el rol roles/developerconnect.viewer o cualquier rol que tenga el permiso developerconnect.gitRepositoryLinks.get en el proyecto de Developer Connect.
  2. Vincula tu repositorio de Secure Source Manager a un gitRepositoryLink de Developer Connect. Consulta Cómo vincular a un repositorio de Secure Source Manager para obtener instrucciones.
  3. En el archivo .cloudbuild/trigger.yaml del directorio raíz del repositorio, agrega una entrada nueva para que apunte al recurso gitRepositoryLink de destino.

    Por ejemplo:

    triggers:
    - name: test-trigger
      project: my-project
      configFilePath: cloudbuild.yaml
      eventType: push
      serviceAccount: projects/my-project/serviceAccounts/my-sa@my-project.iam.gserviceaccount.com
      devConnectGitRepositoryLink: projects/my-project/locations/us-central1/connections/my-ssm-connection/gitRepositoryLinks/my-repo-link
    

Alcance y limitaciones operativas

Después de configurar la conexión, puedes realizar operaciones de lectura seguras de git, como un clone, en instancias de Secure Source Manager con el URI del proxy de Developer Connect.

El proxy de Developer Connect no admite operaciones git push. El sistema impide las operaciones de escritura que usan la identidad del DevConnect P4SA.

Puedes actualizar otras configuraciones de la conexión, por ejemplo, para habilitar o inhabilitar el proxy de Developer Connect, pero no puedes dirigir la conexión existente a una instancia diferente de Secure Source Manager.

¿Qué sigue?