Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
DevSecOps, talvolta denominato Secure DevOps, si basa sui principi di DevOps , ma pone la sicurezza al centro dell'intero ciclo di vita dell'applicazione. Questo concetto è denominato "shift-left security": sposta la sicurezza a monte da una preoccupazione di sola produzione per comprendere le fasi iniziali della pianificazione e dello sviluppo. Ogni team e persona che lavora su un'applicazione è necessario per prendere in considerazione la sicurezza.
Microsoft e GitHub offrono soluzioni per acquisire fiducia nel codice eseguito nell'ambiente di produzione. Queste soluzioni esaminano il codice e ne consentono la tracciabilità fino agli elementi di lavoro e alle informazioni dettagliate sui componenti di terze parti in uso.
Proteggere il codice con GitHub
Gli sviluppatori possono usare strumenti di analisi del codice che analizzano rapidamente e automaticamente il codice in un repository GitHub per trovare vulnerabilità di sicurezza ed errori di codifica.
È possibile analizzare il codice per trovare, valutare e classificare in ordine di priorità le correzioni per i problemi esistenti. L'analisi del codice impedisce inoltre agli sviluppatori di introdurre nuovi problemi. È possibile pianificare analisi per giorni e ore specifici oppure attivare analisi quando si verifica un evento specifico nel repository, ad esempio un push. È anche possibile tenere traccia delle dipendenze del repository e ricevere avvisi di sicurezza quando GitHub rileva dipendenze vulnerabili.
- Analizzare il codice con CodeQL e l'analisi dei token
- Gestire gli avvisi di sicurezza per i progetti
- Proteggere le dipendenze del codice con Dependabot
Tenere traccia del lavoro con Azure Boards
Teams può usare il servizio Web Azure Boards per gestire i progetti software. Azure Boards offre un'ampia gamma di funzionalità, tra cui il supporto nativo per Scrum e Kanban, i dashboard personalizzabili e la creazione di report integrati.
Creare e distribuire contenitori con Azure Pipelines
Integrare facilmente i cluster Azure Pipelines e Kubernetes. È possibile usare gli stessi documenti YAML per compilare pipeline in più fasi come codice sia per l'integrazione continua che per il recapito continuo.
Azure Pipelines integra la traccia dei metadati nelle immagini del contenitore, inclusi hash di commit e numeri di emissione da Azure Boards, in modo da poter esaminare le applicazioni in modo sicuro.
La possibilità di creare pipeline di distribuzione con file YAML e archiviarle nel controllo del codice sorgente consente di creare un ciclo di feedback più stretto tra i team di sviluppo e operazioni che si basano su documenti chiari e leggibili.
- Archiviare immagini Docker in Registro Azure Container
- Creare un'immagine Docker con Azure Pipelines
- Eseguire la distribuzione in Kubernetes con tracciabilità completa
- Proteggere Azure Pipelines
Eseguire ed eseguire il debug di contenitori con Bridge to Kubernetes
Lo sviluppo di un'applicazione Kubernetes può risultare complesso. Sono necessari file di configurazione docker e Kubernetes. È necessario capire come testare l'applicazione in locale e interagire con altri servizi dipendenti. Potrebbe essere necessario sviluppare e testare più servizi contemporaneamente e con un team di sviluppatori.
Bridge a Kubernetes consente di eseguire ed eseguire il debug del codice nel computer di sviluppo, pur continuando a connettersi al cluster Kubernetes con il resto dell'applicazione o dei servizi. È possibile testare il codice end-to-end, raggiungere i punti di interruzione nel codice in esecuzione nel cluster e condividere un cluster di sviluppo tra i membri del team senza interferenze.
Applicare la sicurezza dei contenitori con Microsoft Defender per contenitori e Criteri di Azure
Microsoft Defender per contenitori è la soluzione nativa del cloud per proteggere i contenitori.
- Panoramica di Microsoft Defender per contenitori
- Informazioni su Criteri di Azure per i cluster Kubernetes
- Servizio Azure Kubernetes (AKS)
Gestire le identità e l'accesso con Microsoft Identity Platform
Microsoft Identity Platform è un'evoluzione della piattaforma per sviluppatori di Azure Active Directory (Azure AD). Consente agli sviluppatori di creare applicazioni che accedono a tutte le identità Microsoft e ottengono token per chiamare api Microsoft, ad esempio Microsoft Graph o API create da sviluppatori.
Microsoft Entra External ID fornisce l'identità business-to-customer come servizio. I clienti usano le identità di account locali, aziendali o social preferite per ottenere l'accesso Single Sign-On alle applicazioni e alle API.
La gestione degli accessi per le risorse cloud è una funzione fondamentale per qualsiasi organizzazione che usa il cloud. Il controllo degli accessi in base al ruolo di Azure consente di gestire chi può accedere alle risorse di Azure, le operazioni che possono eseguire con tali risorse e quali aree possono accedere.
È possibile usare Microsoft Identity Platform per eseguire l'autenticazione con gli altri strumenti DevOps, incluso il supporto nativo in Azure DevOps e le integrazioni con GitHub Enterprise.
Attualmente, un cluster del servizio Azure Kubernetes (in particolare, il provider di servizi cloud Kubernetes) richiede un'identità per creare risorse aggiuntive, ad esempio servizi di bilanciamento del carico e dischi gestiti in Azure. Questa identità può essere un'identità gestita o un'entità servizio. Se si usa un'entità servizio, è necessario specificare uno o il servizio Azure Kubernetes ne crea uno per conto dell'utente. Se si usa l'identità gestita, ne verrà creata automaticamente una dal servizio Azure Kubernetes. Per i cluster che usano entità servizio, l'entità servizio deve essere rinnovata alla fine per mantenere il cluster funzionante. La gestione delle entità servizio aggiunge complessità, motivo per cui è più facile usare le identità gestite. Gli stessi requisiti di autorizzazione si applicano sia per le entità servizio che per le identità gestite.
Le identità gestite sono essenzialmente un wrapper per le entità servizio e semplificano la gestione.
Gestire chiavi e segreti con Azure Key Vault
Azure Key Vault può essere usato per archiviare e controllare in modo sicuro l'accesso a token, password, certificati, chiavi API e altri segreti. La centralizzazione dell'archiviazione dei segreti dell'applicazione in Key Vault consente di controllare la distribuzione. Key Vault riduce notevolmente le probabilità che i segreti vengano accidentalmente persi. Quando si usa Key Vault, gli sviluppatori di applicazioni non devono più archiviare le informazioni di sicurezza nell'applicazione, eliminando così la necessità di rendere queste informazioni parte del codice. Ad esempio, potrebbe essere necessario che un'applicazione si connetta a un database. Anziché archiviare la stringa di connessione nel codice dell'app, è possibile archiviarla in modo sicuro in Key Vault.
Monitorare le applicazioni
Con Monitoraggio di Azure è possibile monitorare sia l'applicazione che l'infrastruttura in tempo reale, identificando i problemi relativi al codice e alle potenziali attività sospette e anomalie. Monitoraggio di Azure si integra con le pipeline di versione in Azure Pipelines per abilitare l'approvazione automatica dei controlli di qualità o il rollback delle versioni in base ai dati di monitoraggio.
Informazioni su come monitorare le applicazioni e l'infrastruttura usando Azure Application Insights e Monitoraggio di Azure.
- Gestione delle prestazioni delle applicazioni con Application Insights
- Monitorare le applicazioni in contenitori con Monitoraggio di Azure
Creare l'architettura corretta
La sicurezza è uno degli aspetti essenziali di qualsiasi architettura. La sicurezza offre garanzie di riservatezza, integrità e disponibilità contro attacchi intenzionali e abusi di dati e sistemi preziosi. La perdita di queste garanzie può influire negativamente sulle operazioni e sui ricavi aziendali, nonché sulla reputazione dell'organizzazione nel marketplace.