Secure Source Manager admite todos los comandos de cliente de SCM de Git y tiene integradas las solicitudes de extracción y el seguimiento de incidencias. Se admiten tanto la autenticación HTTPS como la SSH.
Roles obligatorios
Para obtener los permisos que necesitas para usar Git e interactuar con un repositorio de Secure Source Manager, pide a tu administrador que te conceda los siguientes roles de IAM:
-
Accessor de instancia de Secure Source Manager (
roles/securesourcemanager.instanceAccessor) en la instancia de Secure Source Manager -
Para clonar un repositorio, sigue estos pasos:
Lector de repositorios de Secure Source Manager (
roles/securesourcemanager.repoReader) en el repositorio -
Para enviar cambios a un repositorio, sigue estos pasos:
Editor de repositorios de Secure Source Manager (
roles/securesourcemanager.repoWriter) en el repositorio
Para obtener más información sobre cómo conceder roles, consulta el artículo Gestionar acceso a proyectos, carpetas y organizaciones.
También puedes conseguir los permisos necesarios a través de roles personalizados u otros roles predefinidos.
Para obtener información sobre cómo conceder roles de Secure Source Manager, consulta los artículos Control de acceso con gestión de identidades y accesos y Conceder acceso a instancias a los usuarios.
Instalar Git y Google Cloud CLI
Instala Git.
Si el instalador de Git te pide que elijas un asistente de credenciales, selecciona Ninguno (no usar un asistente de credenciales).
Para usar Git con HTTPS, se necesita la versión
395.0.0o una posterior de gcloud CLI. Para comprobar la versión de la CLI de gcloud, ejecuta el siguiente comando:gcloud --versionPara actualizar gcloud CLI, ejecuta el siguiente comando.
gcloud components updateDespués de actualizar, ejecuta
gcloud initpara inicializar gcloud CLI.Para obtener más información, consulta la documentación de la CLI de gcloud sobre cómo actualizar componentes.
Configurar las credenciales
Si te autenticas en Secure Source Manager mediante un proveedor de identidades externo y Workforce Identity Federation, no tienes que completar esta sección. En su lugar, debes crear una configuración de inicio de sesión de grupo de identidades de empleados.
Añade el asistente de autenticación de Secure Source Manager a tu configuración global de Git ejecutando el siguiente comando:
Linux
git config --global credential.'https://*.*.sourcemanager.dev'.helper gcloud.sh
Es posible que las versiones anteriores de Git no admitan comodines. Para añadir el auxiliar de autenticación sin comodines, ejecuta el siguiente comando:
git config --global credential.'https://INSTANCE_ID-PROJECT_NUMBER-git.LOCATION.sourcemanager.dev'.helper gcloud.sh
Haz los cambios siguientes:
INSTANCE_IDcon el nombre de tu instancia de Secure Source Manager.PROJECT_NUMBERcon el número de tu proyecto. Si necesitas ayuda para encontrar el número de tu proyecto, consulta el artículo Identificar proyectos.LOCATIONcon la región de la instancia. Para obtener más información sobre las regiones, consulta Ubicaciones.
Windows
git config --global credential.https://*.*.sourcemanager.dev.helper gcloud.cmd
Es posible que las versiones anteriores de Git no admitan comodines. Para añadir el auxiliar de autenticación sin comodines, ejecuta el siguiente comando:
git config --global credential.https://INSTANCE_ID-PROJECT_NUMBER-git.LOCATION.sourcemanager.dev.helper gcloud.cmd
Haz los cambios siguientes:
INSTANCE_IDcon el nombre de tu instancia de Secure Source Manager.PROJECT_NUMBERcon el número de tu proyecto. Si necesitas ayuda para encontrar el número de tu proyecto, consulta el artículo Identificar proyectos.LOCATIONcon la región de la instancia. Para obtener más información sobre las regiones, consulta Ubicaciones.
La herramienta auxiliar de autenticación usa la CLI de gcloud para obtener tusGoogle Cloud credenciales cuando usas comandos de Git con Secure Source Manager.
Para volver a autenticarte después de la configuración inicial de las credenciales, ejecuta el siguiente comando de la CLI de gcloud:
gcloud auth login
Autenticar desde una VM de Compute Engine con una cuenta de servicio
Puedes autenticarte desde una máquina virtual (VM) de Compute Engine mediante una cuenta de servicio asociada.
Configurar la máquina virtual y la cuenta de servicio
Si usas la cuenta de servicio predeterminada de Compute Engine, crea tu VM con los permisos de OAuth necesarios:
gcloud compute instances create VM_NAME \
--project=PROJECT_ID \
--zone=ZONE \
--scopes=openid,https://www.googleapis.com/auth/userinfo.profile,https://www.googleapis.com/auth/userinfo.email,https://www.googleapis.com/auth/cloud-platform
Haz los cambios siguientes:
VM_NAME: el nombre de tu VM.PROJECT_ID: tu ID de proyecto Google Cloud .ZONE: la zona de tu VM.
Si usas una cuenta de servicio personalizada, crea la cuenta de servicio y, a continuación, crea la VM.
Crea una cuenta de servicio:
gcloud iam service-accounts create SA_NAME --project=PROJECT_IDSustituye
SA_NAMEpor el nombre de la cuenta de servicio.Concede permiso para usar la cuenta de servicio. Para crear una VM con una cuenta de servicio, debes tener el rol Usuario de cuenta de servicio (
roles/iam.serviceAccountUser) en la cuenta de servicio. Asigna este rol a la cuenta principal que cree la VM:gcloud iam service-accounts add-iam-policy-binding SA_NAME@PROJECT_ID.iam.gserviceaccount.com \ --member="user:USER_EMAIL" \ --role="roles/iam.serviceAccountUser"Sustituye
USER_EMAILpor el correo del usuario que crea la VM.Crea la VM:
gcloud compute instances create VM_NAME \ --project=PROJECT_ID \ --zone=ZONE \ --scopes=openid,https://www.googleapis.com/auth/userinfo.profile,https://www.googleapis.com/auth/userinfo.email,https://www.googleapis.com/auth/cloud-platform \ --service-account=SA_NAME@PROJECT_ID.iam.gserviceaccount.com
Asigna roles de gestión de identidades y accesos a la cuenta de servicio
Concede acceso a la cuenta de servicio a la instancia y al repositorio de Secure Source Manager:
Concede acceso a la instancia:
SA_EMAIL=$(gcloud compute instances describe VM_NAME --project=PROJECT_ID --zone=ZONE --format="get(serviceAccounts[0].email)") gcloud projects add-iam-policy-binding PROJECT_ID \ --member="serviceAccount:$SA_EMAIL" \ --role=roles/securesourcemanager.instanceAccessorConcede acceso de lectura al repositorio.
Para conceder acceso de lectura a un repositorio específico, ejecuta el siguiente comando:
gcloud ssm repos add-iam-policy-binding REPOSITORY_ID \ --instance