Megosztás:


Az AKS által felügyelt Microsoft Entra-integráció engedélyezése Kubernetes-fürtökhöz kubeloginnal

Az AKS által felügyelt Microsoft Entra-integráció leegyszerűsíti a Microsoft Entra integrációs folyamatát. Korábban ügyfél- és kiszolgálóalkalmazást kellett létrehoznia, és a Microsoft Entra-bérlőnek címtárolvasói szerepkör-engedélyeket kellett hozzárendelnie. Most az Azure Kubernetes Service (AKS) erőforrás-szolgáltató kezeli az ügyfél- és kiszolgálóalkalmazásokat.

A fürtgazdák a Kubernetes szerepköralapú hozzáférés-vezérlését (Kubernetes RBAC) konfigurálhatják a felhasználó identitása vagy címtárcsoport-tagsága alapján. A Microsoft Entra-hitelesítés az OpenID Connecttel rendelkező AKS-fürtök számára biztosított. Az OpenID Connect egy identitásréteg, amely az OAuth 2.0 protokollra épül. Az OpenID Connectről további információt az OpenID Connect dokumentációjában talál.

További információ a Microsoft Entra integrációs folyamatáról a Microsoft Entra dokumentációjában.

Limitations

Az AKS-hitelesítés integrálásához az alábbi korlátozások szükségesek:

  • Az integráció a hozzáadás után nem tiltható le.
  • Az integrált fürtökről a Microsoft Entra ID örökölt fürtökre való visszalépés nem támogatott.
  • A Kubernetes RBAC-támogatással nem rendelkező fürtök nem tudják integrálni az integrációt.

Mielőtt hozzákezdene

Az AKS-bővítmény telepítéséhez ellenőrizze, hogy rendelkezik-e a következő elemekkel:

  • Az Azure CLI 2.29.0-s vagy újabb verziója telepítve és konfigurálva van. A verzió megkereséséhez futtassa a az --version parancsot. Ha telepítenie vagy frissítenie kell, tekintse meg az Azure CLI telepítését.
  • Szüksége van kubectl legalább 1.18.1-es vagy kubelogin verzióra. Az Azure CLI-vel és az Azure PowerShell-modullal ez a két parancs megtalálható és automatikusan kezelhető. Ez azt jelenti, hogy alapértelmezés szerint frissítve vannak, és a futtatásuk az aks install-cli nem kötelező vagy ajánlott. Ha automatizált folyamatot használ, a megfelelő vagy legújabb verzió frissítéseit kell kezelnie. A Kubernetes és a kubectl alverziói közötti különbség nem lehet több egynél. Ellenkező esetben a hitelesítési problémák nem a megfelelő verzióban jelentkeznek.
  • Ha helmt használ, a Helm 3.3 minimális verziójára van szüksége.
  • Ehhez a konfigurációhoz megköveteli, hogy rendelkezzen egy Microsoft Entra-csoporttal a fürt számára. Ez a csoport adminisztrátori csoportként regisztrált a fürtön, hogy adminisztrátori jogosultságokat biztosítson. Ha nem rendelkezik meglévő Microsoft Entra-csoporttal, létrehozhat egyet a az ad group create paranccsal.

Note

Az 1.24-es verziónál újabb Kubernetes-verziót használó Microsoft Entra integrált fürtök automatikusan használják a kubelogin formátumot. A Kubernetes 1.24-es verziójától kezdve a Microsoft Entra ID-fürtök hitelesítő adatainak alapértelmezett formátuma clusterUser, amely a exec bináris fájlt igényli a végrehajtás során kubelogin. A nem Microsoft Entra-fürtök vagy az 1.24-nél régebbi verziót futtató Microsoft Entra ID-fürtök viselkedése nem változik. A meglévő letöltött fájlok kubeconfig továbbra is működnek. Az alapértelmezett viselkedésváltozás felülírásához a hitelesítő adatok lekérésekor format opcionális lekérdezési paraméter clusterUser is szerepel. Ha a régi azure formátumot szeretné fenntartani, explicit módon megadhatja a formátumotkubeconfig.

Engedélyezze az integrációt az AKS-fürtön

Új fürt létrehozása

  1. Hozzon létre egy Azure-erőforráscsoportot a az group create paranccsal.

    az group create --name myResourceGroup --location centralus
    
  2. Hozzon létre egy AKS-fürtöt, és engedélyezze az adminisztrációs hozzáférést a Microsoft Entra-csoport számára a az aks create parancs használatával.

    az aks create \
      --resource-group myResourceGroup \
      --name myManagedCluster \
      --enable-aad \
      --aad-admin-group-object-ids <id> \
      --aad-tenant-id <id> \
      --generate-ssh-keys
    

    Az AKS által felügyelt Microsoft Entra ID-fürt sikeres létrehozása a válasz törzsében a következő szakaszt tartalmazza.

    "AADProfile": {
      "adminGroupObjectIds": [
      "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb"
      ],
      "clientAppId": null,
      "managed": true,
      "serverAppId": null,
      "serverAppSecret": null,
      "tenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee"
    }
    

Meglévő klaszter használata

Engedélyezze az AKS által felügyelt Microsoft Entra-integrációt a meglévő Kubernetes RBAC-kompatibilis fürtön a az aks update paranccsal. Győződjön meg arról, hogy a rendszergazda csoport beállításai úgy vannak konfigurálva, hogy megőrizzék a fürthöz való hozzáférést.

az aks update \
  --resource-group MyResourceGroup \
  --name myManagedCluster \
  --enable-aad \
  --aad-admin-group-object-ids <id-1>,<id-2> \
  --aad-tenant-id <id>

Az AKS által felügyelt Microsoft Entra ID-fürt sikeres aktiválása után a válasz törzsében található a következő szakasz:

"AADProfile": {
  "adminGroupObjectIds": [
      "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb"
  ],
  "clientAppId": null,
  "managed": true,
  "serverAppId": null,
  "serverAppSecret": null,
  "tenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee"
}

Régi fürt migrálása az integrált rendszerbe

Ha a fürt régi Microsoft Entra-integrációt használ, a az aks update parancs segítségével frissíthet az AKS által kezelt Microsoft Entra-integrációra.

Warning

Az ingyenes szintű klaszterek a frissítés során API-kiszolgáló állásidővel szembesülhetnek. Javasoljuk, hogy a nem üzemidő alatt frissítsen. A frissítés után a kubeconfig tartalom megváltozik. Az új hitelesítő adatok fájlba való egyesítéséhez futtatnia az aks get-credentials --resource-group <AKS resource group name> --name <AKS cluster name> kell.kubeconfig

az aks update \
  --resource-group myResourceGroup \
  --name myManagedCluster \
  --enable-aad \
  --aad-admin-group-object-ids <id> \
  --aad-tenant-id <id>

Az AKS által felügyelt Microsoft Entra ID-fürt sikeres migrálása esetén a válaszüzenet törzse a következő szakaszt tartalmazza:

"AADProfile": {
  "adminGroupObjectIds": [
      "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb"
  ],
  "clientAppId": null,
  "managed": true,
  "serverAppId": null,
  "serverAppSecret": null,
  "tenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee"
}

Az engedélyezett klaszter elérése

  1. Szerezze be a felhasználói hitelesítő adatokat a fürt eléréséhez a az aks get-credentials parancs használatával.

    az aks get-credentials --resource-group myResourceGroup --name myManagedCluster
    
  2. Kövesse a bejelentkezési utasításokat.

  3. Állítsa be kubelogin az Azure CLI használatára.

    kubelogin convert-kubeconfig -l azurecli
    
  4. Tekintse meg a fürt csomópontjait a kubectl get nodes paranccsal.

    kubectl get nodes
    

Nem interaktív bejelentkezés kubeloginnal

Vannak olyan nem interaktív forgatókönyvek, amelyek nem támogatják kubectl. Ezekben az esetekben használja a kubelogin-t a fürthöz való csatlakozáshoz egy nem interaktív szolgáltatásnév hitelesítő adataival a folyamatos integrációs folyamatok végrehajtására.

Note

Az 1.24-es verziónál újabb Kubernetes-verziót használó Microsoft Entra integrált fürtök automatikusan használják a kubelogin formátumot. A Kubernetes 1.24-es verziójától kezdve a Microsoft Entra ID alapú fürtök esetében a hitelesítő adatok alapértelmezett formátuma , ami megköveteli, hogy a bináris fájl szerepeljen a végrehajtási útvonalban. A nem Microsoft Entra-fürtök vagy az 1.24-nél régebbi verziót futtató Microsoft Entra ID-fürtök viselkedése nem változik. A meglévő letöltött fájlok kubeconfig továbbra is működnek. Az alapértelmezett viselkedésváltozás felülírásához a hitelesítő adatok lekérésekor format opcionális lekérdezési paraméter clusterUser is szerepel. Ha a régi azure formátumot szeretné fenntartani, explicit módon megadhatja a formátumotkubeconfig.

Amikor a clusterUser hitelesítő adatot lekéri, a format lekérdezési paraméter használatával felülírhatja az alapértelmezett viselkedést. Az értéket beállíthatja úgy, hogy azure az eredeti kubeconfig formátumot használja:

az aks get-credentials --format azure

Ha a Microsoft Entra integrált fürtje a Kubernetes 1.24-es vagy újabb verzióját használja, manuálisan kell átalakítania a kubeconfig formátumot.

export KUBECONFIG=/path/to/kubeconfig
kubelogin convert-kubeconfig

Ha a következő hibaüzenet jelenik meg: Az Azure auth beépülő modul el lett távolítva. A formátum manuális konvertálásához futtassa a kubelogin convert-kubeconfig parancsotkubeconfig. További információkért lásd az Azure Kubelogin ismert problémáit.

Hozzáférési problémák elhárítása

Important

Az ebben a szakaszban ismertetett lépés alternatív hitelesítési módszert javasol a Normál Microsoft Entra-csoporthitelesítéshez képest. Ezt a lehetőséget csak vészhelyzetben használhatja.

Ha nincs rendszergazdai hozzáférése egy érvényes Microsoft Entra-csoporthoz, kövesse ezt a kerülő megoldást. Jelentkezzen be egy fiókkal, amely tagja az Azure Kubernetes szolgáltatásfürt-rendszergazdai szerepkörnek, és adjon meg a csoportnak vagy a bérlőnek rendszergazdai hitelesítő adatokat a fürt eléréséhez.

Következő lépések