Integrare Defender per il cloud'interfaccia della riga di comando con pipeline CI/CD
Defender per il cloud'interfaccia della riga di comando (CLI) è un'applicazione che è possibile usare nelle pipeline di integrazione continua e distribuzione continua (CI/CD). Esegue strumenti di analisi statici e connette il codice ai servizi cloud. È possibile usare Defender per il cloud interfaccia della riga di comando in qualsiasi processo di compilazione per analizzare le immagini per individuare le vulnerabilità di sicurezza con scanner di sicurezza predefiniti. Invia i risultati dell'analisi al portale di Defender per il cloud. Cloud Security Explorer può quindi accedere all'immagine del contenitore e alle relative vulnerabilità.
Prerequisiti
Una sottoscrizione di Azure con Defender per il cloud di cui è stato eseguito l'onboarding. Se non si ha già un account Azure, crearne uno gratuitamente.
Uno degli strumenti di pipeline CI/CD seguenti: Jenkins, BitBucket Pipelines, Google Cloud Build, Bamboo, CircleCI, Travis CI, TeamCity, Oracle DevOps services, AWS CodeBuild
Per Azure DevOps, l'estensione Microsoft Security DevOps (MSDO) installata nell'organizzazione Azure DevOps.
Defender CSPM abilitato.
Autorizzazione amministratore della sicurezza per creare l'ID client e il segreto.
Attrezzaggio
Nelle sezioni seguenti viene illustrato come recuperare l'ID client e i segreti, aggiornare lo script della pipeline CI/CD e aggiungere variabili di ambiente alla pipeline CI/CD.
Recuperare il token API
Per consentire il passaggio dei dati di sicurezza dall'interfaccia della riga di comando di Defender per il cloud al back-end Defender per il cloud, l'amministratore della sicurezza in Defender per il cloud deve prima generare una chiave API da Defender per il cloud per l'autenticazione.
Quando vengono generati token, l'amministratore della sicurezza seleziona un ambito di sottoscrizione da associare al token. I dati di cui viene eseguito il push in Defender per il cloud da questo token hanno come ambito la sottoscrizione a cui è associato il token. Questi token API non sono modificabili e possono essere generati/eliminati solo.
Da qui, l'amministratore della sicurezza deve passare in modo sicuro il token agli sviluppatori da aggiungere alla pipeline CI/CD.
Accedere al portale di Azure.
Passare a Microsoft Defender per il cloud> Gestione>delle impostazioni>dell'ambiente.
Selezionare Aggiungi integrazione e quindi DevOps Inserimento.
Immettere un nome descrittivo per il token, il tenant selezionato archivia le informazioni sul token. Il segreto client viene generato quando si immette una descrizione per il segreto e la data di scadenza.
Abilitare il token nella configurazione e creare i token.
Copiare ogni token. Non possono essere modificati o recuperati dopo aver selezionato OK.
Nella tabella Integrazioni viene visualizzato il nuovo inserimento.
Aggiornare lo script della pipeline CI/CD
Ogni strumento pipeline CI/CD ha una sintassi diversa. Questo codice è un esempio di pipeline Bitbucket:
image: atlassian/default-image:3
pipelines:
default:
- parallel:
- step:
name: 'MSDO trivy test'
script:
- curl -L -o ./msdo_linux.zip https://www.nuget.org/api/v2/package/Microsoft.Security.DevOps.Cli.linux-x64/
- unzip ./msdo_linux.zip
- chmod +x tools/guardian
- chmod +x tools/Microsoft.Guardian.Cli
- ls -lah .
- tools/guardian init --force
- tools/guardian run -t trivy --export-file ./ubuntu-test.sarif --publish-file-folder-path ./ubuntu-test.sarif
Variabili della pipeline
Dopo aver ricevuto in modo sicuro i token, lo sviluppatore deve configurare una variabile di ambiente per la chiave. La variabile di ambiente viene passata all'interfaccia della riga di comando tramite lo script della shell che lo sviluppatore può ricevere da curl o copiando manualmente lo script della shell nel repository.
Nome | Valore |
---|---|
GDN_PUSH_TOKEN_CLIENT_ID | <ID client> |
GDN_PUSH_TOKEN_CLIENT_ID | <ID client> |
GDN_PUSH_TOKEN_CLIENT_SECRET | <Segreto client> |
GDN_PIPELINENAME | bitbucket, jenkins, gcp, bamboo, circle, travis, teamcity, oci, aws |
GDN_PUSH_TOKEN_TENANT_ID | <ID tenant> |
Esaminare i risultati in Cloud Security Explorer
Dopo aver eseguito correttamente la pipeline, passare di nuovo a Microsoft Defender per il cloud.
Nel menu Defender per il cloud selezionare Cloud Security Explorer.
Selezionare l'elenco a discesa Seleziona tipi di risorse, selezionare DevOps e quindi fare clic su Fine.
Selezionare l'icona + per aggiungere nuovi criteri di ricerca.
Scegliere l'elenco a discesa Seleziona condizione . Selezionare Quindi Dati e quindi Push.
Scegliere l'elenco a discesa Seleziona tipi di risorse. Selezionare quindi Contenitori, quindi Immagini contenitore e quindi Fine.
Selezionare l'ambito selezionato durante la creazione dell'integrazione in Impostazioni ambiente.
Seleziona Cerca.
Vedere i risultati della pipeline al mapping delle immagini.
Correlare con i contenitori monitorati
In Cloud Security Explorer immettere la query seguente: PIPELINE CI/CD -Pipeline + Container Images ->>Contained in + Container registers (group).
Esaminare i nomi delle risorse per visualizzare il mapping dei contenitori.