Delen via


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.

  1. Meld u aan bij het Azure-portaal.

  2. Ga naar Microsoft Defender voor Cloud> Integratie>van omgevingsinstellingen.>

    Schermopname van de omgevingsinstellingen voor integratie in Defender voor Cloud.

  3. Selecteer Integratie toevoegen en selecteer vervolgens DevOps-opname.

    Schermopname van de optie nieuwe DevOps-opname.

  4. 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.

    Schermopname van het toevoegen van DevOps Ingestion-integratie.

  5. Schakel het token in de configuratie in en maak de tokens.

    Schermopname van het maken van DevOps-opname en het maken van tokens.

  6. Kopieer elk token. Ze kunnen niet worden bewerkt of opgehaald nadat u OK hebt geselecteerd.

    Schermopname van geslaagde DevOps-opname gemaakt.

  7. In de tabel Integrations wordt de nieuwe opname weergegeven.

    Schermopname van de DevOps Integrations-tabel met nieuwe opname.

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

  1. Nadat de pijplijn is uitgevoerd, gaat u opnieuw naar Microsoft Defender voor Cloud.

  2. Selecteer Cloud Security Explorer in het menu Defender voor Cloud.

  3. Selecteer de vervolgkeuzelijst Resourcetypen selecteren, Selecteer DevOps en selecteer Vervolgens Gereed.

    Schermopname van CI/CD-pijplijn in Cloud Security Explorer.

  4. Selecteer het + pictogram om een nieuwe zoekcriteria toe te voegen.

    Schermopname van nieuwe zoekopdracht in Cloud Security Explorer.

  5. Kies de vervolgkeuzelijst Voorwaarde selecteren . Selecteer vervolgens Gegevens en selecteer Vervolgens Pushes.

    Schermopname van het selecteren van voorwaarde Cloud Security Explorer.

  6. Kies de vervolgkeuzelijst Resourcetypen selecteren. Selecteer vervolgens Containers, vervolgens Containerinstallatiekopieën en selecteer Vervolgens Gereed.

    Schermopname van het selecteren van containerinstallatiekopieën in Cloud Security Explorer.

  7. Selecteer het bereik dat is geselecteerd tijdens het maken van de integratie in omgevingsinstellingen.

    Schermopname van het selecteren van bereik Cloud Security Explorer.

  8. Selecteer Zoeken.

    Schermopname van zoeken in Cloud Security Explorer.

  9. Bekijk de resultaten van de pijplijn aan de toewijzing van installatiekopieën.

Correleren met bewaakte containers

  1. Voer in Cloud Security Explorer de volgende query in: CI/CD Pipeline Container> + Images ->Contained in + Container registers (groep).

  2. Bekijk de resourcenamen om de containertoewijzing te bekijken.