Powiązania tożsamości dla usługi Azure Kubernetes Service (AKS) (wersja zapoznawcza)

Kojarzenie tożsamości to funkcja w wersji zapoznawczej dla usługi Azure Kubernetes Service (AKS), która rozszerza istniejącą funkcję tożsamości dla obciążenia w celu przezwyciężenia ograniczeń w zakresie skalowania wokół poświadczeń tożsamości federacyjnych (FIC) w tożsamościach zarządzanych przypisanych przez użytkownika (UAMI). W przypadku tożsamości obciążenia roboczego dla usługi AKS pojedyncza UAMI nie może mieć więcej niż 20 FICs. Duże wdrożenia platformy Kubernetes mogą obejmować ponad 20 klastrów (każdy klaster ma unikatowego wystawcę) lub mieć wiele <namespace, service-account> kombinacji, które wymagają mapowania na ten sam UAMI, wyczerpując kwotę FIC.

Powiązania tożsamości rozwiązują to ograniczenie, zezwalając wielu klastrom AKS na współużytkowanie tej samej UAMI przy użyciu pojedynczego FIC na UAMI. Takie podejście znacznie zwiększa skalowalność i upraszcza operacje w środowiskach usługi AKS na dużą skalę, które wymagają uwierzytelniania Microsoft Entra.

Ważne

Funkcje usługi AKS w wersji zapoznawczej są dostępne na zasadzie samoobsługi i wymagają zapisania się. Wersje zapoznawcze są udostępniane w wersji "as is" i "jako dostępne" i są wykluczone z umów dotyczących poziomu usług i ograniczonej gwarancji. Wersje zapoznawcze usługi AKS są częściowo objęte pomocą techniczną dla klientów, świadczoną w miarę możliwości. W związku z tym te funkcje nie są przeznaczone do użytku produkcyjnego. Aby uzyskać więcej informacji, zobacz następujące artykuły pomocy technicznej:

Co to jest powiązanie tożsamości?

Powiązanie tożsamości to mapowanie zasobów między jednym elementem UAMI a jednym klastrem AKS z obciążeniami, które wymagają uwierzytelniania tożsamości przy użyciu Microsoft Entra.

Załóżmy, że masz UAMI, MI-1, wymagany przez obciążenia uruchomione w klastrach AKS-cluster-1, AKS-cluster-2 i AKS-cluster-3. Możesz utworzyć trzy powiązania tożsamości, aby zamapować MI-1 na każdy z tych klastrów.

  • Mapowanie powiązania tożsamościIB-AMI-1 na AKS-cluster-1.
  • Mapowanie powiązania tożsamościIB-BMI-1 na AKS-cluster-2.
  • Mapowanie powiązania tożsamościIB-CMI-1 na AKS-cluster-3.

Nawet jeśli ten sam element UAMI jest potrzebny w wielu klastrach, tworzone jest tylko jedno poświadczenie tożsamości federacyjnej na jeden UAMI, rozwiązując poprzednie ograniczenie 20 FIC. Podczas tworzenia powiązania tożsamości usługa AKS automatycznie tworzy (lub ponownie używa) pojedynczy element FIC dla tego UAMI. Na poniższych diagramach przedstawiono różnice między poprzednim modelem tożsamości obciążenia roboczego a nowym modelem wiązań tożsamości:

Zrzut ekranu przedstawiający dwa diagramy: jeden pokazuje mapowanie powiązań tożsamości UAMI na wiele klastrów AKS przy użyciu jednego FIC, a drugi pokazuje mapowania tożsamości obciążeń.

Po utworzeniu powiązania tożsamości i autoryzacji UAMI dla klastra należy zdefiniować obiekty ClusterRoleClusterRoleBinding, które określają przestrzenie nazw i konta usług (szczegółowe lub zbiorcze), mające pozwolenie na korzystanie z tej tożsamości zarządzanej w celu pozyskiwania tokenów Microsoft Entra.

Używanie powiązań tożsamości z bibliotekami klienta tożsamości platformy Azure

Aby używać powiązań tożsamości z obciążeniami aplikacji, wykonaj następujące kroki:

  1. Upewnij się, że używasz minimalnego wymaganego pakietu tożsamości platformy Azure.
  2. Użyj WorkloadIdentityCredential i włącz tę funkcję. Ta funkcja nie jest obsługiwana w systemie ManagedIdentityCredential lub DefaultAzureCredential.

W poniższej tabeli przedstawiono minimalne wersje pakietów i sposób włączania powiązań tożsamości dla każdego obsługiwanego języka:

Język Package Minimalna wersja Jak włączyć
.NET Azure.Identity
lub
Azure. Core
Tylko wersja 1.18.0-beta.3
lub
Wersja 1.55.0 lub nowsza
WorkloadIdentityCredential tryb powiązania tożsamości jest domyślnie wyłączony. Ustaw opcję WorkloadIdentityCredentialOptions.IsAzureProxyEnabled na true.
Go azidentity wersja 1.14.0-beta.3 lub nowsza Ustaw opcję WorkloadIdentityCredentialOptions.EnableAzureProxy na true.
Java azure-identity wersja 1.19.0-beta.2 lub nowsza Wywołaj enableAzureProxy() na WorkloadIdentityCredentialBuilder.
JavaScript @azure/identity 4.14.0-beta.2 lub nowsza Ustaw wartość enableAzureProxy na true w WorkloadIdentityCredentialOptions.
Python azure-identity 1.26.0b2 lub nowsza Ustaw enable_azure_proxy=True w pliku WorkloadIdentityCredential.

Uwaga / Notatka

W przypadku .NET obsługa powiązań tożsamości jest dostępna wyłącznie w Azure. Identity v1.18.0-beta.3 lub, jako alternatywa, w Azure. Core v1.55.0 lub nowszy. Żadna inna wersja Azure.Identity nie zawiera obecnie tej funkcji.

Często zadawane pytania (FAQ)

Czy wymagane jest, aby tożsamości były takie same (spójność przestrzeni nazw i konta usługi) w klastrach używających tego samego UAMI?

Nie. Powiązania tożsamościowe nie wymagają zgodności przestrzeni nazw ani konta usługi. Operator klastra może jawnie autoryzować przestrzenie nazw i konta usług w każdym klastrze, które mogą używać tożsamości zarządzanej za pośrednictwem kontroli dostępu opartej na rolach (RBAC).

Czy można utworzyć wiele powiązań tożsamości dla tego samego interfejsu użytkownika?

Tak. Adres URL wystawcy OIDC obsługiwany przez usługę AKS dla tego interfejsu użytkownika jest taki sam we wszystkich powiązaniach tożsamości odwołujących się do tej samej tożsamości zarządzanej.

Jakie uprawnienia są wymagane do tworzenia wiązań tożsamości?

Wymagane uprawnienia usługi Azure Resource Manager (ARM):

  • Microsoft.ContainerService/managedClusters/identityBindings/*
  • Microsoft.ManagedIdentity/userAssignedIdentities/federatedIdentityCredentials/*

Uwaga / Notatka

Podczas tworzenia powiązania tożsamości usługa AKS automatycznie tworzy FIC. Jeśli obiekt wywołujący nie ma uprawnień do tworzenia zasobów FIC, utworzenie powiązania tożsamości nie powiedzie się.

Wymagane uprawnienia platformy Kubernetes:

  • Możliwość tworzenia obiektów ClusterRole i ClusterRoleBinding (administrator klastra lub równoważny).

Co się stanie z automatycznie utworzonym FIC po usunięciu wszystkich wiązań tożsamości dla UAMI?

Obecnie nie ma automatycznego odzyskiwania pamięci dla FIC w przypadku usunięcia ostatniego powiązania tożsamości odwołującego się do zarządzanej tożsamości konta użytkownika (UAMI). Operatorzy powinni ręcznie wyczyścić FIC dopiero po potwierdzeniu, że wszystkie powiązania tożsamości tego UAMI zostały usunięte, aby uniknąć zakłócania pozostałych zależności.

Jakie wymagania wstępne dotyczące sieci istnieją dla powiązań tożsamości?

Wcześniej tożsamość obciążeń wymagała ruchu wychodzącego do login.microsoftonline.com, aby obciążenia mogły wymieniać tokeny konta usługi na tokeny dostępu Microsoft Entra. W przypadku powiązań tożsamości żądania wymiany tokenów są kierowane za pośrednictwem serwera proxy powiązania tożsamości specyficznego dla klastra obsługiwanego przez usługę AKS. Bezpośredni ruch wychodzący do login.microsoftonline.com na potrzeby wymiany tokenów nie jest wymagany.

Jakie ograniczenia istnieją dla powiązań tożsamości?

Powiązania tożsamości nie są jeszcze obsługiwane w klastrach skonfigurowanych z integracją wirtualnej sieci serwera API.