Sdílet prostřednictvím


Integrace Defenderu pro Cloud CLI s kanály CI/CD

Defender for Cloud Command Line Interface (CLI) je aplikace, kterou můžete použít v kanálech kontinuální integrace a průběžného nasazování (CI/CD). Spouští nástroje pro statickou analýzu a připojuje kód ke cloudovým službám. Defender for Cloud CLI můžete použít v jakémkoli procesu sestavení ke kontrole ohrožení zabezpečení pomocí integrovaných skenerů zabezpečení. Výsledky kontroly odešle do portálu Defender for Cloud. Průzkumník zabezpečení cloudu pak může přistupovat k imagi kontejneru a jeho ohrožením zabezpečení.

Požadavky

  • Předplatné Azure s onboardovaným programem Defender for Cloud Pokud ještě nemáte účet Azure, vytvořte si ho zdarma.

  • Jeden z následujících nástrojů kanálu CI/CD: Jenkins, BitBucket Pipelines, Google Cloud Build, Bamboo, CircleCI, Travis CI, TeamCity, Oracle DevOps services, AWS CodeBuild

  • V případě Azure DevOps nainstaluje rozšíření Microsoft Security DevOps (MSDO) v organizaci Azure DevOps.

  • Funkce CSPM v programu Defender je povolená.

  • Oprávnění správce zabezpečení k vytvoření ID klienta a tajného klíče

Nastavení

V následujících částech vysvětlujeme, jak načíst ID klienta a tajné kódy, aktualizovat skript kanálu CI/CD a přidat proměnné prostředí do kanálu CI/CD.

Načtení tokenu rozhraní API

Aby bylo možné předávat data zabezpečení z Rozhraní příkazového řádku Defenderu pro cloud do back-endu Defenderu for Cloud, musí správce zabezpečení v Defenderu pro cloud nejprve vygenerovat klíč rozhraní API z Defenderu pro cloud pro ověřování.

Když se vygenerují tokeny, správce zabezpečení vybere obor předplatného, který se k tokenu přidružuje. Data, která se odsílají do Defenderu for Cloud z tohoto tokenu, jsou vymezena na předplatné, ke kterým je token přidružený. Tyto tokeny rozhraní API jsou neměnné a dají se vygenerovat nebo odstranit pouze.

Odsud musí správce zabezpečení bezpečně předat token vývojářům, kteří se mají přidat do kanálu CI/CD.

  1. Přihlaste se k portálu Azure.

  2. Přejděte do Microsoft Defenderu pro integraci nastavení>prostředí pro správu>cloudu.>

    Snímek obrazovky s nastavením prostředí integrace v defenderu pro cloud

  3. Vyberte Přidat integraci a pak vyberte Příjem dat DevOps.

    Snímek obrazovky s novou možností pro příjem dat DevOps

  4. Zadejte popisný název tokenu, ve vybraném tenantovi se uloží informace o tokenu. Tajný klíč klienta se vygeneruje, když zadáte popis tajného klíče a datum vypršení platnosti.

    Snímek obrazovky s přidáním integrace příjmu dat DevOps

  5. Povolte token v konfiguraci a vytvořte tokeny.

    Snímek obrazovky s vytvářením příjmu dat DevOps a vytvářením tokenů

  6. Zkopírujte každý token. Po výběru možnosti OK není možné je upravovat ani načítat.

    Snímek obrazovky úspěšného vytvoření příjmu dat DevOps

  7. V tabulce Integrace se zobrazí nový příjem dat.

    Snímek obrazovky s tabulkou Integrace DevOps s novým příjmem dat

Aktualizace skriptu kanálu CI/CD

Každý nástroj kanálu CI/CD má jinou syntaxi. Tento kód je příkladem kanálu 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            

Proměnné kanálu

Po bezpečném přijetí tokenů musí vývojář pro klíč nakonfigurovat proměnnou prostředí. Proměnná prostředí se předá rozhraní příkazového řádku prostřednictvím skriptu prostředí, který může vývojář přijmout z curl nebo ručně zkopírovat skript prostředí do svého úložiště.

Jméno Hodnota
GDN_PUSH_TOKEN_CLIENT_ID <ID klienta>
GDN_PUSH_TOKEN_CLIENT_ID <ID klienta>
GDN_PUSH_TOKEN_CLIENT_SECRET <Tajný klíč klienta>
GDN_PIPELINENAME bitbucket, jenkins, gcp, bamboo, circle, travis, teamcity, oci, aws
GDN_PUSH_TOKEN_TENANT_ID <ID tenanta>

Kontrola výsledků v Průzkumníku zabezpečení cloudu

  1. Po úspěšném spuštění kanálu přejděte znovu do programu Microsoft Defender for Cloud.

  2. V nabídce Defender for Cloud vyberte Průzkumníka zabezpečení cloudu.

  3. Vyberte rozevírací seznam Vybrat typy prostředků, vyberte DevOps a pak vyberte Hotovo.

    Snímek obrazovky s kanálem CI/CD v Průzkumníku zabezpečení cloudu

  4. + Výběrem ikony přidejte nová kritéria hledání.

    Snímek obrazovky s novým vyhledáváním v Průzkumníku zabezpečení cloudu

  5. Zvolte rozevírací seznam Vybrat podmínku. Pak vyberte Data a pak vyberte Nasdílení změn.

    Snímek obrazovky s výběrem podmínky Průzkumníka zabezpečení cloudu

  6. Zvolte rozevírací seznam Vybrat typy prostředků. Pak vyberte Kontejnery, pak Image kontejneru a pak vyberte Hotovo.

    Snímek obrazovky s výběrem imagí kontejnerů v Průzkumníku zabezpečení cloudu

  7. Vyberte obor vybraný při vytváření integrace v nastavení prostředí.

    Snímek obrazovky s výběrem oboru Průzkumníka zabezpečení cloudu

  8. Vyberte Hledat.

    Snímek obrazovky s vyhledáváním v Průzkumníku zabezpečení cloudu

  9. Prohlédněte si výsledky mapování kanálů na obrázky.

Korelace s monitorovanými kontejnery

  1. V Průzkumníku zabezpečení cloudu zadejte následující dotaz: CI/CD Pipeline ->Pipeline + Container Images ->Contained in + Container registers (group).

  2. Zkontrolujte názvy prostředků a podívejte se na mapování kontejneru.