Mapuj obrazy kontenerów z kodu na środowisko uruchomieniowe

Gdy Defender dla Chmury wykryje lukę w zabezpieczeniach w obrazie kontenera, ustalenie, z którym pierwotnym uruchomieniem potoku CI/CD jest on powiązany, może być trudne. To wyzwanie jest powszechne niezależnie od tego, czy obraz znajduje się w rejestrze kontenerów, czy jest uruchomiony w klastrze Kubernetes. Bez kontekstu pipeline’u trudniej znaleźć właściwego programistę i szybko rozpocząć działania naprawcze. Defender Cloud Security Posture Management (CSPM) obejmuje funkcje zabezpieczeń DevOps, które mapują obciążenia kontenerowe w całym cyklu od kodu do chmury, dzięki czemu zespoły mogą szybciej rozpocząć działania naprawcze.

Ten artykuł wyjaśnia dostępne metody mapowania, wymagania wstępne dla każdej z nich oraz jak zweryfikować powstałe mapowanie kodu na czas działania w portalu Azure. Zanim zaczniesz, upewnij się, że spełnione są wymagane wymagania CSPM w usłudze Defender lub Defender for Containers.

Kod do środowiska uruchomieniowego — wymagania techniczne

Niezbędne są następujące wymagania, aby ustanowić relacje kod-środowisko uruchomieniowe.

Ogólne wymagania wstępne (wszystkie metody)

Następujące wymagania wstępne mają zastosowanie niezależnie od używanej metody mapowania:

  • CSPM w usłudze Defender (Zarządzanie stanem zabezpieczeń w chmurze) lub Defender dla kontenerów należy włączyć w środowisku chmury.
    • Ograniczony zestaw funkcji mapowania jest dołączany do usługi Defender for Containers.
  • Obrazy kontenerów muszą być budowane za pośrednictwem potoku CI/CD.
    • Obrazy ręcznie skompilowane i wypychane nie są obsługiwane, chociaż niektóre ręcznie utworzone obrazy mogą nadal pojawiać się w wynikach mapowania.
  • Obrazy kontenerów muszą być odnajdywalne przez usługę Defender dla Chmury, albo przez:
    • Przechowywanie w obsługiwanym rejestrze kontenerów lub
    • Uruchamianie w obsługiwanym środowisku Kubernetes

Opcja 1. Łączenie środowiska kodu z usługą Defender dla Chmury

Gdy podłączasz środowisko Azure DevOps lub GitHub do Defender dla Chmury, automatycznie uruchamiany jest zestaw zautomatyzowanych narzędzi. Narzędzia automatyczne nie wpływają na istniejące procesy DevOps i umożliwiają mapowanie kodu na czas działania.

Note

  • Obecnie obsługiwane w przypadku usług Azure DevOps i GitHub
  • Obrazy kontenerów utworzone i wdrożone przed połączeniem mogą mieć ograniczoną obsługę

Aby dowiedzieć się więcej kroków dotyczących połączenia środowiska kodu z Defender dla Chmury, zobacz:

Opcja 2. Mapowanie oparte na etykietach platformy Docker

Mapowanie oparte na etykietach platformy Docker opiera się na metadanych osadzonych bezpośrednio w obrazie kontenera w czasie kompilacji. Usługa Defender dla Chmury wyodrębnia te metadane z manifestu obrazu OCI/Docker i używa go do skorelowania obrazu z repozytorium źródłowym.

Więcej informacji o mapowaniu opartym na etykietach w Dockerze można znaleźć w następstwie:

Note

  • Mapowanie oparte na etykietach docker nie wymaga złącza DevOps.
  • Mapowanie jest wykonywane dla środowisk Kubernetes objętych CSPM w usłudze Defender lub Defender for Containers.

Opcja 3. Mapowanie oparte na zaświadczaniach w usłudze GitHub

Mapowanie oparte na uwierzytelnianiu używa kryptograficznie weryfikowalnych metadanych pochodzenia generowanych podczas przepływów pracy w GitHub Actions. Te zaświadczenia łączą obrazy kontenerów z dokładnym repozytorium źródłowym, commit i identyfikatorem budowy.

Więcej informacji o mapowaniu opartym na poświadczeniu można znaleźć w następstwie:

Weryfikowanie mapowania kodu na środowisko uruchomieniowe (witryna Azure Portal)

Niezależnie od tego, jakiej metody mapowania użyjesz (DevOps connector, etykiety Docker czy potwierdzenia GitHub), możesz zweryfikować uzyskane mapowanie kodu na runtime w portalu Azure. Poniższy przykład pokazuje, jak wyświetlić wyniki mapowania po zbudowaniu obrazu kontenera w potoku CI/CD Azure DevOps i jego przesłaniu do rejestru. Użyj Cloud Security Explorer , aby zobaczyć mapowanie:

  1. Zaloguj się do portalu Azure.

  2. Przejdź do Microsoft Defender dla Chmury>Cloud Security Explorer. Mapowanie obrazu kontenera może pojawić się dopiero po upływie maksymalnie czterech godzin.

  3. Aby wyświetlić podstawowe mapowanie, wybierz Obrazy kontenerów>+>wysyłane przez repozytoria kodu.

    Zrzut ekranu przedstawiający sposób znajdowania podstawowego mapowania kontenerów.

  4. (Opcjonalnie) Wybierz + obok Obrazy kontenerów, aby dodać filtry do zapytania, takie jak Ma luki w zabezpieczeniach, aby wyświetlić tylko obrazy kontenerów ze znanymi lukami i zagrożeniami (CVE).

  5. Po uruchomieniu zapytania widzisz powiązanie między rejestrem kontenerów a potokiem. Wybierz pozycję ... obok linii łączenia (krawędzi), aby wyświetlić więcej szczegółów.

    Zrzut ekranu przedstawiający zaawansowane zapytanie dotyczące wyników mapowania kontenerów.

Następne kroki