Ofrecemos múltiples enfoques para conectar el SCW Trust Agent a su herramienta de gestión de código fuente basada en Git. Cada enfoque tiene sus ventajas y limitaciones, y podemos ayudarle a tomar una decisión basada en el entorno y las políticas específicas de su organización.
Todos los enfoques resumen únicamente los metadatos de confirmación, incluidos:
- Nombre del autor y del autor de la confirmación
- Dirección de correo electrónico del autor y del autor de la confirmación
- Fecha y hora de la confirmación
- Lista de lenguajes de programación asociados a la confirmación basada en los archivos modificados
El Agente de confianza de SCW almacena estos datos resumidos para generar paneles e informes y realizar acciones de automatización, como optimizar las rutas de aprendizaje de Secure Code Warrior o aplicar la política configurada.
En las instalaciones
Este enfoque proporciona una combinación de flexibilidad y mitigación de riesgos mediante la ejecución de un contenedor dentro de su entorno configurado y gestionado por su equipo. Esto compensa el riesgo de tener una plataforma de terceros conectada directamente a su herramienta de gestión de código fuente.
El contenedor local es configurable y puede funcionar tanto con plataformas de gestión del código fuente basadas en la nube como con plataformas locales. El contenedor local puede ejecutarse con una frecuencia regular para conectarse automáticamente a los repositorios designados y enviar datos resumidos al agente de confianza de SCW. En ningún momento el código fuente de su organización, o las claves para acceder al código fuente de su organización, abandonan su entorno bajo este enfoque.
- Hemos publicado la imagen Docker local en
ghcr.io/securecodewarrior/trust-agent:latest.
- También puede fijar una etiqueta de versión específica. La última versión es
ghcr.io/securecodewarrior/trust-agent:fbdb3ea
- También puede fijar una etiqueta de versión específica. La última versión es
- La imagen Docker local puede ejecutarse en la plataforma de contenedores de su elección, por ejemplo, Docker, Kubernetes, etc.
- Configure el contenedor con lo siguiente:
- Conectividad de red a sus repositorios Git a través de HTTPS
- Conectividad de red a subdominios bajo prod.securecodewarrior.com
- Suficiente espacio en disco para clonar sus repositorios Git
- Las siguientes variables de entorno deben pasarse al contenedor cuando se ejecute:
-
SCW_API_KEY
- Su clave SCW Admin API. Siga esta guía para crear su clave Admin API. -
SCW_API_URL
- La URL de su punto final de la API de SCW. Consulte la pantalla Manage Connections para obtener la URL específica de su punto final. A continuación se muestra un ejemplo:
-
REPO_URLS
- Una lista separada por comas de URL de repositorios Git sin espacios. Por ejemplo,https://git.local/projects/project1.git,https://git2.internal/projects/projectX.git
- Tenga en cuenta que actualmente sólo se soportan URLs de repositorios Git HTTPS, por ejemplo
- Los requisitos de autenticación pueden variar según la plataforma Git, por lo que te recomendamos que consultes la documentación de tu plataforma Git para conocer los tipos de credenciales compatibles.
-
- Las siguientes variables de entorno son opcionales y pueden pasarse al contenedor cuando se ejecuta para controlar comportamientos específicos:
-
SKIP_CERTIFICATE_CHECK
- Póngalo atrue
para omitir la verificación del certificado. Esto puede ser necesario cuando se conecta a servidores de gestión de código fuente con certificados SSL/TLS emitidos internamente, ya que los certificados raíz y emisor no son públicos. Esto está pensado sólo para conectarse a sistemas alojados internamente. Tenga en cuenta que el transporte permanece cifrado y la naturaleza interna del tráfico reduce en gran medida la posibilidad de ataques de red que esta verificación está diseñada para evitar.
-
- A continuación se muestran ejemplos para pasando variables de entorno a Docker. Consulte la documentación para otras plataformas de contenedores.
- Pasar variables de entorno mediante opciones de línea de comandos
docker run -e SCW_API_KEY='su_clave_api' -e SCW_API_URL='https://commit-insights-api.prod-us.prod.securecodewarrior.com' -e REPO_URLS='https://service_user:personal_access_token@git.local/projects/project1.git,https://service_user:service_password@git.local/proyectos/proyecto2.git,https://git2.internal/projects/projectX.git' ghcr.io/securecodewarrior/trust-agent:latest
- Pasar variables de entorno a través de un archivo
docker run --env-file env.list ghcr.io/securecodewarrior/trust-agent:latest
- Pasar variables de entorno mediante opciones de línea de comandos
- Sugerimos ejecutar el contenedor local diaria o semanalmente, pero la frecuencia puede ajustarse en función de los requisitos específicos de su organización.
Aplicación GitHub
Este enfoque es específico para organizaciones que utilizan GitHub Cloud o GitHub Enterprise Cloud como su herramienta de gestión de código fuente. Implica un proceso sencillo para instalar una aplicación de GitHub que funciona en el marco del ecosistema de GitHub y se considera el método más sencillo en general. Sin embargo, la aplicación requiere permisos de lectura para acceder a los contenidos del repositorio con el fin de acceder a los datos de confirmación, aunque Secure Code Warrior sólo lee y almacena los metadatos de confirmación resumidos.
- Vaya a la pantalla Manage Connections y haga clic en Add Provider
- Seleccione GitHub App
- Haga clic en Instalar GitHub App en el Paso 1 para abrir el proceso de instalación en una nueva pestaña. Tenga en cuenta que la instalación de la aplicación para una organización GitHub requiere un administrador de la organización.
- Si usted no es un administrador de la organización, podrá solicitar la instalación de la aplicación por un administrador de la organización.
- Si es administrador de una organización, siga los pasos para seleccionar los repositorios a los que tendrá acceso la aplicación e instálela en su organización de GitHub.
- Una vez instalada, vuelve a la pantalla Manage Connections y haz clic en "Authorize" en el Paso 2 para vincular tu tenant Secure Code Warrior a tu Organización GitHub.
Carga manual
Este método no requiere una integración directa con su herramienta de gestión de código fuente basada en Git y se basa en un proceso manual ad hoc para exportar metadatos de confirmación resumidos para cargarlos en el Agente de confianza de SCW. Como resultado, es el método preferido para probar el Agente de confianza de SCW, pero sólo da como resultado una instantánea puntual y no es escalable para un gran número de repositorios.
El proceso de carga manual implica la clonación de los repositorios seleccionados en el sistema local y la ejecución de un script de shell proporcionado para generar los resúmenes de confirmaciones que se pueden cargar a través de la interfaz web del Agente de confianza de SCW. Puede ejecutarse manualmente con la frecuencia que elija. En ningún momento el código fuente de su organización, o las claves para acceder al código fuente de su organización, abandonan su entorno bajo este enfoque.
- Clone el repositorio o repositorios Git (dentro de un único directorio principal) que desea importar al Agente de confianza de SCW localmente en su portátil o estación de trabajo.
- Copie la secuencia de comandos de shell proporcionada, reproducida a continuación como referencia, en el directorio principal del repositorio o repositorios Git clonados localmente
git-export.sh
SUBDIRS=$(find . -type d -name ".git" -exec dirname {} \;) BASEDIR=$(pwd) para SUBDIR en $SUBDIRS hacer cd $SUBDIR NOMBRE_PROYECTO=$(nombre_base -s .git `git config --get remoto.origen.url`) echo "Exportando datos de commit para $SUBDIR" git log --name-only --since="hace 1 año" --no-merges --pretty=format:'- hash: %H committerDate: %cI authorDate: %aI authorEmail: %ae authorName: %an committerEmail: %ce committerName: %cn modifiedFileExtensions:' | sed -e '/^[^ -]/ s/.*\.\(.*\)/ - \1/' | sed -e '/^[^ -]/d' | sed '$!N; /^\(.*\)\n\1$/!P; D' $BASEDIR/scw_gci_$PROJECT_NAME.yaml cd $BASEDIR hecho
- En tu portátil o estación de trabajo, cambia el directorio de trabajo al repositorio Git clonado localmente o al directorio padre de los repositorios
- Ejecute el script de shell git-export.sh para producir un archivo YAML por repositorio
- La exportación YAML es un resumen de los datos confirmados y puede ser inspeccionado antes de subirlo a la red.
- Inspeccione el contenido de los archivos YAML y redacte o elimine cualquier información si es necesario.
- Vaya a la pantalla Manage Connections y haga clic en Add Provider
- Seleccione Carga manual
- Especifique un nombre de organización y de repositorio, y seleccione un archivo YAML para cargar antes de hacer clic en Cargar. El nombre de la organización puede considerarse una carpeta en la que agrupar los repositorios. Repita este paso para todos los archivos YAML exportados.
Comentarios
0 comentarios
El artículo está cerrado para comentarios.