Struttura del corso
1. Concetti e ambito dell'analisi statica del codice
- Definizioni: analisi statica, SAST, categorie di regole e gravità
- Amplitude dell'analisi statica nell'SDLC sicuro e copertura del rischio
- Come SonarQube si integra nei controlli di sicurezza e nei flussi di lavoro degli sviluppatori
2. Panoramica di SonarQube: Funzionalità e Architettura
- Servizi principali, database e componenti dello scanner
- Quality Gates, Quality Profiles e best practice dei Quality Gates
- Funzionalità relative alla sicurezza: vulnerabilità, regole SAST e mapping CWE
3. Navigazione e utilizzo dell'interfaccia utente del server SonarQube
- Guida all'interfaccia del server: progetti, problemi, regole, misure e viste di governance
- Interpretazione delle pagine dei problemi, tracciabilità e indicazioni per la risoluzione
- Generazione report e opzioni di esportazione
4. Configurazione di SonarScanner con strumenti di build
- Configurazione di SonarScanner per Maven, Gradle, Ant e MSBuild
- Best practice per le proprietà dello scanner, esclusioni e progetti multi-modulo
- Generazione dei dati di test necessari e dei report di copertura per un'analisi accurata
5. Integrazione con Azure DevOps
- Configurazione delle connessioni di servizio SonarQube in Azure DevOps
- Aggiunta dei task SonarQube ad Azure Pipelines e decorazione delle Pull Request
- Importazione di Azure Repos in SonarQube e automazione delle analisi
6. Configurazione del progetto e analizzatori di terze parti
- Quality Profiles a livello di progetto e selezione delle regole per Java e Angular
- Lavoro con analizzatori di terze parti e ciclo di vita dei plugin
- Definizione dei parametri di analisi e ereditarietà dei parametri
7. Ruoli, responsabilità e revisione della metodologia di sviluppo sicuro
- Separazione dei ruoli: sviluppatori, revisori, DevOps, responsabili della sicurezza
- Creazione di una matrice di ruoli e responsabilità per i processi CI/CD
- Revisione e processo di raccomandazione per una metodologia di sviluppo sicuro esistente
8. Avanzato: Aggiunta di regole, ottimizzazione e potenziamento delle funzionalità di sicurezza globali
- Utilizzo della Web API di SonarQube per aggiungere e gestire regole personalizzate
- Regolazione dei Quality Gates e applicazione automatica delle policy
- Indurimento della sicurezza del server SonarQube e best practice per il controllo degli accessi
9. Sessioni Lab Pratiche (Applicate)
- Lab A: Configurare SonarScanner per 5 repository Java (Quarkus dove applicabile) e analizzare i risultati
- Lab B: Configurare l'analisi Sonar per 1 front-end Angular e interpretare i risultati
- Lab C: Lab di pipeline completo — integrare SonarQube con una pipeline Azure DevOps e abilitare la decorazione delle PR
10. Test, Troubleshooting e interpretazione dei report
- Strategie per la generazione di dati di test e la misurazione della copertura
- Problemi comuni e risoluzione degli errori di scanner, pipeline e permessi
- Come leggere e presentare i report di SonarQube a stakeholder tecnici e non tecnici
11. Best practice e raccomandazioni
- Selezione dei set di regole e strategie di applicazione incrementale
- Raccomandazioni di workflow per sviluppatori, revisori e pipeline di build
- Strategia per il ridimensionamento di SonarQube in ambienti enterprise
Riepilogo e Prossimi Passi
Requisiti
- Conoscenza del ciclo di vita dello sviluppo software
- Esperienza con il source control e concetti base di CI/CD
- Familiarità con gli ambienti di sviluppo Java o Angular
Target di Riferimento
- Sviluppatori (Java / Quarkus / Angular)
- Ingegneri DevOps e CI/CD
- Ingegneri della sicurezza e revisori della sicurezza delle applicazioni
Recensioni (1)
Coinvolgente e pratica manuale.
Balavignesh Elumalai - Scottish Power
Corso - SonarQube for DevOps
Traduzione automatica