En esta página, se muestra cómo resolver problemas con Secure Source Manager.
Mensaje de error cuando se crea un repositorio
Aparece el siguiente error cuando intentas crear un repositorio:
There was an error while loading /repo/create. Try refreshing the page.
Este problema ocurre en los siguientes casos:
- La API de Secure Source Manager no está habilitada en tu proyecto.
- No tienes el rol de administrador de repositorios en tu proyecto ni permisos para crear repositorios en la instancia de Secure Source Manager.
Para solucionar este problema, sigue estos pasos:
- Habilita la API de Secure Source Manager en tu proyecto.
- Pídele a tu administrador que te otorgue los siguientes roles:
- Rol de administrador de repo (
roles/securesourcemanager.repoAdmin) en tu proyecto - Descriptor de acceso a instancias (
roles/securesourcemanager.instanceAccessor) en la instancia de Secure Source Manager - Creador de repositorios de instancias (
roles/securesourcemanager.instanceRepositoryCreator) en la instancia de Secure Source Manager
- Rol de administrador de repo (
Consulta Control de acceso con IAM para obtener más detalles.
Mensaje de error cuando se clona un repositorio en una Mac
Aparece el siguiente error cuando intentas clonar un repositorio:
git: 'credential-gcloud.sh' is not a git command. See 'git --help'. fatal: Authentication failed for [repo-url]
Este problema ocurre en los siguientes casos:
- Gcloud CLI se instaló con Homebrew o con otra instalación no estándar.
git-credential-gcloud.shno se agregó a tu PATH.
Para solucionar este problema, sigue estos pasos:
- Ejecuta
source $HOMEBREW_PREFIX/Caskroom/google-cloud-sdk/latest/google-cloud-sdk/path.zsh.inc Ejecuta el siguiente comando para verificar que
git-credential-gcloud.shesté en tu ruta de acceso:which git-credential-gcloud.sh
La conexión SSH falla con el error "no matching"
Cuando intentes realizar operaciones de Git a través de SSH, es posible que recibas uno de los siguientes mensajes de error:
Unable to negotiate with <host> port <port>: no matching key exchange method found.Unable to negotiate with <host> port <port>: no matching cipher found.Unable to negotiate with <host> port <port>: no matching MAC found.
Este problema se produce cuando tu cliente SSH no admite los algoritmos criptográficos que requiere Secure Source Manager. Esto puede ocurrir si usas un cliente SSH anterior o si tu cliente no está configurado para usar algoritmos compatibles.
Secure Source Manager requiere uno de los siguientes algoritmos:
- Algoritmos de intercambio de claves:
curve25519-sha256,diffie-hellman-group14-sha256 - Cifrados:
chacha20-poly1305@openssh.com,aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-gcm@openssh.com - MAC:
hmac-sha2-256-etm@openssh.com,hmac-sha2-256
Para resolver este problema, actualiza tu cliente SSH a una versión reciente que admita estos algoritmos.
Las solicitudes HTTPS de Git fallan con un error de permiso denegado o no autorizado
Cuando se intentan ejecutar comandos de Git a través de HTTPS, se muestra un mensaje de error de permiso denegado o no autorizado.
Este problema ocurre cuando sucede una de las siguientes situaciones:
- Falta el auxiliar de autenticación de Secure Source Manager en el archivo de configuración global de Git.
- Se está usando el almacén de credenciales integrado de Git en lugar de llamar al asistente de autenticación de Secure Source Manager para obtener una credencial nueva.
- Se está usando un auxiliar de credenciales del sistema en lugar de llamar al auxiliar de autenticación de Secure Source Manager para obtener una credencial nueva.
- Se usa una versión anterior de Google Cloud CLI cuando se interactúa con repositorios de Secure Source Manager a través de HTTPS. Secure Source Manager requiere la versión 395.0.0 de Google Cloud CLI o una posterior.
Para solucionar este problema, sigue estos pasos:
Ejecuta el siguiente comando para determinar el contenido de tu configuración global de Git.
git config --list | grep credentialSi ves alguna línea similar a
*credential*.helper=storeen macOS ocredential.helper = manageren Windows, quítalas y, luego, vuelve a autenticarte congcloud auth loginantes de volver a intentar el comando de Git.Si la respuesta no incluye
credential.https://*.*.sourcemanager.dev.helper=gcloud.shen macOS o Linux, ocredential.https://*.*.sourcemanager.dev.helper=gcloud.cmden Windows, agrega el asistente de autenticación de Secure Source Manager a tu configuración global de Git:Linux
Para agregar el auxiliar de autenticación de Secure Source Manager a tu configuración global de Git, ejecuta el siguiente comando:
git config --global credential.'https://*.*.sourcemanager.dev'.helper gcloud.shPara validar que la línea de ayuda de autenticación se agregó a tu configuración global de Git, ejecuta el siguiente comando:
git config --list | grep credentialEl resultado debe incluir
credential.https://*.*.sourcemanager.dev.helper=gcloud.sh.Para autenticar, ejecuta
gcloud auth login.Ejecuta un comando de Git para probar la autenticación.
Windows
- Verifica tu versión de gcloud CLI siguiendo las instrucciones de Instala Git y Google Cloud CLI.
Para agregar el auxiliar de autenticación de Secure Source Manager a tu configuración global de Git, ejecuta el siguiente comando:
git config --global credential.https://*.*.sourcemanager.dev.helper gcloud.cmdPara validar que la línea de ayuda de autenticación se agregó a tu configuración global de Git, ejecuta el siguiente comando:
git config --list | grep credentialEl resultado debe incluir
credential.https://*.*.sourcemanager.dev.helper=gcloud.cmd.Para autenticar, ejecuta
gcloud auth login.Ejecuta un comando de Git para probar la autenticación.
Si anteriormente configuraste la credencial de tu host de Git como
gcloud.sh, pero recibes un error como'credential-gcloud.sh' is not a git command, esto indica que Git no puede encontrar la secuencia de comandosgit-credential-gcloud.shenPATHpara tu máquina. Actualiza tuPATHo reemplaza elgcloud.shen tu archivo gitconfig por la ruta absoluta.
Las solicitudes HTTPS de Git fallan con un token no válido
Se requiere un token de OAuth válido como contraseña para las operaciones HTTPS de Git. Normalmente, esto lo controla el asistente de credenciales de Git, pero también puede funcionar con tokens de OAuth generados con otros enfoques (por ejemplo, credenciales predeterminadas de la aplicación).
Si se rechaza una solicitud de Git debido a un token no válido, normalmente significa que no se pudo extraer la información del usuario del token entrante. Este error puede deberse a varios motivos:
Es posible que haya vencido tu acceso a gcloud CLI.
Vuelve a acceder con
gcloud auth login.Tu token no tiene el alcance suficiente. Se espera que los tokens de OAuth tengan los siguientes permisos:
https://www.googleapis.com/auth/cloud-platformhttps://www.googleapis.com/auth/userinfo.email
Puedes verificar el alcance del token llamando a
curl https://oauth2.googleapis.com/tokeninfo?access_token=${TOKEN}Usas un token generado a partir de la identidad para cargas de trabajo de la flota de GKE:
- No se admiten los tokens sin procesar generados a partir de la identidad de carga de trabajo de la flota de GKE. Para obtener más información, consulta SSM devuelve un error cuando se usan tokens de KSA con la identidad de carga de trabajo de la flota de GKE.
Tienes políticas de la organización que impiden el uso de tokens fuera de ciertos perímetros, por ejemplo, el acceso adaptado al contexto.
Para resolver este problema, establece la propiedad de configuración de gcloud CLI
git_helper_use_adcentruey actualiza tus credenciales predeterminadas de la aplicación (ADC):Accede con las credenciales predeterminadas de la aplicación:
gcloud auth application-default loginEstablece la propiedad
git_helper_use_adc:gcloud config set auth/git_helper_use_adc true
Las solicitudes HTTPS de Git fallan en macOS con el error 403 debido a credenciales obsoletas
Cuando realizas operaciones de Git a través de HTTPS en macOS, es posible que recibas un error 403.
Este problema puede ocurrir en macOS si usas el llavero de iCloud, que puede interferir con los tokens de autenticación de gcloud CLI almacenando y sincronizando tokens obsoletos. Estos tokens vencidos pueden provocar que falle la autenticación con Secure Source Manager, incluso después de que vuelvas a autenticarte con gcloud auth login.
Para resolver este problema, borra manualmente las credenciales obsoletas del Acceso a Llavero:
- Abre la aplicación Acceso a Llaveros en tu Mac (ubicada en
/Applications/Utilities/). - Busca
sourcemanager.dev. - Borra las entradas de tipo "contraseña de Internet" que coincidan con
*.*.sourcemanager.devo la URL de tu instancia de Secure Source Manager. Para ello, haz clic con el botón derecho en la entrada y selecciona Borrar. - Después de borrar las entradas, vuelve a intentar la operación de Git. Es posible que se te solicite que vuelvas a autenticarte con gcloud CLI. Si las operaciones de Git siguen fallando, ejecuta
gcloud auth loginantes de volver a intentarlo.
SSM devuelve un error cuando se usan tokens de cuentas de servicio de Kubernetes (KSA) con la identidad de carga de trabajo de la flota de GKE
Cuando se usa la identidad de carga de trabajo de flota de GKE, Secure Source Manager no admite los tokens de KSA sin procesar. Si usas estos tokens, se producirá un error.
Para resolver este problema, debes suplantar una cuenta de servicio y vincular la carga de trabajo a una cuenta de servicio de Google. También debes agregar la siguiente anotación a tu configuración de KSA:
iam.gke.io/gcp-service-account: SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com
El proyecto no aparece en el selector de productos de la interfaz web
Cuando usas el selector de productos de la interfaz web de Secure Source Manager, no aparece tu proyecto.
Este problema ocurre cuando tienes varias credenciales de acceso para Secure Source Manager.
Para solucionar este problema, sigue estos pasos:
Borra las cookies agregando lo siguiente a la URL de tu instancia de Secure Source Manager:
/_oauth/consentPor ejemplo, si la URL de tu instancia es
https://my-instance-098765432123.us-central1.sourcemanager.dev/, ingresahttps://my-instance-098765432123.us-central1.sourcemanager.dev/_oauth/consenten la barra de direcciones del navegador y, luego, accede con las credenciales correctas.
El archivo de activación no activa compilaciones
Si las compilaciones no se activan según lo esperado después de enviar el archivo de activadores, es posible que tengas uno de los siguientes problemas:
- El archivo de activadores no está en la rama predeterminada. Para resolver este problema, mueve el archivo de activadores a tu rama predeterminada.
- El archivo de activadores tiene un formato no válido. Este error se indica con un banner en la página del repositorio que dice
Build triggers configuration error: .... Para corregir este problema, consulta el esquema del archivo de activadores. Cuando la configuración del archivo de activadores es correcta, el banner de la página del repositorio muestra el mensajeValid build triggers configuration.
Error de configuración de los activadores de compilación
Después de enviar tu archivo triggers.yaml al repositorio de Secure Source Manager, aparece el siguiente error en un banner:
Build cannot be created.
Este problema ocurre por los siguientes motivos:
- El archivo de configuración de Cloud Build tiene opciones o un formato no válidos.
- El agente de servicio de Secure Source Manager no tiene el rol de creador de tokens de cuenta de servicio en la cuenta de servicio administrada por el usuario del repositorio.
- La cuenta de servicio administrada por el usuario no tiene el rol de usuario de cuenta de servicio en la cuenta de servicio de Cloud Build.
- La cuenta de servicio administrada por el usuario no tiene el rol de Editor de Cloud Build en el proyecto en el que se ejecutan las compilaciones.
- La política de la organización
iam.disableCrossProjectServiceAccountUsagebloquea el uso de la cuenta de servicio administrada por el usuario (si la cuenta de servicio está en un proyecto diferente).
Para solucionar este problema, haz lo siguiente:
- Asegúrate de seguir el esquema de archivo de activadores correcto.
- Verifica que se hayan otorgado todos los roles obligatorios. Consulta Roles obligatorios de la cuenta de servicio.
- Si usas una cuenta de servicio administrada por el usuario en un proyecto diferente, verifica que la política de la organización
iam.disableCrossProjectServiceAccountUsageesté inhabilitada en el proyecto que aloja la cuenta de servicio.
La compilación falla durante la ejecución
Si una compilación se activa correctamente, pero falla durante la ejecución, la confirmación asociada tendrá el estado de confirmación Fallida.
Para solucionar problemas relacionados con una compilación fallida, en la página del repositorio, junto al estado de la confirmación fallida, haz clic en Detalles.
Se abrirá el registro de ejecución de Cloud Build. Para obtener más información sobre la solución de problemas de compilaciones en Cloud Build, consulta Soluciona errores de compilación.
Se rechazó la operación git push porque se detectaron datos sensibles
Cuando envías confirmaciones a un repositorio con la función de análisis de secretos habilitada, el envío falla y se muestra un mensaje de error similar al siguiente:
remote: Push rejected: Sensitive data detected.
Este problema se produce cuando el análisis de secretos o una plantilla de inspección personalizada identifican información sensible en tu historial de confirmaciones.
Para solucionar este problema, sigue estos pasos:
- Revierte la confirmación problemática con
git reset --softy quita la información sensible antes de volver a confirmar. Si la información detectada es aceptable y tienes los permisos adecuados, omite la verificación con la opción de envío
-o dlpskip=true:git push -o dlpskip=true origin BRANCH_NAME
La cuota diaria no se restablece después de la recreación
Después de borrar una instancia de Secure Source Manager y volver a crearla con el mismo ID de instancia el mismo día, es posible que recibas un error de cuota agotada o límite alcanzado para el análisis de secretos.
Este problema se produce porque la cuota de análisis de secretos es una cuota de velocidad diaria vinculada al ID de la instancia. Si borras y vuelves a crear una instancia con el mismo ID el mismo día, no se restablece el uso de la cuota.
Para resolver este problema, puedes realizar una de las siguientes acciones:
- Espera hasta el segundo día para que el uso de la cuota diaria se restablezca automáticamente en 0.
- Vuelve a crear la instancia con un ID de instancia diferente y único.
- Omite la detección de secretos de forma temporal o solicita un aumento de cuota. Para obtener más información, consulta Cómo aumentar la cuota disponible.
Error al configurar la cuenta de servicio del repositorio
Aparece el siguiente error cuando intentas crear o actualizar un repositorio con una cuenta de servicio administrada por el usuario:
Permission denied on resource ...
Este problema se produce cuando no tienes el rol de usuario de cuenta de servicio (roles/iam.serviceAccountUser) en la cuenta de servicio que intentas asociar con el repositorio. Secure Source Manager verifica que tengas permiso para actuar como la cuenta de servicio antes de permitirte asociarla con el repositorio.
Para resolver este problema, pídele a tu administrador que te otorgue el rol de usuario de cuenta de servicio en la cuenta de servicio.