Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Integracja Microsoft Entra upraszcza proces włączania uwierzytelniania opartego na usłudze Entra dla usługi AKS. Wcześniej należało utworzyć aplikację klienta i serwera, a dzierżawca Microsoft Entra musiał przypisać uprawnienia do roli Czytelnicy katalogu. Teraz dostawca zasobów usługi Azure Kubernetes Service (AKS) zarządza aplikacjami klienta i serwera.
Administratorzy klastra mogą skonfigurować kontrolę dostępu opartą na rolach platformy Kubernetes (Kubernetes RBAC) na podstawie tożsamości użytkownika lub członkostwa w grupie katalogów.
Dowiedz się więcej o przepływie integracji Microsoft Entra w dokumentacji Microsoft Entra.
Ograniczenia
Nie można wyłączyć integracji z firmą Microsoft Entra po włączeniu jej w klastrze.
Zanim rozpoczniesz
Aby zainstalować dodatek usługi AKS, sprawdź, czy masz następujące elementy:
- Masz zainstalowany i skonfigurowany interfejs wiersza polecenia platformy Azure w wersji 2.29.0 lub nowszej. Aby znaleźć wersję, uruchom
az --versionpolecenie . Jeśli musisz zainstalować lub uaktualnić, zobacz Install Azure CLI. - Potrzebujesz
kubectlw wersji co najmniej 1.18.1 lubkubelogin. W przypadku Azure CLI i modułu Azure PowerShellkubectlikubeloginsą uwzględniane i automatycznie zarządzane. Oznacza to, że są one domyślnie uaktualniane i uruchomienieaz aks install-clinie jest wymagane ani zalecane. Jeśli używasz zautomatyzowanego potoku, musisz zarządzać uaktualnieniami dla poprawnej lub najnowszej wersji. Różnica między mniejszymi wersjami platformy Kubernetes akubectlnie powinna przekraczać jednej wersji. W przeciwnym razie problemy z uwierzytelnianiem występują w niewłaściwej wersji. - Ta konfiguracja wymaga grupy microsoft Entra dla klastra. Ta grupa jest zarejestrowana jako grupa administracyjna w klastrze w celu udzielenia uprawnień administratora. Jeśli nie masz istniejącej grupy Microsoft Entra, możesz go utworzyć przy użyciu
az ad group createpolecenia .
Włącz integrację w klastrze AKS
Najpierw ustaw zmienne środowiskowe dla grupy zasobów, nazwy klastra, identyfikatorów obiektów grupy administracyjnej Microsoft Entra i identyfikatora dzierżawcy. Użyj ponownie tych zmiennych w kolejnych poleceniach.
export RESOURCE_GROUP="myResourceGroup"
export CLUSTER_NAME="myManagedCluster"
export AAD_ADMIN_GROUP_OBJECT_IDS="<group-object-id>" # comma-separated for multiple groups
export AAD_TENANT_ID="<tenant-id>"
export LOCATION="centralus"
Tworzenie nowego klastra
Utwórz grupę zasobów Azure przy użyciu polecenia
az group create.az group create --name $RESOURCE_GROUP --location $LOCATIONUtwórz klaster usługi AKS i włącz dostęp administracyjny dla grupy Microsoft Entra przy użyciu
az aks createpolecenia .az aks create \ --resource-group $RESOURCE_GROUP \ --name $CLUSTER_NAME \ --enable-aad \ --aad-admin-group-object-ids $AAD_ADMIN_GROUP_OBJECT_IDS \ --aad-tenant-id $AAD_TENANT_ID \ --generate-ssh-keysW przypadku pomyślnego utworzenia klastra Microsoft Entra ID w treści odpowiedzi znajduje się następująca sekcja.
"AADProfile": { "adminGroupObjectIds": [ "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb" ], "clientAppId": null, "managed": true, "serverAppId": null, "serverAppSecret": null, "tenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee" }
Korzystanie z istniejącego klastra
Włącz integrację Microsoft Entra z istniejącym klastrem z włączoną kontrolą dostępu opartą na rolach Kubernetes przy użyciu polecenia az aks update. Pamiętaj, aby ustawić grupę administracyjną, aby zachować dostęp do klastra.
az aks update \
--resource-group $RESOURCE_GROUP \
--name $CLUSTER_NAME \
--enable-aad \
--aad-admin-group-object-ids $AAD_ADMIN_GROUP_OBJECT_IDS \
--aad-tenant-id $AAD_TENANT_ID
Po pomyślnej aktywacji klastra Microsoft Entra ID treść odpowiedzi zawiera następującą sekcję:
"AADProfile": {
"adminGroupObjectIds": [
"aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb"
],
"clientAppId": null,
"managed": true,
"serverAppId": null,
"serverAppSecret": null,
"tenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee"
}
Migrowanie starszego klastra do integracji
Jeśli klaster korzysta ze starszej integracji firmy Microsoft Entra, możesz przeprowadzić uaktualnienie do integracji z firmą Microsoft Entra za pomocą az aks update polecenia .
Warning
Klastry w bezpłatnym poziomie mogą napotkać przestoje serwera interfejsu API podczas aktualizacji. Zalecamy uaktualnienie poza godzinami pracy.
Po uaktualnieniu kubeconfig zawartość ulegnie zmianie. Należy uruchomić polecenie az aks get-credentials --resource-group <AKS resource group name> --name <AKS cluster name> , aby scalić nowe poświadczenia z plikiem kubeconfig .
az aks update \
--resource-group $RESOURCE_GROUP \
--name $CLUSTER_NAME \
--enable-aad \
--aad-admin-group-object-ids $AAD_ADMIN_GROUP_OBJECT_IDS \
--aad-tenant-id $AAD_TENANT_ID
Pomyślna migracja klastra Microsoft Entra ID obejmuje następującą sekcję w treści odpowiedzi:
"AADProfile": {
"adminGroupObjectIds": [
"aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb"
],
"clientAppId": null,
"managed": true,
"serverAppId": null,
"serverAppSecret": null,
"tenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee"
}
Uzyskaj dostęp do włączonego klastra
Pobierz poświadczenia użytkownika, aby uzyskać dostęp do klastra za pomocą polecenia
az aks get-credentials.az aks get-credentials --resource-group $RESOURCE_GROUP --name $CLUSTER_NAMEPostępuj zgodnie z instrukcjami logowania.
Wyświetl węzły klastra poleceniem
kubectl get nodes.kubectl get nodes
Klastry z uruchomioną platformą Kubernetes w wersji 1.24 lub nowszej automatycznie używają kubelogin formatu wtyczki exec, więc do interaktywnego logowania w Azure CLI nie jest wymagana ręczna konwersja kubeconfig. W przypadku nieinterakcyjnych scenariuszy, takich jak potoki CI, lub w celu użycia innej metody uwierzytelniania (zasady usługi, tożsamości zarządzanej, tożsamości obciążenia lub kodu urządzenia), zobacz Używanie narzędzia kubelogin do uwierzytelniania użytkowników w AKS.
Dostęp awaryjny
W rzadkim przypadku, gdy logowanie za pomocą identyfikatora Entra firmy Microsoft do serwera API Kubernetes klastra nie działa — na przykład podczas szerokiego incydentu usługi Microsoft Entra — możesz wrócić do lokalnego konta administratora klastra, aby utrzymać działanie klastra do czasu przywrócenia logowania opartego na usłudze Entra.
Note
Alternatywne rozwiązanie jest potrzebne tylko wtedy, gdy samo logowanie oparte na usłudze Entra jest niedostępne. Jeśli problem dotyczy nieprawidłowo skonfigurowanej grupy administracyjnej (na przykład grupa została usunięta lub ustawiono nieprawidłowy identyfikator obiektu), nie potrzebujesz jej — zaktualizuj grupę administracyjną bezpośrednio az aks update --aad-admin-group-object-ids przy użyciu konta z Microsoft.ContainerService/managedClusters/write uprawnieniem.
Ważna
Ten proces roboczy pomija uwierzytelnianie Microsoft Entra. Użyj go tylko jako tymczasowego rezerwowego i ponownie wyłącz konta lokalne po przywróceniu logowania Microsoft Entra.
Aby użyć ścieżki break-glass, potrzebujesz roli Współautor usługi Azure Kubernetes Service w zasobie klastra. Ta rola udziela Microsoft.ContainerService/managedClusters/write uprawnień wymaganych do ponownego włączenia kont lokalnych oraz dostępu do poświadczeń administratora klastra lokalnego. Jest ona oceniana przez usługę Azure Resource Manager, więc działa niezależnie od ścieżki logowania firmy Microsoft do serwera interfejsu API Kubernetes.
Jeśli konta lokalne są wyłączone w klastrze, tymczasowo włącz je ponownie.
az aks update --resource-group $RESOURCE_GROUP --name $CLUSTER_NAME --enable-local-accountsPobierz poświadczenia lokalnego administratora klastra, używając polecenia
az aks get-credentialsz flagą--admin. To poświadczenie to oparte na certyfikatach narzędzie kubeconfig, które pomija usługę Microsoft Entra.az aks get-credentials --resource-group $RESOURCE_GROUP --name $CLUSTER_NAME --adminUżyj
kubectlpolecenia , aby obsługiwać klaster, gdy usługa Microsoft Entra jest niedostępna. Gdy logowanie do usługi Microsoft Entra będzie działać ponownie, wyłącz konta lokalne , aby przywrócić klaster do bezpiecznego punktu odniesienia.az aks update --resource-group $RESOURCE_GROUP --name $CLUSTER_NAME --disable-local-accounts
Następne kroki
- Wzmocnij logowanie do klastra przy użyciu dostępu warunkowego do klastra i węzła.
- Używaj dostępu uprzywilejowanego na żądanie z usługą Privileged Identity Management do uzyskiwania dostępu do klastra i węzła.
- Dowiedz się więcej o integracji Microsoft Entra z RBAC platformy Kubernetes.
- Dowiedz się więcej na temat koncepcji identyfikacji AKS i Kubernetes.
- Dowiedz się, jak używać narzędzia kubelogin dla wszystkich obsługiwanych metod uwierzytelniania firmy Microsoft Entra w usłudze AKS.
- Użyj szablonów usługi Azure Resource Manager , aby utworzyć klastry z włączoną obsługą identyfikatora Entra firmy Microsoft.