Tworzenie dostawcy Połączenie OpenID w usłudze Azure Kubernetes Service (AKS)

OpenID Połączenie (OIDC) rozszerza protokół autoryzacji OAuth 2.0 do użycia jako inny protokół uwierzytelniania wystawiony przez microsoft Entra ID. Za pomocą funkcji OIDC można włączyć logowanie jednokrotne między aplikacjami z obsługą protokołu OAuth w klastrze usługi Azure Kubernetes Service (AKS) przy użyciu tokenu zabezpieczającego nazywanego tokenem identyfikatora. Za pomocą klastra usługi AKS można włączyć wystawcę openID Połączenie (OIDC), który umożliwia usłudze Microsoft Entra ID lub innej platformie zarządzania tożsamościami i dostępem dostawcy usług w chmurze w celu odnalezienia publicznych kluczy podpisywania serwera interfejsu API.

Usługa AKS automatycznie i okresowo obraca klucz. Jeśli nie chcesz czekać, możesz obrócić klucz ręcznie i natychmiast. Maksymalny okres istnienia tokenu wystawionego przez dostawcę OIDC wynosi jeden dzień.

Ostrzeżenie

Włącz wystawcę OIDC w istniejącym klastrze zmienia bieżącego wystawcę tokenu konta usługi na nową wartość, co może spowodować czas usterki podczas ponownego uruchamiania serwera interfejsu API. Jeśli zasobniki aplikacji korzystające z tokenu usługi pozostają w stanie niepowodzenia po włączeniu wystawcy OIDC, zalecamy ręczne ponowne uruchomienie zasobników.

Z tego artykułu dowiesz się, jak tworzyć, aktualizować i zarządzać wystawcą OIDC dla klastra.

Ważne

Po włączeniu wystawcy OIDC w klastrze nie można go wyłączyć.

Ważne

Token musi być okresowo odświeżany. Jeśli używasz zestawu SDK, rotacja jest automatyczna, w przeciwnym razie należy odświeżyć token co 24 godziny ręcznie.

Wymagania wstępne

  • Interfejs wiersza polecenia platformy Azure w wersji 2.42.0 lub nowszej. Uruchom polecenie az --version , aby znaleźć swoją wersję. Jeśli konieczna będzie instalacja lub uaktualnienie, zobacz Instalowanie interfejsu wiersza polecenia platformy Azure.
  • Usługa AKS obsługuje wystawcę OIDC w wersji 1.22 lub nowszej.

Tworzenie klastra usługi AKS za pomocą wystawcy OIDC

Klaster usługi AKS można utworzyć przy użyciu polecenia az aks create z parametrem --enable-oidc-issuer , aby użyć wystawcy OIDC. Poniższy przykład tworzy klaster o nazwie myAKSCluster z jednym węzłem w grupie myResourceGroup:

az aks create -g myResourceGroup -n myAKSCluster --node-count 1 --enable-oidc-issuer

Aktualizowanie klastra usługi AKS za pomocą wystawcy OIDC

Klaster usługi AKS można zaktualizować przy użyciu polecenia az aks update z parametrem --enable-oidc-issuer , aby użyć wystawcy OIDC. Poniższy przykład aktualizuje klaster o nazwie myAKSCluster:

az aks update -g myResourceGroup -n myAKSCluster --enable-oidc-issuer 

Wyświetlanie adresu URL wystawcy OIDC

Aby uzyskać adres URL wystawcy OIDC, uruchom polecenie az aks show . Zastąp wartości domyślne nazwy klastra i nazwy grupy zasobów.

az aks show -n myAKScluster -g myResourceGroup --query "oidcIssuerProfile.issuerUrl" -otsv

Domyślnie wystawca jest ustawiony tak, aby używał podstawowego adresu URL https://{region}.oic.prod-aks.azure.com, w którym wartość parametru {region} jest zgodna z lokalizacją, w której wdrożony jest klaster usługi AKS.

Obracanie klucza OIDC

Aby obrócić klucz OIDC, uruchom polecenie az aks oidc-issuer . Zastąp wartości domyślne nazwy klastra i nazwy grupy zasobów.

az aks oidc-issuer rotate-signing-keys -n myAKSCluster -g myResourceGroup

Ważne

Po obróceniu klucza stary klucz (klucz1) wygasa po 24 godzinach. Oznacza to, że zarówno stary klucz (klucz1), jak i nowy klucz (klucz2) są prawidłowe w okresie 24-godzinnym. Jeśli chcesz natychmiast unieważnić stary klucz (klucz1), musisz dwukrotnie obrócić klucz OIDC i ponownie uruchomić zasobniki przy użyciu przewidywanych tokenów konta usługi. Następnie klucz2 i klucz3 są prawidłowe, a klucz1 jest nieprawidłowy.

Sprawdzanie kluczy OIDC

Uzyskiwanie adresu URL wystawcy OIDC

Aby uzyskać adres URL wystawcy OIDC, uruchom polecenie az aks show . Zastąp wartości domyślne nazwy klastra i nazwy grupy zasobów.

az aks show -n myAKScluster -g myResourceGroup --query "oidcIssuerProfile.issuerUrl" -otsv

Dane wyjściowe powinny wyglądać podobnie do następujących:

https://eastus.oic.prod-aks.azure.com/00000000-0000-0000-0000-000000000000/00000000-0000-0000-0000-000000000000/

Domyślnie wystawca jest ustawiony tak, aby używał podstawowego adresu URL https://{region}.oic.prod-aks.azure.com/{uuid}, w którym wartość parametru {region} jest zgodna z lokalizacją, w której wdrożony jest klaster usługi AKS. Wartość {uuid} reprezentuje klucz OIDC, który jest losowo generowany identyfikator GUID dla każdego klastra, który jest niezmienny.

Pobieranie dokumentu odnajdywania

Aby uzyskać dokument odnajdywania, skopiuj adres URL https://(OIDC issuer URL).well-known/openid-configuration i otwórz go w przeglądarce.

Dane wyjściowe powinny wyglądać podobnie do następujących:

{
  "issuer": "https://eastus.oic.prod-aks.azure.com/00000000-0000-0000-0000-000000000000/00000000-0000-0000-0000-000000000000/",
  "jwks_uri": "https://eastus.oic.prod-aks.azure.com/00000000-0000-0000-0000-000000000000/00000000-0000-0000-0000-000000000000/openid/v1/jwks",
  "response_types_supported": [
    "id_token"
  ],
  "subject_types_supported": [
    "public"
  ],
  "id_token_signing_alg_values_supported": [
    "RS256"
  ]
}

Pobieranie dokumentu zestawu JWK

Aby uzyskać dokument zestawu JWK, skopiuj jwks_uri go z dokumentu odnajdywania i wklej go na pasku adresu przeglądarki.

Dane wyjściowe powinny wyglądać podobnie do następujących:

{
  "keys": [
    {
      "use": "sig",
      "kty": "RSA",
      "kid": "xxx",
      "alg": "RS256",
      "n": "xxxx",
      "e": "AQAB"
    },
    {
      "use": "sig",
      "kty": "RSA",
      "kid": "xxx",
      "alg": "RS256",
      "n": "xxxx",
      "e": "AQAB"
    }
  ]
}

Podczas rotacji klucza w dokumencie odnajdywania znajduje się jeden inny klucz.

Następne kroki

  • Zobacz Konfigurowanie tworzenia relacji zaufania między aplikacją a zewnętrznym dostawcą tożsamości, aby zrozumieć, jak poświadczenia tożsamości federacyjnej tworzą relację zaufania między aplikacją w klastrze i zewnętrznym dostawcą tożsamości.
  • Przejrzyj Tożsamość obciążeń Microsoft Entra (wersja zapoznawcza). Ta metoda uwierzytelniania integruje się z natywnymi możliwościami platformy Kubernetes w celu federacji z dowolnymi zewnętrznymi dostawcami tożsamości w imieniu aplikacji.
  • Zobacz Bezpieczny ruch sieciowy zasobnika, aby dowiedzieć się, jak używać aparatu zasad sieciowych i tworzyć zasady sieciowe platformy Kubernetes w celu kontrolowania przepływu ruchu między zasobnikami w usłudze AKS.