Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Wtyczka kubelogin na platformie Azure to wtyczka poświadczeń client-go, która implementuje uwierzytelnianie Microsoft Entra. Wtyczka kubelogin oferuje funkcje, które nie są dostępne w narzędziu wiersza polecenia kubectl. Aby uzyskać więcej informacji, zobacz wprowadzenie do rozwiązania kubelogin i wprowadzenie do narzędzia kubectl.
Ten artykuł zawiera omówienie i przykłady użycia narzędzia kubelogin dla wszystkich obsługiwanych metod uwierzytelniania firmy Microsoft Entra w usłudze AKS.
Ograniczenia uwierzytelniania przy użyciu kubelogin w AKS
- Grupy utworzone w usłudze Microsoft Entra są uwzględniane tylko przez ich wartość ObjectID , a nie przez ich nazwę wyświetlaną. Polecenie
sAMAccountNamejest dostępne tylko dla grup synchronizowanych z lokalnej usługi Active Directory systemu Windows Server.
- Metoda uwierzytelniania jednostki usługi działa tylko z zarządzaną firmą Microsoft Entra, a nie z wcześniejszą wersją usługi Azure Active Directory.
- Jednostka usługi może należeć do maksymalnie 200 grup firmy Microsoft Entra. Jeśli masz więcej niż 200 grup, rozważ użycie ról aplikacji.
- Metoda uwierzytelniania kodu urządzenia nie działa, gdy zasady dostępu warunkowego firmy Microsoft Entra są ustawione w dzierżawie Microsoft Entra. W tym scenariuszu zamiast tego użyj uwierzytelniania interakcyjnego przeglądarki internetowej.
- Metoda uwierzytelniania Azure CLI działa tylko z usługą AKS zarządzaną przez Microsoft Entra.
Jak działa uwierzytelnianie
Note
Pamiętaj o poniższych informacjach na temat uwierzytelniania za pomocą kubelogin w klastrach AKS zintegrowanych z Microsoft Entra.
- Klastry z uruchomioną platformą Kubernetes w wersji 1.24 lub nowszej automatycznie używają formatu kubelogin.
- Klastry z uruchomioną platformą Kubernetes w wersji 1.24 lub starszej wymagają konwersji ręcznej. Możesz użyć metody uwierzytelniania kodu urządzenia, aby przekonwertować plik kubeconfig w celu użycia formatu wtyczki exec.
W przypadku większości interakcji z kubelogin używa się subkomendy convert-kubeconfig. Podpolecenie używa pliku kubeconfig określonego w --kubeconfig lub w zmiennej środowiskowej KUBECONFIG, aby przekonwertować ostateczny plik kubeconfig na format exec na podstawie określonej metody uwierzytelniania.
Metody uwierzytelniania implementowane przez rozwiązanie kubelogin to przepływy udzielania tokenów entra OAuth 2.0 firmy Microsoft. W każdej metodzie uwierzytelniania token nie jest buforowany w systemie plików.
Uwierzytelnianie kodu urządzenia
Kod urządzenia to domyślna metoda uwierzytelniania dla convert-kubeconfig podpolecenia. Ta metoda uwierzytelniania wyświetla kod urządzenia, który umożliwia użytkownikowi zalogowanie się z sesji przeglądarki.
Note
Przed wprowadzeniem wtyczek kubelogin i exec metoda uwierzytelniania platformy Azure w narzędziu kubectl obsługiwała tylko przepływ kodu urządzenia. Użyto wcześniejszej wersji biblioteki, która generuje token z audience oświadczeniem z prefiksem spn: . Nie jest zgodna z zarządzaną przez AKS usługą Microsoft Entra, która używa przepływu w imieniu (OBO). Po uruchomieniu convert-kubeconfig podpolecenia kubelogin usuwa spn: prefiks z oświadczenia odbiorców.
Parametry uwierzytelniania kodu urządzenia
W poniższej tabeli przedstawiono parametry, których można używać z uwierzytelnianiem kodu urządzenia:
| Parameter | Description |
|---|---|
-l devicecode (opcjonalny) |
Określa metodę uwierzytelniania kubelogin. Ten parametr jest opcjonalny, ponieważ kod urządzenia jest metodą domyślną. |
--legacy |
Używa starszego zachowania we wcześniejszych wersjach klastrów usługi Azure Active Directory. Jeśli używasz pliku kubeconfig we wcześniejszej wersji klastra usługi Azure Active Directory, narzędzie kubelogin automatycznie dodaje flagę --legacy . |
--token-cache-dir |
Zmienia domyślną ścieżkę katalogu pamięci podręcznej tokenu, która to ${HOME}/.kube/cache/kubelogin. |
Uwierzytelnianie CLI platformy Azure
Metoda uwierzytelniania interfejsu wiersza polecenia platformy Azure (polecenie: -l azurecli) używa kontekstu logowania, który interfejs wiersza polecenia platformy Azure ustanawia w celu uzyskania tokenu dostępu. Token jest wystawiany w tej samej dzierżawie Microsoft Entra co az login. kubelogin nie zapisuje tokenów w pliku pamięci podręcznej tokenów, ponieważ Azure CLI już nimi zarządza.
Parametry uwierzytelniania CLI platformy Azure
W poniższej tabeli przedstawiono parametry, których można używać z uwierzytelnianiem interfejsu wiersza polecenia platformy Azure:
| Parameter | Description |
|---|---|
-l azurecli |
Określa metodę uwierzytelniania kubelogin. |
--azure-config-dir |
Określa katalog konfiguracji interfejsu wiersza polecenia platformy Azure. Katalog domyślny to ${HOME}/.azure. |
Zaloguj się do Azure
Zaloguj się do platformy Azure przy użyciu polecenia az login.
az login
Interakcyjne uwierzytelnianie przeglądarki internetowej
Interaktywna metoda uwierzytelniania w przeglądarce internetowej (polecenie: -l interactive) automatycznie otwiera przeglądarkę internetową w celu zalogowania użytkownika. Po pomyślnym uwierzytelnieniu użytkownika przeglądarka automatycznie przekierowuje do lokalnego serwera WWW z użyciem zweryfikowanych danych uwierzytelniających. Ta metoda uwierzytelniania jest zgodna z zasadami dostępu warunkowego.
Możesz użyć tokenu nośnikowego lub tokenu Proof-of-Possession (PoP) z tą metodą uwierzytelniania.
Parametry uwierzytelniania tokenu elementu nośnego
W poniższej tabeli przedstawiono parametry, których można używać z uwierzytelnianiem tokenu elementu nośnego:
| Parameter | Description |
|---|---|
-l interactive |
Określa metodę uwierzytelniania kubelogin. |
--token-cache-dir |
Zastępuje domyślną ścieżkę katalogu pamięci podręcznej dla tokenów, czyli ${HOME}/.kube/cache/kubelogin. |
Parametry uwierzytelniania tokenu poP
W poniższej tabeli przedstawiono parametry, których można używać z uwierzytelnianiem tokenu PoP:
| Parameter | Description |
|---|---|
-l interactive |
Określa metodę uwierzytelniania kubelogin. |
--pop-enabled |
Włącza uwierzytelnianie tokenu poP. |
--pop-claims |
Określa atrybuty tokenu PoP w formacie pary klucz-wartość. Na przykład u=/ARM/ID/OF/CLUSTER. |
Uwierzytelnianie głównego elementu usługi
Jednostka usługi (polecenie: -l spn) metoda uwierzytelniania używa jednostki usługi do logowania użytkownika. Poświadczenie można podać, ustawiając zmienną środowiskową lub używając poświadczenia jako argumentu wiersza polecenia. Obsługiwane poświadczenia, których można użyć, to hasło lub certyfikat klienta wymiany informacji osobistych (PFX).
Parametry uwierzytelniania jednostki usługi
W poniższej tabeli przedstawiono parametry, których można używać z uwierzytelnianiem jednostki usługi:
| Parameter | Description |
|---|---|
-l spn |
Określa metodę uwierzytelniania kubelogin. |
--client-id |
Identyfikator aplikacji (client-id) jednostki usługi. |
--client-secret |
Tajny klucz klienta pryncypała usługi. |
Uwierzytelnianie tożsamości zarządzanej
Użyj metody uwierzytelniania tożsamości zarządzanej (polecenie: -l msi) dla aplikacji łączących się z zasobami obsługującymi uwierzytelnianie Firmy Microsoft Entra. Przykłady obejmują uzyskiwanie dostępu do zasobów platformy Azure, takich jak maszyna wirtualna platformy Azure, zestaw skalowania maszyn wirtualnych lub usługa Azure Cloud Shell.
Możesz użyć domyślnej tożsamości zarządzanej przypisanej do zasobu lub określonej tożsamości zarządzanej przypisanej przez użytkownika.
Parametry uwierzytelniania tożsamości zarządzanej
W poniższej tabeli przedstawiono parametry, których można używać z uwierzytelnianiem tożsamości zarządzanej:
| Parameter | Description |
|---|---|
-l msi |
Określa metodę uwierzytelniania kubelogin. |
--client-id |
Identyfikator aplikacji (client-id) tożsamości zarządzanej przypisanej przez użytkownika. Jeśli nie określisz tego parametru, zostanie użyta domyślna tożsamość zarządzana. |
Uwierzytelnianie tożsamości obciążenia roboczego
Metoda uwierzytelniania tożsamości obciążenia roboczego (polecenie: -l workloadidentity) używa poświadczeń tożsamości, które są sfederowane z usługą Microsoft Entra, aby uwierzytelniać dostęp do klastrów AKS. Metoda używa zintegrowanego uwierzytelniania firmy Microsoft Entra. Działa przez ustawienie następujących zmiennych środowiskowych:
| Variable | Description |
|---|---|
AZURE_CLIENT_ID |
Identyfikator aplikacji Microsoft Entra, który jest sfederowany z tożsamością obciążenia. |
AZURE_TENANT_ID |
Identyfikator dzierżawcy Microsoft Entra. |
AZURE_FEDERATED_TOKEN_FILE |
Plik zawierający podpisaną asercję tożsamości obciążenia roboczego, na przykład token (JWT) projekcji konta usługi platformy Kubernetes. |
AZURE_AUTHORITY_HOST |
Podstawowy adres URL autorytetu Microsoft Entra. Na przykład https://login.microsoftonline.com/. |
Możesz użyć tożsamości roboczej do uzyskiwania dostępu do klastrów Kubernetes z systemów CI/CD, takich jak GitHub lub ArgoCD, bez przechowywania poświadczeń tożsamości usługi w systemach zewnętrznych. Aby skonfigurować federację openID Connect (OIDC) z usługi GitHub, zobacz przykład federacji OIDC.
Parametry uwierzytelniania tożsamości dla obciążenia roboczego
W poniższej tabeli przedstawiono parametry, których można używać z uwierzytelnianiem tożsamości obciążenia:
| Parameter | Description |
|---|---|
-l workloadidentity |
Określa metodę uwierzytelniania kubelogin. |
Eksportowanie ścieżki pliku kubeconfig
Przed uruchomieniem podpolecenia convert-kubeconfig, wyeksportuj ścieżkę pliku kubeconfig do zmiennej środowiskowej KUBECONFIG. Przykład:
export KUBECONFIG=/path/to/kubeconfig
Konwertowanie pliku kubeconfig
convert-kubeconfig Uruchom polecenie podrzędne, aby przekonwertować plik kubeconfig, aby użyć wtyczki exec dla wybranej metody uwierzytelniania.
kubelogin convert-kubeconfig
kubelogin convert-kubeconfig -l azurecli
# Bearer token authentication
kubelogin convert-kubeconfig -l interactive
# Proof-of-Possession (PoP) token authentication
kubelogin convert-kubeconfig -l interactive --pop-enabled --pop-claims "u=/ARM/ID/OF/CLUSTER"
- Używanie zmiennych środowiskowych
- Używanie argumentów wiersza polecenia
- Używanie certyfikatu klienta
- Używanie tokenu PoP ze zmiennymi środowiskowymi
convert-kubeconfigUruchom polecenie podrzędne, aby przekonwertować plik kubeconfig, aby użyć wtyczki exec.kubelogin convert-kubeconfig -l spnUstaw zmienne środowiskowe dla identyfikatora klienta i klucza tajnego klienta lub certyfikatu klienta. Przykład:
export AZURE_CLIENT_ID=<service-principal-client-id> export AZURE_CLIENT_SECRET=<service-principal-client-secret>
# Default managed identity authentication
kubelogin convert-kubeconfig -l msi
# Specific managed identity authentication
kubelogin convert-kubeconfig -l msi --client-id <managed-identity-client-id>
kubelogin convert-kubeconfig -l workloadidentity
Usuwanie buforowanych tokenów
Usuń buforowane tokeny przy użyciu kubelogin remove-tokens polecenia .
kubelogin remove-tokens
Pobieranie informacji o węźle
Pobierz informacje o węźle przy użyciu kubectl get polecenia .
kubectl get nodes
Jak używać narzędzia kubelogin z usługą AKS
Usługa AKS używa pary aplikacji Microsoft Entra. Te identyfikatory aplikacji są takie same we wszystkich środowiskach.
Identyfikator aplikacji serwera AKS Microsoft Entra (identyfikator serwera), używany przez stronę serwera, to 6dae42f8-4368-4678-94ff-3960e28e3630. Token dostępu, który uzyskuje dostęp do klastrów usługi AKS, musi być wystawiony dla tej aplikacji. W większości metod uwierzytelniania kubelogin należy używać --server-id z kubelogin get-token.
Identyfikator aplikacji klienckiej AKS Firmy Microsoft Entra (client-id), który kubelogin używa do przeprowadzania publicznego uwierzytelniania klienta w imieniu użytkownika to 80faf920-1908-4b52-b5ef-a8e7bedfc67a. Identyfikator aplikacji klienckiej jest używany w kodzie urządzenia i metodach uwierzytelniania interakcyjnego przeglądarki internetowej.
Treści powiązane
- Dowiedz się, jak zintegrować AKS z usługą Microsoft Entra w artykule instruktażowym o integracji Microsoft Entra zarządzanej przez AKS.
- Aby rozpocząć pracę z tożsamościami zarządzanymi w usłudze AKS, zobacz Używanie tożsamości zarządzanej w usłudze AKS.
- Aby rozpocząć korzystanie z tożsamości obciążeń w usłudze AKS, zobacz Korzystanie z tożsamości obciążeń w usłudze AKS.