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.
Přihlaste se k portálu Azure.
Přejděte do Microsoft Defenderu pro integraci nastavení>prostředí pro správu>cloudu.>
Vyberte Přidat integraci a pak vyberte Příjem dat DevOps.
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.
Povolte token v konfiguraci a vytvořte tokeny.
Zkopírujte každý token. Po výběru možnosti OK není možné je upravovat ani načítat.
V tabulce Integrace se zobrazí nový příjem 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
Po úspěšném spuštění kanálu přejděte znovu do programu Microsoft Defender for Cloud.
V nabídce Defender for Cloud vyberte Průzkumníka zabezpečení cloudu.
Vyberte rozevírací seznam Vybrat typy prostředků, vyberte DevOps a pak vyberte Hotovo.
+ Výběrem ikony přidejte nová kritéria hledání.
Zvolte rozevírací seznam Vybrat podmínku. Pak vyberte Data a pak vyberte Nasdílení změn.
Zvolte rozevírací seznam Vybrat typy prostředků. Pak vyberte Kontejnery, pak Image kontejneru a pak vyberte Hotovo.
Vyberte obor vybraný při vytváření integrace v nastavení prostředí.
Vyberte Hledat.
Prohlédněte si výsledky mapování kanálů na obrázky.
Korelace s monitorovanými kontejnery
V Průzkumníku zabezpečení cloudu zadejte následující dotaz: CI/CD Pipeline ->Pipeline + Container Images ->Contained in + Container registers (group).
Zkontrolujte názvy prostředků a podívejte se na mapování kontejneru.