Udostępnij za pośrednictwem


Włączanie uwierzytelniania entra firmy Microsoft dla klastrów Kubernetes

Dotyczy: usługa AKS w usłudze Azure Local, wersja 23H2

Usługa AKS włączona przez usługę Azure Arc upraszcza proces uwierzytelniania przy użyciu integracji identyfikatora Entra firmy Microsoft. W przypadku autoryzacji administratorzy klastra mogą skonfigurować kontrolę dostępu opartą na rolach (Kubernetes RBAC) lub kontrolę dostępu opartą na rolach platformy Azure (Azure RBAC) na podstawie członkostwa w grupie katalogów integracji z identyfikatorem Entra firmy Microsoft.

Uwierzytelnianie entra firmy Microsoft jest udostępniane klastrom usługi AKS Arc za pomocą protokołu OpenID Connect. OpenID Connect to warstwa tożsamości oparta na protokole OAuth 2.0. Aby uzyskać więcej informacji na temat programu OpenID Connect, zobacz dokumentację programu OpenID Connect. Aby uzyskać więcej informacji na temat przepływu integracji firmy Microsoft Entra, zobacz dokumentację firmy Microsoft Entra.

W tym artykule opisano sposób włączania i używania uwierzytelniania identyfikatora Entra firmy Microsoft dla klastrów Kubernetes.

Zanim rozpoczniesz

  • 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 create polecenia .
  • Aby utworzyć lub zaktualizować klaster Kubernetes, potrzebujesz roli Współautor usługi Azure Kubernetes Service Arc.
  • Aby uzyskać bezpośredni dostęp do klastra Kubernetes przy użyciu az aksarc get-credentials polecenia i pobrać plik kubeconfig, musisz mieć uprawnienie użytkownika klastra Usługi Microsoft.HybridContainerService/provisionedClusterInstances/listUserKubeconfig/action, które znajduje się w roli użytkownika klastra usługi Azure Kubernetes Service Arc.
  • Po włączeniu grupy Microsoft Entra z dostępem administratora do klastra usługi AKS ta grupa Firmy Microsoft Entra może wchodzić w interakcje z klastrami Kubernetes. Musisz zainstalować narzędzie kubectl i kubelogin.
  • Nie można wyłączyć integracji po dodaniu. Nadal możesz użyć az aksarc update polecenia , aby zaktualizować element w aad-admin-group-object-ids razie potrzeby.

Włączanie uwierzytelniania entra firmy Microsoft dla klastra Kubernetes

Tworzenie nowego klastra przy użyciu uwierzytelniania firmy Microsoft

  1. Utwórz grupę zasobów platformy az group create Azure przy użyciu polecenia :

    az group create --name $resource_group --location centralus
    
  2. Utwórz klaster usługi AKS Arc i włącz dostęp administratora dla grupy Microsoft Entra przy użyciu parametru --aad-admin-group-object-ids w poleceniu az aksarc create :

    az aksarc create -n $aks_cluster_name -g $resource_group --custom-location $customlocationID --vnet-ids $logicnetId --aad-admin-group-object-ids $aadgroupID --generate-ssh-keys
    

Używanie istniejącego klastra z uwierzytelnianiem firmy Microsoft Entra

Włącz uwierzytelnianie Microsoft Entra w istniejącym klastrze Kubernetes przy użyciu parametru --aad-admin-group-object-ids w poleceniu az aksarc update . Upewnij się, że grupa administratorów ma zachować dostęp w klastrze:

az aksarc update -n $aks_cluster_name -g $resource_group --aad-admin-group-object-ids $aadgroupID

Uzyskiwanie dostępu do klastra z obsługą usługi Microsoft Entra

  1. Pobierz poświadczenia użytkownika, aby uzyskać dostęp do klastra az aksarc get-credentials przy użyciu polecenia . Potrzebujesz właściwości Microsoft.HybridContainerService/provisionedClusterInstances/listUserKubeconfig/action, która znajduje się w uprawnieniach użytkownika klastra usługi Azure Kubernetes Service Arc:

    az aksarc get-credentials --resource-group $resource_group --name $aks_cluster_name
    
  2. Wyświetl węzły w klastrze za kubectl get nodes pomocą polecenia i postępuj zgodnie z instrukcjami, aby się zalogować. Podczas przekazywania parametru musisz znajdować się w grupie Identyfikator entra firmy Microsoft określonej z klastrem --aad-admin-group-object-ids $aadgroupID usługi AKS:

    kubectl get nodes
    

Następne kroki