Architektura usługi Defender for Containers

Usługa Defender for Containers jest zaprojektowana inaczej dla każdego środowiska Kubernetes, niezależnie od tego, czy działają w:

  • Azure Kubernetes Service (AKS) — zarządzana usługa firmy Microsoft do tworzenia, wdrażania i zarządzania aplikacjami konteneryzowanymi.

  • Amazon Elastic Kubernetes Service (EKS) na połączonym koncie usług Amazon Web Services (AWS) — zarządzana usługa Amazon do uruchamiania rozwiązania Kubernetes na platformie AWS bez konieczności instalowania, obsługi i obsługi własnej płaszczyzny sterowania lub węzłów platformy Kubernetes.

  • Google Kubernetes Engine (GKE) w połączonym projekcie Google Cloud Platform (GCP) — zarządzane środowisko Google do wdrażania, zarządzania i skalowania aplikacji przy użyciu infrastruktury GCP.

  • Niezarządzana dystrybucja Kubernetes (przy użyciu platformy Kubernetes z włączoną usługą Azure Arc) — certyfikowane klastry Kubernetes (Cloud Native Computing Foundation) hostowane lokalnie lub w usłudze IaaS.

Uwaga

Obsługa usługi Defender for Containers dla klastrów Kubernetes z obsługą usługi Arc (AWS EKS i GCP GKE) to funkcja w wersji zapoznawczej.

Aby chronić kontenery Kubernetes, usługa Defender for Containers odbiera i analizuje:

  • Dzienniki inspekcji i zdarzenia zabezpieczeń z serwera interfejsu API
  • Informacje o konfiguracji klastra z płaszczyzny sterowania
  • Konfiguracja obciążenia z usługi Azure Policy
  • Sygnały zabezpieczeń i zdarzenia z poziomu węzła

Aby dowiedzieć się więcej na temat szczegółów implementacji, takich jak obsługiwane systemy operacyjne, dostępność funkcji, wychodzący serwer proxy, zobacz Dostępność funkcji usługi Defender for Containers.

Architektura dla każdego środowiska Kubernetes

Diagram architektury klastrów Defender dla Chmury i AKS

Gdy Defender dla Chmury chroni klaster hostowany w usłudze Azure Kubernetes Service, zbieranie danych dziennika inspekcji jest bez agenta i zbierane automatycznie za pośrednictwem infrastruktury platformy Azure bez dodatkowych kosztów ani zagadnień dotyczących konfiguracji. Są to wymagane składniki w celu uzyskania pełnej ochrony oferowanej przez usługę Microsoft Defender for Containers:

Diagram architektury wysokiego poziomu interakcji między usługą Microsoft Defender for Containers, usługą Azure Kubernetes Service i usługą Azure Policy.

Szczegóły składnika czujnika usługi Defender

Nazwa zasobnika Przestrzeń nazw Rodzaj Short Description Możliwości Limity zasobów Wymagany ruch wychodzący
microsoft-defender-collector-ds-* kube-system DaemonSet Zestaw kontenerów, które koncentrują się na zbieraniu spisu i zdarzeń zabezpieczeń ze środowiska Kubernetes. SYS_ADMIN,
SYS_RESOURCE,
SYS_PTRACE
pamięć: 296Mi

procesor: 360 m
Nie.
microsoft-defender-collector-misc-* kube-system Wdrożenie Zestaw kontenerów, które koncentrują się na zbieraniu spisu i zdarzeń zabezpieczeń ze środowiska Kubernetes, które nie są powiązane z określonym węzłem. Nie dotyczy pamięć: 64Mi

procesor: 60 m
Nie.
microsoft-defender-publisher-ds-* kube-system DaemonSet Opublikuj zebrane dane w usłudze zaplecza usługi Microsoft Defender for Containers, w której dane będą przetwarzane i analizowane. Nie dotyczy pamięć: 200Mi

procesor: 60 m
Https 443

Dowiedz się więcej o wymaganiach wstępnych dotyczących dostępu wychodzącego

* Limity zasobów nie są konfigurowalne; Dowiedz się więcej o limitach zasobów platformy Kubernetes.

Jak działa odnajdywanie bez agenta dla platformy Kubernetes na platformie Azure?

Proces odnajdywania jest oparty na migawkach wykonanych w odstępach czasu:

Diagram architektury uprawnień.

Po włączeniu odnajdywania bez agenta dla rozszerzenia Kubernetes następuje następujący proces:

  • Utwórz:

    • Jeśli rozszerzenie jest włączone z CSPM w usłudze Defender, Defender dla Chmury tworzy tożsamość w środowiskach klienta o nazwie CloudPosture/securityOperator/DefenderCSPMSecurityOperator.
    • Jeśli rozszerzenie jest włączone z usługi Defender for Containers, Defender dla Chmury tworzy tożsamość w środowiskach klienta o nazwie CloudPosture/securityOperator/DefenderForContainersSecurityOperator.
  • Przypisz: Defender dla Chmury przypisuje wbudowaną rolę o nazwie Operator bez agenta Kubernetes do tej tożsamości w zakresie subskrypcji. Rola zawiera następujące uprawnienia:

    • Odczyt usługi AKS (Microsoft.ContainerService/managedClusters/read)
    • Dostęp zaufany usługi AKS z następującymi uprawnieniami:
    • Microsoft.ContainerService/managedClusters/trustedAccessRoleBindings/write
    • Microsoft.ContainerService/managedClusters/trustedAccessRoleBindings/read
    • Microsoft.ContainerService/managedClusters/trustedAccessRoleBindings/delete

    Dowiedz się więcej o zaufanym dostępie usługi AKS.

  • Odnajdywanie: przy użyciu tożsamości przypisanej przez system Defender dla Chmury wykonuje odnajdywanie klastrów usługi AKS w środowisku przy użyciu wywołań interfejsu API do serwera interfejsu API usługi AKS.

  • Powiązanie: po odnalezieniu klastra usługi AKS Defender dla Chmury wykonuje operację powiązania usługi AKS, tworząc element ClusterRoleBinding między utworzoną tożsamością a usługą Kubernetes ClusterRoleaks:trustedaccessrole:defender-containers:microsoft-defender-operator. Element ClusterRole jest widoczny za pośrednictwem interfejsu API i daje Defender dla Chmury uprawnienia do odczytu płaszczyzny danych w klastrze.

Uwaga

Skopiowana migawka pozostaje w tym samym regionie co klaster.

Następne kroki

W tym omówieniu przedstawiono architekturę zabezpieczeń kontenerów w Microsoft Defender dla Chmury. Aby włączyć plan, zobacz: