Integrera Defender för molnet CLI med CI/CD-pipelines
Defender för molnet Kommandoradsgränssnitt (CLI) är ett program som du kan använda i CI/CD-pipelines (kontinuerlig integrering och kontinuerlig distribution). Den kör statiska analysverktyg och ansluter kod till molntjänster. Du kan använda Defender för molnet CLI i alla byggprocesser för att söka efter säkerhetsrisker med inbyggda säkerhetsskannrar. Genomsökningsresultatet skickas till Defender för molnet-portalen. Cloud Security Explorer kan sedan komma åt containeravbildningen och dess sårbarheter.
Förutsättningar
En Azure-prenumeration med Defender för molnet registrerad. Om du inte redan har ett Azure-konto skapar du ett kostnadsfritt.
Ett av följande CI/CD-pipelineverktyg: Jenkins, BitBucket Pipelines, Google Cloud Build, Bamboo, CircleCI, Travis CI, TeamCity, Oracle DevOps services, AWS CodeBuild
För Azure DevOps är Microsoft Security DevOps-tillägget (MSDO) installerat i Azure DevOps-organisationen.
Defender CSPM aktiverat.
Behörighet som säkerhetsadministratör för att skapa klient-ID och hemlighet.
Ställ in
I följande avsnitt förklarar vi hur du hämtar klient-ID och hemligheter, uppdaterar CI/CD-pipelineskriptet och lägger till miljövariabler i CI/CD-pipelinen.
Hämta API-token
För att säkerhetsadministratören i Defender för molnet ska kunna skicka säkerhetsdata från Defender för molnet CLI till Defender för molnet serverdel måste först generera en API-nyckel från Defender för molnet för autentisering.
När token genereras väljer säkerhetsadministratören ett prenumerationsomfång som ska associeras med token. Data som "pushas" till Defender för molnet från den här token är begränsade till prenumerationen som token är associerad med. Dessa API-token är oföränderliga och kan bara genereras/tas bort.
Därifrån måste säkerhetsadministratören på ett säkert sätt skicka token till utvecklare för att läggas till i CI/CD-pipelinen.
Logga in på Azure-portalen.
Gå till Microsoft Defender för molnet> Hantera>miljöinställningar>för integreringar.
Välj Lägg till integrering och välj sedan DevOps-inmatning.
Ange ett beskrivande namn för token, den valda klientorganisationen lagrar tokeninformationen. Klienthemligheten genereras när du anger en beskrivning av hemligheten och förfallodatumet.
Aktivera token i konfigurationen och skapa token.
Kopiera varje token. De kan inte redigeras eller hämtas när du har valt OK.
I tabellen Integreringar visas den nya inmatningen .
Uppdatera CI/CD-pipelineskriptet
Varje CI/CD-pipelineverktyg har olika syntax. Den här koden är ett exempel på en Bitbucket-pipeline:
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
Pipeline-variabler
När du har tagit emot token på ett säkert sätt måste utvecklaren konfigurera en miljövariabel för nyckeln. Miljövariabeln skickas till CLI via shell-skriptet som utvecklaren kan ta emot från curl eller manuellt kopiera shell-skriptet till lagringsplatsen.
Name | Värde |
---|---|
GDN_PUSH_TOKEN_CLIENT_ID | <Klient-ID> |
GDN_PUSH_TOKEN_CLIENT_ID | <Klient-ID> |
GDN_PUSH_TOKEN_CLIENT_SECRET | <Klienthemlighet> |
GDN_PIPELINENAME | bitbucket, jenkins, gcp, bambu, cirkel, travis, teamcity, oci, aws |
GDN_PUSH_TOKEN_TENANT_ID | <Klientorganisations-ID> |
Granska resultaten i Cloud Security Explorer
När du har kört pipelinen navigerar du igen till Microsoft Defender för molnet.
I menyn Defender för molnet väljer du Cloud Security Explorer.
Välj listrutan Välj resurstyper , välj DevOps och välj sedan Klar.
+ Välj ikonen för att lägga till ett nytt sökvillkor.
Välj listrutan Välj villkor. Välj sedan Data och välj sedan Push-meddelanden.
Välj listrutan Välj resurstyper. Välj sedan Containrar, sedan Containeravbildningar och välj sedan Klar.
Välj det omfång som valdes när integreringen skapades i miljöinställningarna.
Välj Sök.
Se resultatet av pipeline-till-avbildningsmappning.
Korrelera med övervakade containrar
I Cloud Security Explorer anger du följande fråga: CI/CD Pipeline ->Pipeline + Container Images ->Contained in + Container registers (group).
Granska resursnamnen för att se containermappningen.