Udostępnij za pośrednictwem


Integrowanie interfejsu wiersza polecenia Defender dla Chmury z potokami ciągłej integracji/ciągłego wdrażania

Defender dla Chmury interfejs wiersza polecenia to aplikacja, której można używać w potokach ciągłej integracji i ciągłego wdrażania (CI/CD). Uruchamia narzędzia do analizy statycznej i łączy kod z usługami w chmurze. Interfejs wiersza polecenia Defender dla Chmury można używać w dowolnym procesie kompilacji do skanowania obrazów pod kątem luk w zabezpieczeniach za pomocą wbudowanych skanerów zabezpieczeń. Wysyła wyniki skanowania do portalu Defender dla Chmury. Eksplorator zabezpieczeń chmury może następnie uzyskać dostęp do obrazu kontenera i jego luk w zabezpieczeniach.

Wymagania wstępne

  • Subskrypcja platformy Azure z dołączonym Defender dla Chmury. Jeśli nie masz jeszcze konta platformy Azure, utwórz je bezpłatnie.

  • Jedno z następujących narzędzi potoku ciągłej integracji/ciągłego wdrażania: Jenkins, BitBucket Pipelines, Google Cloud Build, Bamboo, CircleCI, Travis CI, TeamCity, Oracle DevOps services, AWS CodeBuild

  • W przypadku usługi Azure DevOps rozszerzenie Microsoft Security DevOps (MSDO) zainstalowane w organizacji usługi Azure DevOps.

  • Włączono CSPM w usłudze Defender.

  • Uprawnienia administratora zabezpieczeń do tworzenia identyfikatora klienta i wpisu tajnego.

Ustawienia

W poniższych sekcjach wyjaśniono, jak pobrać identyfikator klienta i wpisy tajne, zaktualizować skrypt potoku ciągłej integracji/ciągłego wdrażania i dodać zmienne środowiskowe do potoku ciągłej integracji/ciągłego wdrażania.

Pobieranie tokenu interfejsu API

Aby umożliwić przekazywanie danych zabezpieczeń z interfejsu wiersza polecenia Defender dla Chmury do zaplecza Defender dla Chmury, administrator zabezpieczeń w Defender dla Chmury musi najpierw wygenerować klucz interfejsu API z Defender dla Chmury na potrzeby uwierzytelniania.

Po wygenerowaniu tokenów administrator zabezpieczeń wybierze zakres subskrypcji, który ma zostać skojarzony z tokenem. Dane "wypychane" do Defender dla Chmury z tego tokenu są ograniczone do subskrypcji, z czym jest skojarzony token. Te tokeny interfejsu API są niezmienne i można je wygenerować/usunąć tylko.

Z tego miejsca administrator zabezpieczeń musi bezpiecznie przekazać token deweloperom, aby został dodany do potoku ciągłej integracji/ciągłego wdrażania.

  1. Zaloguj się w witrynie Azure Portal.

  2. Przejdź do pozycji Microsoft Defender dla Chmury> Integracja ustawień>środowiska zarządzania.>

    Zrzut ekranu przedstawiający ustawienia środowiska integracji w Defender dla Chmury.

  3. Wybierz pozycję Dodaj integrację , a następnie wybierz pozycję Pozyskiwanie metodyki DevOps.

    Zrzut ekranu przedstawiający nową opcję pozyskiwania metodyki DevOps.

  4. Wprowadź opisową nazwę tokenu, wybraną dzierżawę przechowują informacje o tokenie. Wpis tajny klienta jest generowany po wprowadzeniu opisu wpisu tajnego i daty wygaśnięcia.

    Zrzut ekranu przedstawiający dodawanie integracji pozyskiwania metodyki DevOps.

  5. Włącz token w konfiguracji i utwórz tokeny.

    Zrzut ekranu przedstawiający tworzenie pozyskiwania i tworzenia tokenów metodyki DevOps.

  6. Skopiuj każdy token. Nie można ich edytować ani pobierać po wybraniu przycisku OK/

    Zrzut ekranu przedstawiający pomyślnie utworzone pozyskiwanie metodyki DevOps.

  7. W tabeli Integrations zostanie wyświetlone nowe pozyskiwanie.

    Zrzut ekranu przedstawiający tabelę DevOps Integrations z nowym pozyskiwaniem.

Aktualizowanie skryptu potoku ciągłej integracji/ciągłego wdrażania

Każde narzędzie potoku ciągłej integracji/ciągłego wdrażania ma inną składnię. Ten kod jest przykładem potoku 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            

Zmienne potoku

Po bezpiecznym otrzymaniu tokenów deweloper musi skonfigurować zmienną środowiskową dla klucza. Zmienna środowiskowa jest przekazywana do interfejsu wiersza polecenia za pośrednictwem skryptu powłoki, który deweloper może odebrać z narzędzia curl lub ręcznie skopiować skrypt powłoki do repozytorium.

Nazwa/nazwisko Wartość
GDN_PUSH_TOKEN_CLIENT_ID <Identyfikator klienta>
GDN_PUSH_TOKEN_CLIENT_ID <Identyfikator klienta>
GDN_PUSH_TOKEN_CLIENT_SECRET <Client Secret (Wpis tajny klienta)>
GDN_PIPELINENAME bitbucket, jenkins, gcp, bamboo, circle, travis, teamcity, oci, aws
GDN_PUSH_TOKEN_TENANT_ID <Identyfikator dzierżawy>

Przeglądanie wyników w Eksploratorze zabezpieczeń w chmurze

  1. Po pomyślnym uruchomieniu potoku przejdź ponownie do Microsoft Defender dla Chmury.

  2. W menu Defender dla Chmury wybierz pozycję Cloud Security Explorer.

  3. Wybierz listę rozwijaną Wybierz typy zasobów, wybierz pozycję DevOps, a następnie wybierz pozycję Gotowe.

    Zrzut ekranu przedstawiający potok ciągłej integracji/ciągłego wdrażania w Eksploratorze zabezpieczeń w chmurze.

  4. Wybierz ikonę, + aby dodać nowe kryteria wyszukiwania.

    Zrzut ekranu przedstawiający nowe wyszukiwanie w Eksploratorze zabezpieczeń w chmurze.

  5. Wybierz listę rozwijaną Wybierz warunek . Następnie wybierz pozycję Dane, a następnie wybierz pozycję Wypchnięcia.

    Zrzut ekranu przedstawiający wybieranie warunku Cloud Security Explorer.

  6. Wybierz listę rozwijaną Wybierz typy zasobów. Następnie wybierz pozycję Kontenery, a następnie pozycję Obrazy kontenerów , a następnie wybierz pozycję Gotowe.

    Zrzut ekranu przedstawiający wybieranie obrazów kontenerów w Eksploratorze zabezpieczeń w chmurze.

  7. Wybierz zakres wybrany podczas tworzenia integracji w obszarze Ustawienia środowiska.

    Zrzut ekranu przedstawiający wybieranie zakresu Eksploratora zabezpieczeń w chmurze.

  8. Wybierz Wyszukaj.

    Zrzut ekranu przedstawiający wyszukiwanie w Eksploratorze zabezpieczeń w chmurze.

  9. Zobacz wyniki mapowania potoku na obrazy.

Korelowanie z monitorowanych kontenerów

  1. W Eksploratorze zabezpieczeń w chmurze wprowadź następujące zapytanie: Potok ciągłej integracji/ciągłego wdrażania —> Obrazy + kontenerów potoku —> zawarte w + rejestrach kontenerów (grupa).

  2. Przejrzyj nazwy zasobów, aby wyświetlić mapowanie kontenera.