Punkt odniesienia zapewniania ładu, zabezpieczeń i zgodności dla platformy Kubernetes z obsługą usługi Azure Arc

Ten artykuł zawiera kluczowe zagadnienia dotyczące projektowania i najlepsze rozwiązania dotyczące zabezpieczeń, ładu i zgodności, które należy użyć podczas tworzenia wdrożenia platformy Kubernetes z obsługą usługi Azure Arc. Chociaż w dokumentacji strefy docelowej o skali przedsiębiorstwa opisano ład i zabezpieczenia jako oddzielne tematy, te krytyczne obszary projektowe są konsolidowane w jednym temacie dotyczącym platformy Kubernetes z obsługą usługi Azure Arc.

Usługa Azure Policy i Microsoft Defender dla Chmury to natywne dla chmury narzędzia, które umożliwiają implementowanie mechanizmów zabezpieczających, kontrolek, raportów, alertów i zadań korygujących w zautomatyzowany sposób na dużą skalę. Łącząc je z platformą Kubernetes z włączoną usługą Azure Arc, można rozszerzyć zasady ładu i kontrole zabezpieczeń na dowolny klaster Kubernetes w środowisku lokalnym i/lub wielochmurowym.

Architektura

Na poniższym diagramie przedstawiono koncepcyjną architekturę referencyjną przedstawiającą obszary projektowania zabezpieczeń, zgodności i ładu dla platformy Kubernetes z obsługą usługi Azure Arc:

Diagram showing the Enterprise-scale security, governance, and compliance for Azure Arc-enabled Kubernetes.

Uwagi dotyczące projektowania

Gdy zasoby hybrydowe i wielochmurowe stają się częścią usługi Azure Resource Manager, możesz zarządzać nimi na platformie Azure i zarządzać nimi. Ta sekcja zawiera zagadnienia dotyczące projektowania, które należy wziąć pod uwagę podczas planowania zabezpieczeń i ładu zasobów klastra Kubernetes z obsługą usługi Azure Arc.

Przejrzyj obszary projektowania zabezpieczeń i ładu w strefach docelowych platformy Azure, aby ocenić wpływ platformy Kubernetes z obsługą usługi Azure Arc na ogólne modele ładu i zabezpieczeń.

Inicjowanie obsługi administracyjnej agenta

Zdefiniuj strategię aprowizacji agenta Kubernetes z włączoną usługą Azure Arc i użyj zasady najniższych uprawnień podczas tworzenia jednostki usługi dołączania. Rozważ użycie automatyzacji na potrzeby rejestracji zbiorczej.

Agent zarządzania

Agenci Kubernetes z obsługą usługi Azure Arc odgrywają kluczową rolę w operacjach hybrydowych klastrów Kubernetes z włączoną usługą Azure Arc, ponieważ umożliwiają zarządzanie klastrami z platformy Azure. Zaimplementuj rozwiązania, które śledzą stan łączności agenta. Upewnij się, że zdefiniowano proces uaktualniania agentów platformy Kubernetes z obsługą usługi Azure Arc.

Kontrola dostępu oparta na rolach (RBAC)

Zdefiniuj role administracyjne, operacyjne i deweloperskie w organizacji, które są odpowiedzialne za codzienne operacje w klastrach hybrydowych. Mapowanie każdego zespołu na akcje i obowiązki określają role kontroli dostępu opartej na rolach (RBAC) platformy Azure oraz RoleBinding i Klastry Kubernetes ClusterRoleBinding i RoleBinding.

Rozważ użycie macierzy RACI do obsługi tego nakładu pracy i tworzenia kontrolek w hierarchii zakresu zarządzania definiowanej na podstawie spójności zasobów i wskazówek dotyczących zarządzania zapasami.

Aby uzyskać więcej informacji, zobacz Zarządzanie tożsamościami i dostępem dla platformy Kubernetes z obsługą usługi Azure Arc.

Zarządzanie wpisami tajnymi i certyfikatami

Zabezpieczanie wpisów tajnych i certyfikatów przy użyciu usługi Azure Key Vault i wdrażanie jego rozszerzenia w klastrach kubernetes z obsługą usługi Azure Arc za pośrednictwem interfejsu magazynu kontenerów (CSI).

Przechowywanie danych

Rozważ region świadczenia usługi Azure, w którym planujesz aprowizować klaster Kubernetes z włączoną usługą Azure Arc. Dowiedz się , jakie dane są zbierane z zasobów i odpowiednio zaplanuj na podstawie wymagań dotyczących rezydencji danych dla organizacji.

Włączanie i zabezpieczanie konfiguracji usługi GitOps

Konfiguracje gitOps wymuszają żądany stan systemu i są ważnym narzędziem do śledzenia zgodności klastra Kubernetes z obsługą usługi Arc. Podczas pracy z konfiguracjami usługi GitOps rozważ zabezpieczenie dostępu do systemu kontroli źródła za pomocą odpowiednich mechanizmów kontroli dostępu i sieci.

Zarządzanie zasadami i raportowanie

Zdefiniuj plan ładu dla hybrydowych klastrów Kubernetes, które przekładają się na zasady platformy Azure, które przeprowadzają inspekcję i wymuszają standardy organizacyjne na dużą skalę. Możesz na przykład wymusić zasady sourceControlConfiguration w klastrach Kubernetes, aby zapewnić klastrom uzyskanie źródła prawdy dla obciążeń i konfiguracji ze zdefiniowanego repozytorium git i śledzenia zgodności przy użyciu usługi Azure Policy.

Strategia zarządzania dziennikami

Zapoznaj się z dziedzinami zarządzania krytycznymi zagadnieniami dotyczącymi projektowania obszaru projektowego i zaleceniami oraz zaplanuj zbieranie metryk i dzienników z zasobów hybrydowych do obszaru roboczego usługi Log Analytics w celu dalszej analizy i inspekcji.

Ochrona przed zagrożeniami i zarządzanie stanem zabezpieczeń w chmurze

Wymuszanie ochrony przed zagrożeniami i wprowadzanie mechanizmów kontroli w celu wykrywania błędów konfiguracji zabezpieczeń i śledzenia zgodności. Użyj analizy platformy Azure, aby chronić obciążenia hybrydowe przed zagrożeniami. Włącz monitorowanie punktu odniesienia zabezpieczeń, zarządzanie stanem zabezpieczeń i ochronę przed zagrożeniami dla wszystkich subskrypcji zawierających platformę Kubernetes z obsługą usługi Azure Arc, włączając usługę Microsoft Defender for Containers.

Bezpieczny dostęp do klastra

Zaplanuj bezpieczny dostęp do interfejsu API platformy Kubernetes. Funkcja łączenia klastra Kubernetes z włączoną usługą Azure Arc zapewnia łączność z serwerem interfejsu API bez konieczności włączania żadnego portu przychodzącego.

Zwiększanie możliwości obserwowania i zabezpieczeń mikrousług

Implementacja siatki usług może pomóc w uwierzytelnianiu, autoryzacji, zabezpieczeniach i widoczności aplikacji opartych na mikrousługach. Platforma Kubernetes z obsługą usługi Azure Arc upraszcza wdrażanie rozwiązania Open Service Mesh (OSM) jako rozszerzenia.

Zalecenia dotyczące projektowania

Ta sekcja zawiera zalecenia dotyczące projektowania, które należy wykonać podczas planowania zabezpieczeń i ładu zasobów klastra Kubernetes z obsługą usługi Azure Arc.

Inicjowanie obsługi administracyjnej agenta

  • Zdefiniuj strategię dołączania klastrów do usługi Azure Arc, w tym metodę automatyzacji na potrzeby rejestracji zbiorczej. Ustanów formalny plan, który uwzględnia zakres wdrożenia i obejmuje cele, kryteria wyboru, kryteria sukcesu, plany szkolenia, wycofanie i ryzyko.

  • Za pomocą jednostki usługi można zintegrować aprowizację agenta w ramach potoków ciągłej integracji i ciągłego wdrażania (CI/CD). Należy ograniczyć uprawnienia tej jednostki usługi i przypisać tylko role wymagane do dołączenia platformy Kubernetes do platformy Azure (roli "Klaster Kubernetes — dołączanie do usługi Azure Arc"), ponieważ można jej używać tylko do dołączania platformy Kubernetes, a nie cofania procesu ani usuwania zasobu.

Agent zarządzania

Agenci usługi Azure Arc to kluczowe składniki platformy Kubernetes z obsługą usługi Azure Arc, zawierające kilka składników logicznych, które odgrywają rolę w operacjach zabezpieczeń, ładu i zarządzania.

Jeśli agent przestanie wysyłać pulsy do platformy Azure, przechodzi w tryb offline lub traci łączność z platformą Azure, nie możesz wykonywać na niej zadań operacyjnych. Opracuj plan powiadamiania o tym, czy te scenariusze się zdarzają i jak organizacja powinna reagować.

Dziennik aktywności platformy Azure umożliwia skonfigurowanie alertów dotyczących kondycji zasobów i informowanie o bieżącym i historycznym stanie kondycji zasobników agenta. Aby dowiedzieć się, jak prawidłowo zarządzać agentem, zapoznaj się z obszarem projektowania krytycznym dla zarządzania.

Jeśli usługa nie odebrała pulsu agenta przez 15 minut, klaster Kubernetes z obsługą usługi Azure Arc jest wyświetlany jako offline. Aby upewnić się, że agent może bezpiecznie łączyć się z punktami końcowymi usługi Azure Arc, zapoznaj się z obszarem projektowania o krytycznym znaczeniu dla łączności platformy Kubernetes z obsługą usługi Azure Arc.

Kontrola dostępu oparta na rolach (RBAC)

Po dołączeniu klastra Kubernetes możesz przypisać kontrolę dostępu opartą na rolach platformy Azure do zasobu klastra Kubernetes z włączoną obsługą usługi Azure Arc.

Postępuj zgodnie z zasadą najniższych uprawnień podczas przypisywania ról, takich jak "Współautor" lub "Właściciel", które mogą wykonywać operacje, takie jak wdrażanie rozszerzeń, które wykonują akcje jako "Klaster Administracja" i mają efekt obejmujący cały klaster. Te role powinny być używane z ostrożnością, aby ograniczyć możliwy "promień wybuchu" lub ostatecznie zostać zastąpiony przez role niestandardowe.

Należy zastosować tę samą zasadę RBAC do poufnych danych wysyłanych do obszaru roboczego usługi Log Analytics usługi Azure Monitor. Platforma Kubernetes z włączoną usługą Azure Arc zapewnia dostęp RBAC do danych dzienników zebranych przez agenta usługi Log Analytics przechowywanych w obszarze roboczym usługi Log Analytics, do których jest zarejestrowany klaster. Aby dowiedzieć się, jak zaimplementować szczegółowy dostęp do obszaru roboczego usługi Log Analytics, zobacz Projektowanie wdrożenia dzienników usługi Azure Monitor.

Zintegrowanie klastra Kubernetes z włączoną usługą Azure Arc z identyfikatorem Entra firmy Microsoft umożliwia korzystanie z przypisań ról platformy Azure w celu uzyskania bardziej szczegółowej kontroli nad tym, kto ma dostęp do zasobów klastra Kubernetes z włączoną usługą Azure Arc i do nich uprawnień.

Uwaga

Ta integracja działa natywnie z typami obiektów Kubernetes ClusterRoleBinding i RoleBinding oraz skutecznie konsoliduje autoryzację do klastra Kubernetes przy użyciu identyfikatora Entra firmy Microsoft jako centralnej usługi zarządzania tożsamościami i dostępem. Korzystając z identyfikatora Entra firmy Microsoft, uzyskujesz pełną inspekcję i śledzenie zmian wprowadzonych w klastrze, a także wszelkie zdarzenia autoryzacji.

Integracja z usługą Microsoft Entra ID umożliwia również dostęp do zaawansowanych funkcji zabezpieczeń, których należy użyć do skonfigurowania:

  • Dostęp warunkowy za pomocą identyfikatora Entra firmy Microsoft. Więcej informacji na temat dostępu warunkowego można znaleźć w temacie Omówienie dostępu warunkowego.
  • Reguły dostępu just in time (JIT) dla zadań wymagających podwyższonych uprawnień. Stały dostęp dla niektórych użytkowników do poufnych informacji lub krytycznych ustawień konfiguracji sieci na platformie Kubernetes tworzy potencjalną ścieżkę do kont z naruszonymi zabezpieczeniami lub działań związanych z zagrożeniami wewnętrznymi. Zarządzanie dostępem uprzywilejowanym może pomóc chronić organizację przed naruszeniami i pomaga spełnić najlepsze rozwiązania w zakresie zgodności, ograniczając stały dostęp do poufnych danych lub dostęp do krytycznych ustawień konfiguracji.

Zarządzanie wpisami tajnymi i certyfikatami

Nie przechowuj wpisów tajnych ani certyfikatów w kodzie aplikacji ani systemach plików. Wpisy tajne powinny być przechowywane w magazynach kluczy i dostarczane do kontenerów w czasie wykonywania zgodnie z potrzebami.

Rozważ użycie rozszerzenia usługi Azure Key Vault do zarządzania wpisami tajnymi i certyfikatami w klastrach Kubernetes z obsługą usługi Azure Arc. Rozszerzenie usługi Key Vault umożliwia zarządzanie cyklem życia certyfikatu we wdrożeniach platformy Kubernetes, jak pokazano na poniższym diagramie.

Diagram showing Azure Arc-enabled Kubernetes and Key Vault integration.

Włączanie i zabezpieczanie konfiguracji usługi GitOps

GitOps jest istotnym składnikiem każdej strategii IT, która przyjmuje w pełni zautomatyzowane podejście do operacji. Usługa GitOps zapewnia możliwości skalowania, spójności, śledzenia i inspekcji dla dowolnego wdrożenia.

Użycie metodyki GitOps może uprościć wdrażanie wielu aplikacji w klastrach i środowiskach podczas śledzenia i wymuszania żądanego stanu systemu deklaratywnie za pomocą usługi Git. Gdy używasz usługi Git jako pojedynczego źródła prawdy i jako centralnego narzędzia dla wszystkich wdrożeń, staje się najlepszym sposobem śledzenia stanów klastra, uwzględnienia zmian i zatwierdzeń w czasie, ułatwienia badania błędów i włączenia automatyzacji w środowiskach rozproszonych.

Podczas dodawania konfiguracji usługi GitOps upewnij się, że masz bezpieczny dostęp do repozytorium i jego kluczy oraz ustaw uprawnienia gałęzi. Aby uzyskać więcej informacji, zapoznaj się z krytycznym obszarem projektowania dla usługi GitOps.

Zarządzanie zasadami i raportowanie

Ład oparty na zasadach jest podstawową zasadą operacji natywnych dla chmury i platformy Microsoft Cloud Adoption Framework dla platformy Azure. Usługa Azure Policy udostępnia mechanizm wymuszania standardów firmowych i oceny zgodności na dużą skalę. Za pomocą usługi Azure Policy można zaimplementować ład w celu zapewnienia spójności wdrożeń, zgodności, kontroli kosztów, stanu zabezpieczeń. Na pulpicie nawigacyjnym zgodności można wyświetlić zagregowany widok ogólnego stanu środowiska na dużą skalę i znaleźć możliwości korygowania na poziomie klastra.

Platforma Kubernetes z obsługą usługi Azure Arc obsługuje usługę Azure Policy w warstwie zarządzania zasobami platformy Azure, a także wymuszania zasad w klastrze przez rozszerzenie usługi Gatekeeper dla programu Open Policy Agent. Można zaimplementować dowolne wbudowane zasady , aby szybko osiągnąć zgodność i wymuszanie na dużą skalę. Na poniższym diagramie pokazano, jak usługa Azure Policy stosuje wymuszania i zabezpieczenia na dużą skalę do klastrów Kubernetes z obsługą usługi Azure Arc.

Diagram showing Azure Arc-enabled Kubernetes Policy.

Zapoznaj się z zakresem zasad platformy Azure i miejscem, w którym można je zastosować (grupa zarządzania, subskrypcja, grupa zasobów lub indywidualny poziom zasobów). Użyj wbudowanej biblioteki usługi Azure Policy dla platformy Kubernetes z obsługą usługi Azure Arc. Utwórz projekt grupy zarządzania zgodnie z zalecanymi rozwiązaniami opisanymi w przewodniku Cloud Adoption Framework w skali przedsiębiorstwa.

  • Ustal, jakich zasad platformy Azure potrzebujesz, aby spełnić wymagania biznesowe, prawne i zabezpieczeń organizacji dotyczące platformy Kubernetes z obsługą usługi Azure Arc na dużą skalę.
  • Wymuszanie tagowania i implementowanie zadań korygowania.
  • Użyj usługi Azure Policy, aby wymusić metodyki GitOps i zastosować konfiguracje na dużą skalę.
  • Omówienie i ocena wbudowanych definicji usługi Azure Policy dla platformy Kubernetes z obsługą usługi Azure Arc.
  • Zasady DeployIfNotExists usługi Azure Policy programowo wdrażają agentów usług rozszerzeń/zarządzania w klastrach z obsługą usługi Arc na dużą skalę, w tym w usłudze Azure Monitor.
  • Włącz Szczegółowe informacje kontenera usługi Azure Monitor w celu zapewnienia zgodności i monitorowania operacyjnego klastrów Kubernetes z obsługą usługi Azure Arc.

Strategia zarządzania dziennikami

Projektowanie i planowanie wdrożenia obszaru roboczego usługi Log Analytics, czyli magazynu, w którym są zbierane, agregowane i analizowane później. Ponieważ obszar roboczy usługi Log Analytics reprezentuje lokalizację geograficzną danych, aby zapewnić obsługę poziomu izolacji i zakresu konfiguracji, takich jak przechowywanie danych, musisz określić wymaganą liczbę obszarów roboczych i sposób ich mapowania na strukturę organizacyjną.

Użyj jednego obszaru roboczego usługi Log Analytics usługi Azure Monitor, aby zarządzać scentralizowaną kontrolą dostępu opartą na rolach, widocznością i raportowaniem, zgodnie z opisem w artykule Zarządzanie i monitorowanie najlepszych rozwiązań dotyczących przewodnika Cloud Adoption Framework.

Aby uzyskać więcej informacji, zapoznaj się z najlepszymi rozwiązaniami dotyczącymi projektowania wdrożenia dzienników usługi Azure Monitor.

Ochrona przed zagrożeniami i zarządzanie stanem zabezpieczeń w chmurze

  • Microsoft Defender dla Chmury zapewnia ujednoliconą platformę do zarządzania zabezpieczeniami segmentowaną jako zarządzanie stanem zabezpieczeń w chmurze (CSPM) i platformę ochrony obciążeń w chmurze (CWPP). Aby zwiększyć bezpieczeństwo w hybrydowej strefie docelowej, musisz chronić dane i zasoby hostowane na platformie Azure i w innych miejscach.
  • Usługa Microsoft Defender for Containers rozszerza możliwości Microsoft Defender dla Chmury na platformę Kubernetes z obsługą usługi Azure Arc. Aby zapewnić zwiększone bezpieczeństwo w hybrydowej strefie docelowej, rozważ następujące kwestie:
    • Używanie rozszerzenia Kubernetes z obsługą usługi Azure Arc do dołączania zasobów Kubernetes z obsługą usługi Arc w Microsoft Defender dla Chmury.
    • Włączenie planu usługi Microsoft Defender for Containers dla wszystkich subskrypcji. Domyślnie plan jest skonfigurowany do automatycznego wdrażania rozszerzenia Defender w dowolnym klastrze Kubernetes z włączoną obsługą usługi Arc, który jest dołączany do tej samej subskrypcji. Tę konfigurację można opcjonalnie zmodyfikować.
    • Sprawdzanie, czy rozszerzenie usługi Defender zostało wdrożone w klastrach.
    • Korzystanie z integracji informacji zabezpieczających i zarządzania zdarzeniami (SIEM) z usługami Microsoft Defender dla Chmury i Azure Sentinel.

Na poniższym diagramie przedstawiono koncepcyjną architekturę referencyjną dla Microsoft Defender dla Chmury w zasobie klastra Kubernetes z obsługą usługi Azure Arc.

A diagram depicting the Microsoft Defender for Azure Arc-enabled Kubernetes.

Jeśli używasz usługi Microsoft Container Registry jako centralnego prywatnego rejestru platformy Docker do przechowywania obrazów kontenerów i zarządzania nimi, należy użyć usługi Microsoft Defender for Containers do skanowania obrazów pod kątem luk w zabezpieczeniach.

Zapoznaj się z topologią sieci i obszarem projektowania krytycznym dla łączności.

Bezpieczny dostęp do klastra

Interfejs API kubernetes odbiera żądania wykonania akcji w klastrze. Ponieważ jest to centralny sposób interakcji z klastrem i zarządzania nim, interfejs API Kubernetes jest kluczowym elementem, który należy chronić. Korzystając z połączenia klastra Kubernetes z włączoną usługą Azure Arc, można bezpiecznie łączyć się z klastrami Kubernetes z włączoną usługą Azure Arc bez konieczności włączania dowolnego portu przychodzącego w zaporze. Dostęp do serwera interfejsu API platformy Kubernetes z obsługą usługi Azure Arc zapewnia następujące korzyści:

  • Umożliwia interaktywne debugowanie i rozwiązywanie problemów.
  • Umożliwia korzystanie z hostowanych agentów/modułów uruchamiających usługi Azure Pipelines, GitHub Actions lub dowolnej innej hostowanej usługi ciągłej integracji/ciągłego wdrażania. bez konieczności używania własnych agentów.
  • Zapewnia dostęp do usług platformy Azure dla lokalizacji niestandardowych i innych zasobów utworzonych na ich podstawie.

Możliwości obserwowania i zabezpieczeń mikrousług

Zaimplementowanie siatki usług umożliwia wprowadzenie uwierzytelniania i autoryzacji do połączeń usług, co wymusza zasadę najniższych uprawnień i tworzy bezpieczniejsze środowisko. Domyślnie zasobniki znajdują się w płaskiej zaufanej sieci. W implementacji siatki usług wdrażany jest zestaw przyczepek, które działają jako serwery proxy sieci. Te przyczepki zarządzają komunikacją wschodnio-zachodnią, szyfrują ruch i zwiększają ogólną możliwość obserwacji ruchu.

Implementacje siatki usług mogą chronić przed:

  • Nieautoryzowane dostępy
  • Wąchanie ataków
  • Wyprowadzenie danych
  • Impersonations

Aby uzyskać więcej informacji, zapoznaj się z obszarem projektowania krytycznym implementacji usługi Open Service Mesh.

Następne kroki

Aby uzyskać więcej informacji na temat podróży do chmury hybrydowej i wielochmurowej, zobacz następujące artykuły.