Eseguire il mapping delle immagini del contenitore dal codice al runtime

Quando Defender per il cloud rileva una vulnerabilità in un'immagine del container, può risultare difficile ricondurre tale immagine all'esecuzione originale della pipeline CI/CD. Questa sfida è comune se l'immagine si trova in un registro contenitori o in esecuzione in un cluster Kubernetes. Senza il contesto della pipeline, è più difficile trovare lo sviluppatore giusto e iniziare rapidamente la correzione. Defender Cloud Security Posture Management (CSPM) include funzionalità di sicurezza DevOps che eseguono il mapping dei carichi di lavoro dei contenitori dal codice al cloud, in modo che i team possano iniziare a correggere più velocemente.

Questo articolo spiega i metodi di mappatura disponibili, i prerequisiti per ciascuno e come verificare la mappatura code-to-runtime risultante nel portale Azure. Prima di iniziare, assicurati che i prerequisiti richiesti per Defender CSPM o Defender for Containers siano soddisfatti.

Codice in fase di esecuzione: prerequisiti tecnici

Per stabilire le relazioni tra codice e runtime, sono necessari i prerequisiti seguenti.

Prerequisiti generali (tutti i metodi)

I prerequisiti seguenti si applicano indipendentemente dal metodo di mapping usato:

  • Defender CSPM (Cloud Security Posture Management) o Defender per contenitori devono essere abilitati nell'ambiente cloud.
    • Un set limitato di funzionalità di mapping è incluso in Defender per contenitori.
  • Le immagini container devono essere create tramite una pipeline CI/CD.
    • Le immagini compilate manualmente e di cui viene eseguito il push non sono supportate, anche se alcune immagini compilate manualmente potrebbero essere ancora visualizzate nei risultati del mapping.
  • Le immagini del contenitore devono essere individuabili da Defender per il cloud, in uno dei casi seguenti:
    • Essere archiviato in un registro contenitori supportato, o
    • Esecuzione in un ambiente Kubernetes supportato

Opzione 1: Connettere l'ambiente di codice a Defender per il cloud

Quando si collega un ambiente Azure DevOps o GitHub a Defender per il cloud, viene attivato automaticamente un insieme di strumenti automatici. Gli strumenti automatizzati non influenzano i flussi di lavoro DevOps esistenti e consentono la mappatura code-to-runtime.

Note

  • Attualmente supportato per Azure DevOps e GitHub
  • Le immagini del contenitore compilate e distribuite prima della connessione potrebbero avere un supporto limitato

Per i passaggi per collegare un ambiente di codice a Defender per il cloud, vedi:

Opzione 2: mapping basato sulle etichette Docker

Il mapping basato sulle etichette Docker si basa sui metadati incorporati direttamente nell'immagine del contenitore in fase di compilazione. Defender per il cloud estrae questi metadati dal manifesto dell'immagine OCI/Docker e lo usa per correlare l'immagine al repository di origine.

Per maggiori informazioni sulla mappatura basata sulle etichette Docker, vedi:

Note

  • La mappatura basata sulle etichette Docker non richiede un connettore DevOps.
  • Il mapping viene eseguito per gli ambienti Kubernetes coperti da Defender CSPM o Defender per i contenitori.

Opzione 3: Mapping basato sulle attestazioni di GitHub

Il mapping basato sull'attestazione usa metadati di provenienza verificabili in modo crittografico generati durante i flussi di lavoro di GitHub Actions. Queste attestazioni collegano le immagini del container al repository di origine esatto, al commit e all'identità di build.

Per maggiori informazioni sulla mappatura basata sull'attestazione, vedi:

Verificare il mapping del codice al runtime (portale di Azure)

Indipendentemente dal metodo di mappatura che usi (connettore DevOps, etichette Docker o attestazioni GitHub), puoi verificare la mappatura code-to-runtime risultante nel portale Azure. L'esempio seguente mostra come visualizzare i risultati della mappatura dopo aver costruito un'immagine container in una pipeline Azure DevOps CI/CD e averla inviata in un registro. Usa Cloud Security Explorer per visualizzare la mappatura:

  1. Accedi al portale di Azure.

  2. Accedi a Microsoft Defender per il cloud>Cloud Security Explorer. La mappatura delle immagini del contenitore può richiedere fino a quattro ore prima di essere visualizzata.

  3. Per visualizzare il mapping di base, selezionare Immagini del contenitore>+>Invia dai repository di codice.

    Screenshot che mostra come trovare il mapping di base dei contenitori.

  4. (Facoltativo) Selezionare + per Immagini contenitore per aggiungere filtri alla query, ad esempio Presenta vulnerabilità, per visualizzare solo le immagini del contenitore con vulnerabilità ed esposizioni comuni( CVE).

  5. Dopo aver eseguito la query, viene visualizzata l'associazione tra il registro contenitori e la pipeline. Selezionare ... accanto alla linea di connessione (bordo) per visualizzare altri dettagli.

    Screenshot che illustra una query avanzata per i risultati della mappatura dei contenitori.

Passaggi successivi