Defender voor Cloud CLI integreren met CI/CD-pijplijnen
Defender voor Cloud CLI (Opdrachtregelinterface) is een toepassing die u kunt gebruiken in CI/CD-pijplijnen (continue integratie en continue implementatie). Er worden statische analysehulpprogramma's uitgevoerd en code verbonden met cloudservices. U kunt Defender voor Cloud CLI in elk buildproces gebruiken om installatiekopieën te scannen op beveiligingsproblemen met ingebouwde beveiligingsscanners. De scanresultaten worden verzonden naar de Defender voor Cloud-portal. Cloud Security Explorer heeft vervolgens toegang tot de containerinstallatiekopieën en de beveiligingsproblemen.
Vereisten
Een Azure-abonnement met Defender voor Cloud onboarding. Als u nog geen Azure-account hebt, maakt u er gratis een.
Een van de volgende CI/CD-pijplijnhulpprogramma's: Jenkins, BitBucket Pipelines, Google Cloud Build, Bamboo, CircleCI, Travis CI, TeamCity, Oracle DevOps-services, AWS CodeBuild
Voor Azure DevOps is de MSDO-extensie (Microsoft Security DevOps) geïnstalleerd in de Azure DevOps-organisatie.
Defender CSPM ingeschakeld.
Machtiging voor beveiligingsbeheerder voor het maken van de client-id en het geheim.
Instellingen
In de volgende secties wordt uitgelegd hoe u de client-id en geheimen ophaalt, het CI/CD-pijplijnscript bijwerkt en omgevingsvariabelen toevoegt aan de CI/CD-pijplijn.
Het API-token ophalen
Als u wilt toestaan dat beveiligingsgegevens van de Defender voor Cloud CLI worden doorgegeven aan de Defender voor Cloud back-end, moet de beveiligingsbeheerder in Defender voor Cloud eerst een API-sleutel genereren op basis van Defender voor Cloud voor verificatie.
Wanneer tokens worden gegenereerd, selecteert de beveiligingsbeheerder een abonnementsbereik dat aan het token moet worden gekoppeld. De gegevens die vanuit dit token naar Defender voor Cloud worden gepusht, worden toegewezen aan het abonnement waaraan het token is gekoppeld. Deze API-tokens zijn onveranderbaar en kunnen alleen worden gegenereerd/verwijderd.
Van daaruit moet de beveiligingsbeheerder het token veilig doorgeven aan ontwikkelaars die moeten worden toegevoegd aan de CI/CD-pijplijn.
Meld u aan bij het Azure-portaal.
Ga naar Microsoft Defender voor Cloud> Integratie>van omgevingsinstellingen.>
Selecteer Integratie toevoegen en selecteer vervolgens DevOps-opname.
Voer een beschrijvende naam in voor het token, de geselecteerde tenant slaat de tokengegevens op. Het clientgeheim wordt gegenereerd wanneer u een beschrijving invoert voor het geheim en de vervaldatum.
Schakel het token in de configuratie in en maak de tokens.
Kopieer elk token. Ze kunnen niet worden bewerkt of opgehaald nadat u OK hebt geselecteerd.
In de tabel Integrations wordt de nieuwe opname weergegeven.
Het CI/CD-pijplijnscript bijwerken
Elk HULPPROGRAMMA voor CI/CD-pijplijnen heeft een andere syntaxis. Deze code is een voorbeeld van een Bitbucket-pijplijn:
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-variabelen
Nadat de tokens veilig zijn ontvangen, moet de ontwikkelaar een omgevingsvariabele voor de sleutel configureren. De omgevingsvariabele wordt doorgegeven aan de CLI via het shell-script dat de ontwikkelaar kan ontvangen van curl of het shell-script handmatig naar de opslagplaats kan kopiëren.
Naam | Weergegeven als |
---|---|
GDN_PUSH_TOKEN_CLIENT_ID | <Client-id> |
GDN_PUSH_TOKEN_CLIENT_ID | <Client-id> |
GDN_PUSH_TOKEN_CLIENT_SECRET | <Client Secret> |
GDN_PIPELINENAME | bitbucket, jenkins, gcp, bamboe, cirkel, travis, teamcity, oci, aws |
GDN_PUSH_TOKEN_TENANT_ID | <Tenant-id> |
Resultaten bekijken in Cloud Security Explorer
Nadat de pijplijn is uitgevoerd, gaat u opnieuw naar Microsoft Defender voor Cloud.
Selecteer Cloud Security Explorer in het menu Defender voor Cloud.
Selecteer de vervolgkeuzelijst Resourcetypen selecteren, Selecteer DevOps en selecteer Vervolgens Gereed.
Selecteer het + pictogram om een nieuwe zoekcriteria toe te voegen.
Kies de vervolgkeuzelijst Voorwaarde selecteren . Selecteer vervolgens Gegevens en selecteer Vervolgens Pushes.
Kies de vervolgkeuzelijst Resourcetypen selecteren. Selecteer vervolgens Containers, vervolgens Containerinstallatiekopieën en selecteer Vervolgens Gereed.
Selecteer het bereik dat is geselecteerd tijdens het maken van de integratie in omgevingsinstellingen.
Selecteer Zoeken.
Bekijk de resultaten van de pijplijn aan de toewijzing van installatiekopieën.
Correleren met bewaakte containers
Voer in Cloud Security Explorer de volgende query in: CI/CD Pipeline Container> + Images ->Contained in + Container registers (groep).
Bekijk de resourcenamen om de containertoewijzing te bekijken.