Kontrola dostępu do klastra z integracją firmy Microsoft zarządzaną przez usługę AKS
Po zintegrowaniu usługi Microsoft Entra ID z klastrem usługi AKS możesz użyć dostępu warunkowego lub usługi Privileged Identity Management (PIM) dla żądań just in time w celu kontrolowania dostępu do klastra. W tym artykule pokazano, jak włączyć dostęp warunkowy i usługę PIM w klastrach usługi AKS.
Uwaga
Microsoft Entra Conditional Access and Privileged Identity Management (PIM) to microsoft Entra ID P1, P2 lub Governance możliwości wymagające jednostki SKU Premium P2. Aby uzyskać więcej informacji na temat licencji i jednostek SKU entra firmy Microsoft, zobacz Zarządzanie tożsamością Microsoft Entra przewodnik po licencjonowaniu i cenniku.
Zanim rozpoczniesz
- Aby zapoznać się z omówieniem i instrukcjami konfiguracji, zobacz Integracja z usługą Microsoft Entra zarządzana przez usługę AKS.
Używanie dostępu warunkowego z identyfikatorem Entra firmy Microsoft i usługą AKS
W witrynie Azure Portal przejdź do strony Microsoft Entra ID i wybierz pozycję Aplikacje dla przedsiębiorstw.
Wybierz pozycję Zasady>dostępu>warunkowego Nowe zasady.
Wprowadź nazwę zasad, taką jak aks-policy.
W obszarze Przypisania wybierz pozycję Użytkownicy i grupy. Wybierz użytkowników i grupy, do których chcesz zastosować zasady. W tym przykładzie wybierz tę samą grupę firmy Microsoft Entra, która ma dostęp administratora do klastra.
W obszarze Aplikacje lub akcje>w chmurze Dołącz wybierz pozycję Wybierz aplikacje. Wyszukaj usługę Azure Kubernetes Service i wybierz pozycję Azure Kubernetes Service Microsoft Entra Server.
W obszarze Kontrola>dostępu Udziel wybierz pozycję Udziel dostępu, Wymagaj, aby urządzenie było oznaczone jako zgodne i Wymagaj wszystkich wybranych kontrolek.
Potwierdź ustawienia, ustaw pozycję Włącz zasady na Włączone, a następnie wybierz pozycję Utwórz.
Sprawdź, czy zasady dostępu warunkowego zostały pomyślnie wyświetlone
Uzyskaj poświadczenia użytkownika, aby uzyskać dostęp do klastra
az aks get-credentials
przy użyciu polecenia .az aks get-credentials --resource-group myResourceGroup --name myManagedCluster
Postępuj zgodnie z instrukcjami, aby się zalogować.
Wyświetl węzły w klastrze przy użyciu
kubectl get nodes
polecenia .kubectl get nodes
W witrynie Azure Portal przejdź do pozycji Microsoft Entra ID i wybierz pozycję Logowania aktywności>aplikacji>dla przedsiębiorstw.
W kolumnie Dostęp warunkowy powinien zostać wyświetlony stan Powodzenie. Wybierz zdarzenie, a następnie wybierz kartę Dostęp warunkowy. Zostaną wyświetlone zasady dostępu warunkowego.
Konfigurowanie dostępu do klastra just in time przy użyciu identyfikatora Entra firmy Microsoft i usługi AKS
W witrynie Azure Portal przejdź do pozycji Microsoft Entra ID i wybierz pozycję Właściwości.
Zanotuj wartość wymienioną w obszarze Identyfikator dzierżawy. Zostanie on odwołany w późniejszym kroku jako
<tenant-id>
.Wybierz pozycję Grupy>Nowa grupa.
Sprawdź, czy wybrano typ grupy Zabezpieczenia i określ nazwę grupy, taką jak myJITGroup. W obszarze opcji Role firmy Microsoft Entra można przypisać do tej grupy (wersja zapoznawcza), wybierz pozycję Tak , a następnie wybierz pozycję Utwórz.
Na stronie Grupy wybierz właśnie utworzoną grupę i zanotuj identyfikator obiektu. Zostanie on odwołany w późniejszym kroku jako
<object-id>
.Utwórz klaster usługi AKS przy użyciu integracji usługi Microsoft Entra zarządzanej
az aks create
przez usługę AKS przy użyciu polecenia--aad-admin-group-objects-ids
i--aad-tenant-id parameters
i uwzględnij wartości zanotowany wcześniej w krokach.az aks create \ --resource-group myResourceGroup \ --name myManagedCluster \ --enable-aad \ --aad-admin-group-object-ids <object-id> \ --aad-tenant-id <tenant-id> \ --generate-ssh-keys
W witrynie Azure Portal wybierz pozycję Dostęp uprzywilejowany działania>(wersja zapoznawcza)>Włącz dostęp uprzywilejowany.
Aby udzielić dostępu, wybierz pozycję Dodaj przypisania.
Z listy rozwijanej Wybierz rolę wybierz użytkowników i grupy, którym chcesz udzielić dostępu do klastra. Te przypisania można modyfikować w dowolnym momencie przez administratora grupy. Następnie kliknij przycisk Dalej.
W obszarze Typ przypisania wybierz pozycję Aktywne , a następnie określ żądany czas trwania. Podaj uzasadnienie, a następnie wybierz pozycję Przypisz.
Aby uzyskać więcej informacji na temat typów przypisań, zobacz Przypisywanie uprawnień do uprzywilejowanej grupy dostępu (wersja zapoznawcza) w usłudze Privileged Identity Management.
Sprawdź, czy dostęp just in time działa, korzystając z klastra
Uzyskaj poświadczenia użytkownika, aby uzyskać dostęp do klastra
az aks get-credentials
przy użyciu polecenia .az aks get-credentials --resource-group myResourceGroup --name myManagedCluster
Wykonaj kroki, aby się zalogować.
Użyj polecenia ,
kubectl get nodes
aby wyświetlić węzły w klastrze.kubectl get nodes
Zwróć uwagę na wymaganie dotyczące uwierzytelniania i wykonaj kroki uwierzytelniania. W przypadku powodzenia powinny zostać wyświetlone dane wyjściowe podobne do następujących przykładowych danych wyjściowych:
To sign in, use a web browser to open the page https://microsoft.com/devicelogin and enter the code AAAAAAAAA to authenticate. NAME STATUS ROLES AGE VERSION aks-nodepool1-61156405-vmss000000 Ready agent 6m36s v1.18.14 aks-nodepool1-61156405-vmss000001 Ready agent 6m42s v1.18.14 aks-nodepool1-61156405-vmss000002 Ready agent 6m33s v1.18.14
Stosowanie dostępu just in time na poziomie przestrzeni nazw
Integrowanie klastra usługi AKS z kontrolą dostępu opartą na rolach platformy Azure.
Skojarz grupę, którą chcesz zintegrować z dostępem just in time z przestrzenią nazw w klastrze przy użyciu
az role assignment create
polecenia .az role assignment create --role "Azure Kubernetes Service RBAC Reader" --assignee <AAD-ENTITY-ID> --scope $AKS_ID/namespaces/<namespace-name>
Skojarz grupę skonfigurowaną na poziomie przestrzeni nazw z usługą PIM, aby ukończyć konfigurację.
Rozwiązywanie problemów
Jeśli kubectl get nodes
zwraca błąd podobny do następującego:
Error from server (Forbidden): nodes is forbidden: User "aaaa11111-11aa-aa11-a1a1-111111aaaaa" cannot list resource "nodes" in API group "" at the cluster scope
Upewnij się, że administrator grupy zabezpieczeń nadał Twojemu kontu aktywne przypisanie.
Następne kroki
- Użyj narzędzia kubelogin , aby uzyskać dostęp do funkcji uwierzytelniania platformy Azure, które nie są dostępne w narzędziu kubectl.
Azure Kubernetes Service
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla