Temario del curso
1. Conceptos y alcance del análisis estático de código
- Definiciones: análisis estático, SAST, categorías de reglas y severidad.
- Alcance del análisis estático en el SDLC seguro y cobertura de riesgos.
- Cómo encaja SonarQube en los controles de seguridad y los flujos de trabajo de los desarrolladores.
2. Visión general de SonarQube: características y arquitectura
- Componentes principales: servicios, base de datos y escáner.
- Portones de calidad, perfiles de calidad y mejores prácticas de los portones de calidad.
- Características relacionadas con la seguridad: vulnerabilidades, reglas SAST y mapeo a CWE.
3. Navegación y uso de la interfaz de usuario del servidor SonarQube
- Tour por la interfaz de usuario del servidor: proyectos, problemas, reglas, métricas y vistas de gobernanza.
- Interpretación de páginas de problemas, trazabilidad y orientación para su resolución.
- Opciones para generar y exportar informes.
4. Configuración de SonarScanner con herramientas de compilación
- Configuración de SonarScanner para Maven, Gradle, Ant y MSBuild.
- Mejores prácticas para propiedades del escáner, exclusiones y proyectos de múltiples módulos.
- Generación de datos de prueba necesarios y reportes de cobertura para un análisis preciso.
5. Integración con Azure DevOps
- Configuración de conexiones de servicio de SonarQube en Azure DevOps.
- Agregado de tareas de SonarQube a las tuberías de Azure y decoración de solicitudes de extracción (PR).
- Importación de Azure Repos a SonarQube y automatización de análisis.
6. Configuración de proyectos y analizadores de terceros
- Perfiles de calidad a nivel de proyecto y selección de reglas para Java y Angular.
- Trabajo con analizadores de terceros y ciclo de vida de complementos.
- Definición de parámetros de análisis y herencia de parámetros.
7. Roles, responsabilidades y revisión de la metodología de desarrollo seguro
- Segregación de roles: desarrolladores, revisores, DevOps y responsables de seguridad.
- Construcción de una matriz de roles y responsabilidades para procesos de CI/CD.
- Revisión y proceso de recomendación para una metodología de desarrollo seguro existente.
8. Avanzado: agregado de reglas, ajuste y mejora de funciones globales de seguridad
- Uso de la API web de SonarQube para agregar y gestionar reglas personalizadas.
- Ajuste de portones de calidad y aplicación automatizada de políticas.
- Fortalecimiento de la seguridad del servidor de SonarQube y mejores prácticas de control de acceso.
9. Sesiones de laboratorio práctico (aplicado)
- Laboratorio A: Configurar SonarScanner para 5 repositorios de Java (con Quarkus donde aplique) y analizar los resultados.
- Laboratorio B: Configurar análisis de Sonar para 1 interfaz frontal en Angular e interpretar los hallazgos.
- Laboratorio C: Laboratorio de tubería completa: integrar SonarQube con una tubería de Azure DevOps y habilitar la decoración de solicitudes de extracción.
10. Pruebas, solución de problemas e interpretación de informes
- Estrategias para la generación de datos de prueba y medición de cobertura.
- Problemas comunes y solución de errores del escáner, la tubería y permisos.
- Cómo leer y presentar informes de SonarQube a partes interesadas técnicas y no técnicas.
11. Mejores prácticas y recomendaciones
- Selección de conjuntos de reglas y estrategias de aplicación incremental.
- Recomendaciones de flujo de trabajo para desarrolladores, revisores y tuberías de compilación.
- Hoja de ruta para escalar SonarQube en entornos empresariales.
Resumen y próximos pasos
Requerimientos
- Comprensión del ciclo de vida del desarrollo de software.
- Experiencia con control de versiones y conceptos básicos de CI/CD.
- Familiaridad con entornos de desarrollo en Java o Angular.
Auditorio
- Desarrolladores (Java / Quarkus / Angular)
- Ingenieros de DevOps y de CI/CD.
- Ingenieros de seguridad y revisores de seguridad de aplicaciones.
Testimonios (1)
Interactiva y práctica hands-on.
Balavignesh Elumalai - Scottish Power
Curso - SonarQube for DevOps
Traducción Automática