Omówienie tożsamości zarządzanych w usłudze Azure Kubernetes Service (AKS)

Ten artykuł zawiera omówienie tożsamości zarządzanych przypisanych przez system i przypisanych przez użytkownika w usłudze AKS, w tym sposobu ich działania, przypisań ról i funkcji tożsamości zarządzanej specyficznej dla usługi AKS.

Aby uzyskać więcej informacji na temat tożsamości zarządzanych na platformie Azure, zobacz dokumentację Tożsamości zarządzane dla zasobów platformy Azure.

Uwaga / Notatka

Tożsamości zarządzane obejmują scenariusz wykorzystania tożsamości typu klaster-platforma Azure w AKS — jak klaster AKS działa na platformie Azure, aby zarządzać zasobami w Twoim imieniu. Inne scenariusze tożsamości (uwierzytelnianie i autoryzacja w płaszczyźnie sterowania oraz tożsamość zadań obciążeniowych zasobnika wobec platformy Azure) są opisane w Access and identity options for AKS (Opcje dostępu i tożsamości dla AKS).

Uwaga / Notatka

Typy tożsamości przypisane przez system i przypisane przez użytkownika różnią się od tożsamości obciążenia, która jest przeznaczona do użycia przez aplikację działającą na zasobniku.

Przepływ autoryzacji tożsamości zarządzanej usługi AKS

Klastry usługi AKS używają tożsamości zarządzanych przypisanych przez system lub użytkowników do żądania tokenów z firmy Microsoft Entra. Te tokeny pomagają autoryzować dostęp do innych zasobów działających na platformie Azure. Do tożsamości zarządzanej przypisujesz rolę kontroli dostępu opartej na rolach (RBAC) platformy Azure, aby przyznać jej uprawnienia do określonego zasobu platformy Azure. Na przykład można udzielić uprawnień tożsamości zarządzanej w celu uzyskania dostępu do wpisów tajnych w magazynie kluczy platformy Azure do użycia przez klaster.

Zachowanie tożsamości zarządzanej w Azure Kubernetes Service (AKS)

Podczas wdrażania klastra usługi AKS domyślnie tworzona jest tożsamość zarządzana przypisana przez system. Klaster można również utworzyć przy użyciu tożsamości zarządzanej przypisanej przez użytkownika lub zaktualizować istniejący klaster do innego typu tożsamości zarządzanej.

Jeśli klaster już używa tożsamości zarządzanej i zmienia typ tożsamości (na przykład z przypisanego przez system do przypisanego przez użytkownika), występuje opóźnienie, gdy składniki płaszczyzny sterowania przełączają się na nową tożsamość. Składniki płaszczyzny sterowania nadal używają starej tożsamości do momentu wygaśnięcia tokenu starej tożsamości. Po odświeżeniu tokenu przełączą się do nowej tożsamości. Ten proces może zająć kilka godzin.

Uwaga / Notatka

Klaster można również utworzyć przy użyciu jednostki usługi aplikacji, a nie tożsamości zarządzanej. Jednak użyj tożsamości zarządzanej za pośrednictwem jednostki usługi aplikacji w celu zapewnienia bezpieczeństwa i łatwości użycia. Jeśli masz istniejący klaster, który używa głównej jednostki usługi aplikacji, możesz zaktualizować go, aby używał tożsamości zarządzanej.

Zarządzanie tożsamościami i poświadczeniami w usłudze AKS

Platforma Azure zarządza zarówno tożsamościami zarządzanymi przypisanymi przez system, jak i przypisanymi przez użytkownika oraz ich poświadczeniami, co pozwala na autoryzację dostępu z aplikacji bez konieczności tworzenia ani rotacji tajemnic.

Zarządzana tożsamość przypisana przez system

Poniższa tabela zawiera podsumowanie kluczowych cech tożsamości zarządzanej przypisanej przez system w usłudze AKS:

Sposób jego tworzenia Zachowanie cyklu życia Udostępnianie zasobów Typowe przypadki użycia w usłudze AKS
Utworzone w ramach zasobu platformy Azure, takiego jak klaster usługi AKS Powiązane z cyklem życia zasobu nadrzędnego, więc jest usuwane po usunięciu zasobu nadrzędnego Można skojarzyć tylko z jednym zasobem • Obciążenia zawarte w jednym zasobie platformy Azure
• Obciążenia wymagające tożsamości niezależnych

Tożsamość zarządzana przypisana użytkownikowi

W poniższej tabeli przedstawiono podsumowanie kluczowych cech tożsamości zarządzanej przypisanej przez użytkownika w usłudze AKS:

Sposób jego tworzenia Zachowanie cyklu życia Udostępnianie zasobów Typowe przypadki użycia w usłudze AKS
Utworzony jako autonomiczny zasób platformy Azure i musi istnieć przed utworzeniem klastra Niezależny od cyklu życia dowolnego określonego zasobu, dlatego wymaga ręcznego usunięcia, jeśli nie jest już potrzebny Może być współużytkowany w wielu zasobach • Obciążenia uruchamiane na wielu zasobach, które mogą współdzielić jedną tożsamość
• Obciążenia wymagające autoryzacji wstępnej do bezpiecznego zasobu w ramach procesu dostarczania zasobów
• Obciążenia, w których zasoby są często poddawane recyklingu, ale wymagają spójnych uprawnień

Wstępnie utworzona tożsamość zarządzana kubelet

Wstępnie utworzona tożsamość zarządzana kubelet to opcjonalna tożsamość przypisana przez użytkownika, której usługa kubelet może używać do uzyskiwania dostępu do innych zasobów na platformie Azure. Ta funkcja umożliwia scenariusze, takie jak połączenie z usługą Azure Container Registry (ACR) podczas tworzenia klastra. Jeśli nie określisz przypisanej przez użytkownika tożsamości zarządzanej dla kubelet, AKS utworzy tożsamość kubelet przypisaną przez użytkownika w grupie zasobów węzła. W przypadku tożsamości kubelet przypisanej przez użytkownika poza domyślną grupą zasobów węzła roboczego przypisz rolę Operator tożsamości zarządzanej do tożsamości płaszczyzny sterowania klastra, przypisanej przez system lub przypisanej przez użytkownika, z przypisaniem roli w zakresie tożsamości kubelet.

Przypisania ról dla tożsamości zarządzanych w usłudze AKS

Rolę RBAC w platformie Azure można przypisać tożsamości zarządzanej, aby nadać klastrowi uprawnienia do innego zasobu na platformie Azure. Kontrola dostępu oparta na rolach (RBAC) w Azure obsługuje zarówno wbudowane, jak i niestandardowe definicje ról, które określają poziomy uprawnień. Aby przypisać rolę, zobacz Kroki przypisywania roli platformy Azure.

Po przypisaniu roli RBAC platformy Azure do tożsamości zarządzanej należy zdefiniować zakres roli. Ogólnie rzecz biorąc, najlepszym rozwiązaniem jest ograniczenie zakresu roli do minimalnych uprawnień wymaganych przez tożsamość zarządzaną. Aby uzyskać więcej informacji na temat zakresu ról Azure RBAC, zobacz Zrozumienie zakresu dla Azure RBAC.

Przypisania ról dla tożsamości zarządzanej w płaszczyźnie sterowania

Podczas tworzenia i używania własnej sieci wirtualnej, dołączonych dysków platformy Azure, statycznego adresu IP, tabeli tras lub tożsamości kubelet przypisanej przez użytkownika, gdzie zasoby są poza grupą zasobów węzła roboczego, interfejs wiersza polecenia platformy Azure automatycznie dodaje przypisanie roli. Jeśli używasz szablonu ARM lub innej metody, użyj identyfikatora tożsamości zarządzanej, aby wykonać przypisanie roli.

Jeśli nie używasz Azure CLI, ale używasz własnej sieci wirtualnej, dołączonych dysków Azure, statycznego adresu IP, tabeli tras lub tożsamości kubelet przypisanej przez użytkownika, gdzie te zasoby znajdują się poza grupą zasobów węzła roboczego, zalecamy użycie tożsamości zarządzanej przypisanej przez użytkownika dla płaszczyzny sterowania i ręczne wykonanie wymaganego przypisania roli przy użyciu identyfikatora głównego tej tożsamości.

Gdy płaszczyzna sterowania używa tożsamości zarządzanej przypisanej przez system, należy utworzyć tożsamość w tym samym czasie co klaster, aby nie można było wykonać przypisania roli do momentu utworzenia klastra. Po utworzeniu klastra pobierz identyfikator podmiotu zabezpieczeń tożsamości i dodaj wymagane przypisanie roli.

Podsumowanie tożsamości zarządzanych używanych przez AKS

Usługa AKS używa kilku tożsamości zarządzanych dla wbudowanych usług i dodatków. W poniższej tabeli przedstawiono podsumowanie tożsamości zarządzanych używanych przez usługę AKS, ich przypadków użycia, uprawnień domyślnych oraz tego, czy można wprowadzić własną tożsamość:

Tożsamość Name Przypadek użycia Uprawnienia domyślne Przynieś własną tożsamość
Płaszczyzna sterowania Nazwa klastra usługi AKS Używane przez składniki płaszczyzny sterowania usługi AKS do zarządzania zasobami klastra, w tym równoważnikami obciążenia dla ruchu przychodzącego i publicznymi adresami IP zarządzanymi przez usługę AKS, Automatycznego Skalowania Klastra, sterownikami dysku, pliku i obiektów blob platformy Azure CSI. Rola współautora dla grupy zasobów węzła Wsparte
Kubelet Nazwa klastra AKS-agentpool Uwierzytelnianie za pomocą usługi Azure Container Registry (ACR) Brak; wymaga roli ściągania usługi ACR na podstawie trybu uprawnień rejestru Wsparte
Dodatek AzureNPM Nie jest wymagana żadna tożsamość N/A Nieobsługiwane
Dodatek Monitorowanie sieci w usłudze AzureCNI Nie jest wymagana żadna tożsamość N/A Nieobsługiwane
Dodatek azure-policy (gatekeeper) Nie jest wymagana żadna tożsamość N/A Nieobsługiwane
Dodatek Kaliko Nie jest wymagana żadna tożsamość N/A Nieobsługiwane
Dodatek routing aplikacji (NGINX) Zarządza certyfikatami usług Azure DNS i Azure Key Vault rola użytkownika certyfikatu Key Vault dla Key Vault roli Współautor strefy DNS dla stref DNS Nieobsługiwane
Dodatek ingressapplicationgateway-AKS nazwa klastra Zarządza wymaganymi zasobami sieciowymi dla kontrolera ruchu przychodzącego usługi Application Gateway (AGIC) Zależy od topologii wdrożenia Nieobsługiwane
Dodatek Szczegółowe informacje o kontenerze Zbiera dzienniki kontenerów i dane spisu oraz wysyła je do obszaru roboczego Log Analytics Używa tożsamości zarządzanej klastra; brak wymaganej roli Publisher metryk monitorowania Używa tożsamości klastra
Dodatek Virtual-Node (ACIConnector) Zarządza wymaganymi zasobami sieciowymi dla usługi Azure Container Instances (ACI) Rola współautora dla grupy zasobów węzła Nieobsługiwane
Dodatek tożsamość analizy kosztów Zbiera identyfikatory Azure Resource Manager alokacji kosztów Odczyt dostępu do grupy zasobów węzła Nieobsługiwane
Tożsamość obciążenia roboczego Tożsamość Microsoft Entra skonfigurowana przez użytkownika Umożliwia aplikacjom bezpieczny dostęp do zasobów w chmurze za pomocą identyfikatora obciążenia Entra firmy Microsoft Zależy od zasobów, do których uzyskuje dostęp obciążenie Wymagane

Uwaga / Notatka

Tożsamość kubelet wymaga roli ściągania usługi ACR. W przypadku rejestrów w trybie uprawnień rejestru RBAC użyj AcrPull roli. W przypadku rejestrów w trybie uprawnień RBAC Registry + ABAC Repository użyj Container Registry Repository Reader roli. Container Registry Repository Catalog Lister Dodaj rolę tylko wtedy, gdy tożsamość musi zawierać listę repozytoriów. Aby uzyskać więcej informacji, zobacz Tożsamość mapowana węzła usługi AKS.

Wiersz routingu aplikacji opisuje środowisko oparte na systemie NGINX. Microsoft zapewnia obsługę krytycznych poprawek zabezpieczeń dla zasobów ruchu przychodzącego NGINX routingu aplikacji do listopada 2026 r. Migracja do interfejsu API usługi Application Routing Gateway lub innej obsługiwanej implementacji do listopada 2026 r. Integracja usługi DNS i TLS interfejsu API bramy używa Tożsamość obciążeń Microsoft Entra zamiast tożsamości zarządzanej dodatku. W przypadku interfejsu API bramy utwórz tożsamość zarządzaną przypisaną przez użytkownika, przyznaj jej wymagane role Azure DNS i Azure Key Vault oraz utwórz poświadczenia tożsamości federacyjnej dla kont usługi Kubernetes.

Uprawnienia AGIC zależą od sposobu wdrażania usługi Application Gateway. Gdy dodatek tworzy nową usługę Application Gateway, zwykle automatycznie przypisuje wymagane uprawnienia. Jeśli musisz ręcznie przypisać uprawnienia, przyznaj współautorowi sieci tożsamości dodatku w podsieci usługi Application Gateway. W przypadku istniejącej usługi Application Gateway w innej grupie zasobów niż klaster usługi AKS przyznaj współautorowi i czytelnikowi sieci dodatku tożsamości w grupie zasobów usługi Application Gateway. Aby uzyskać więcej informacji, zobacz Enable AGIC with a new Application Gateway and enable AGIC with an existing Application Gateway (Włączanie usługi AGIC z nową usługą Application Gateway ) i enable AGIC with an existing Application Gateway (Włączanie usługi AGIC z istniejącą usługą Application Gateway).

Usługa Container Insights domyślnie używa tożsamości zarządzanej do uwierzytelniania tożsamości zarządzanej i używa tożsamości zarządzanej klastra do wysyłania danych do Azure Monitor. Starsze uwierzytelnianie, które wymaga roli Publisher metryki monitorowania, zostanie wycofane 30 września 2026 r. Usługa Container Insights zbiera dzienniki i dane spisu w obszarze roboczym Log Analytics; usługa zarządzana Azure Monitor dla rozwiązania Prometheus oddzielnie zbiera metryki Rozwiązania Prometheus w obszarze roboczym Azure Monitor. Aby uzyskać więcej informacji, zobacz Uwierzytelnianie usługi Container Insights.

Usługa AKS tworzy obiekt cost-analysis-identity z dostępem do odczytu do grupy zasobów węzła i przypisuje go do pul węzłów klastra podczas włączania analizy kosztów. Nie można podać innej tożsamości dodatku. Aby uzyskać więcej informacji, zobacz Włączanie analizy kosztów usługi AKS.

Tożsamość obciążeń Microsoft Entra jest modelem tożsamości typu zasobnik-Azure, a nie klastrem ani tożsamością zarządzaną dodatku. Należy skonfigurować tożsamość Microsoft Entra, której używa każde obciążenie, dodać adnotację do konta usługi Kubernetes przy użyciu identyfikatora klienta tożsamości i utworzyć poświadczenia tożsamości federacyjnej. Aby uzyskać więcej informacji, zobacz Wdrażanie i konfigurowanie Tożsamość obciążeń Microsoft Entra.

Następne kroki

Włącz żądany typ tożsamości zarządzanej w nowym lub istniejącym klastrze usługi AKS, korzystając z następujących przewodników: