Povolení ověřování spravovaných identit Azure pro clustery Kubernetes pomocí kubeloginu
Integrace Microsoft Entra spravovaná službou AKS zjednodušuje proces integrace Microsoft Entra. Dříve jste museli vytvořit klientskou a serverovou aplikaci a tenant Microsoft Entra musel přiřadit oprávnění role Čtenáři adresáře. Teď za vás poskytovatel prostředků AKS spravuje klientské a serverové aplikace.
Správci clusteru můžou nakonfigurovat řízení přístupu na základě role Kubernetes (Kubernetes RBAC) na základě identity uživatele nebo členství ve skupině adresářů. Ověřování Microsoft Entra se poskytuje clusterům AKS s OpenID Connect. OpenID Connect je vrstva identit založená na protokolu OAuth 2.0. Další informace o OpenID Connect najdete v dokumentaci k OpenID Connect.
Další informace o toku integrace Microsoft Entra najdete v dokumentaci k Microsoft Entra.
Tento článek obsahuje podrobnosti o povolení a používání spravovaných identit pro prostředky Azure s clusterem AKS.
Omezení
Následuje omezení integrace ověřování spravovaných identit Azure v AKS.
- Po přidání není možné integraci zakázat.
- Downgrady z integrovaného clusteru na starší clustery Microsoft Entra ID se nepodporují.
- Clustery bez podpory RBAC Kubernetes nemůžou přidat integraci.
Než začnete
Aby bylo možné správně nainstalovat doplněk AKS pro spravovanou identitu, je potřeba splnit následující požadavky.
- Máte nainstalované a nakonfigurované Azure CLI verze 2.29.0 nebo novější. Verzi zjistíte spuštěním příkazu
az --version
. Pokud potřebujete instalaci nebo upgrade, přečtěte si téma Instalace Azure CLI. - Potřebujete
kubectl
minimálně verzi 1.18.1 nebokubelogin
. Pomocí Azure CLI a modulu Azure PowerShellu se tyto dva příkazy zahrnou a automaticky spravují. To znamená, že se upgradují ve výchozím nastavení a nejsouaz aks install-cli
povinné ani doporučené. Pokud používáte automatizovaný kanál, musíte spravovat upgrady pro správnou nebo nejnovější verzi. Rozdíl mezi podverzemi Kubernetes akubectl
neměl by být více než jedna verze. V opačném případě dochází k problémům s ověřováním v nesprávné verzi. - Pokud používáte helm, potřebujete minimální verzi helmu 3.3.
- Tato konfigurace vyžaduje, abyste pro cluster měli skupinu Microsoft Entra. Tato skupina je v clusteru zaregistrovaná jako skupina pro správu, aby udělila oprávnění správce. Pokud nemáte existující skupinu Microsoft Entra, můžete ji vytvořit pomocí
az ad group create
příkazu.
Poznámka:
Integrované clustery Microsoft Entra používající novější verzi Kubernetes než verze 1.24 automaticky používají kubelogin
formát. Počínaje Kubernetes verze 1.24 je exec
výchozí formát přihlašovacích údajů clusterUser pro clustery Microsoft Entra ID , který vyžaduje kubelogin
binární soubor v cestě PATH spuštění. U clusterů Microsoft Entra nebo clusterů Microsoft Entra s verzí starší než 1.24 nedošlo ke změně chování.
Stávající stažené soubory kubeconfig
nadále fungují. Volitelný formát parametru dotazu je zahrnutý při získávání přihlašovacích údajů clusterUser k přepsání výchozí změny chování. Pokud potřebujete zachovat starý kubeconfig
formát, můžete explicitně zadat formát do Azure.
Povolení integrace v clusteru AKS
Vytvoření nového clusteru
Pomocí příkazu vytvořte skupinu
az group create
prostředků Azure.az group create --name myResourceGroup --location centralus
Vytvořte cluster AKS a pomocí příkazu povolte přístup pro správu pro vaši skupinu
az aks create
Microsoft Entra.az aks create \ --resource-group myResourceGroup \ --name myManagedCluster \ --enable-aad \ --aad-admin-group-object-ids <id> [--aad-tenant-id <id>] \ --generate-ssh-keys
Úspěšné vytvoření clusteru Microsoft Entra ID spravovaného službou AKS obsahuje následující část v textu odpovědi:
"AADProfile": { "adminGroupObjectIds": [ "5d24****-****-****-****-****afa27aed" ], "clientAppId": null, "managed": true, "serverAppId": null, "serverAppSecret": null, "tenantId": "72f9****-****-****-****-****d011db47" }
Použití existujícího clusteru
Povolte integraci Microsoft Entra spravovanou službou AKS ve stávajícím clusteru s podporou RBAC Kubernetes pomocí az aks update
příkazu. Nezapomeňte nastavit skupinu správců, aby zachovala přístup ke clusteru.
az aks update --resource-group MyResourceGroup --name myManagedCluster --enable-aad --aad-admin-group-object-ids <id-1>,<id-2> [--aad-tenant-id <id>]
Úspěšná aktivace clusteru Microsoft Entra ID spravovaného službou AKS obsahuje následující část v textu odpovědi:
"AADProfile": {
"adminGroupObjectIds": [
"5d24****-****-****-****-****afa27aed"
],
"clientAppId": null,
"managed": true,
"serverAppId": null,
"serverAppSecret": null,
"tenantId": "72f9****-****-****-****-****d011db47"
}
Migrace starší verze clusteru do integrace
Pokud váš cluster používá starší integraci Microsoft Entra, můžete pomocí příkazu upgradovat na integraci Microsoft Entra spravovanou službou az aks update
AKS.
Upozorňující
Clustery úrovně Free můžou během upgradu zaznamenat výpadek serveru rozhraní API. Doporučujeme upgradovat během mimopracovní doby.
Po upgradu se obsah kubeconfig změní. Je potřeba spustit, az aks get-credentials --resource-group <AKS resource group name> --name <AKS cluster name>
aby se nové přihlašovací údaje sloučily do souboru kubeconfig.
az aks update --resource-group myResourceGroup --name myManagedCluster --enable-aad --aad-admin-group-object-ids <id> [--aad-tenant-id <id>]
Úspěšná migrace clusteru Microsoft Entra ID spravovaného službou AKS obsahuje v textu odpovědi následující část:
"AADProfile": {
"adminGroupObjectIds": [
"5d24****-****-****-****-****afa27aed"
],
"clientAppId": null,
"managed": true,
"serverAppId": null,
"serverAppSecret": null,
"tenantId": "72f9****-****-****-****-****d011db47"
}
Přístup k povolenému clusteru
Pomocí příkazu získejte přihlašovací údaje uživatele pro přístup ke clusteru
az aks get-credentials
.az aks get-credentials --resource-group myResourceGroup --name myManagedCluster
Podle pokynů se přihlaste.
Nastavte
kubelogin
použití Azure CLI.kubelogin convert-kubeconfig -l azurecli
Pomocí příkazu zobrazte uzly v clusteru
kubectl get nodes
.kubectl get nodes
Neinteraktivní přihlášení pomocí kubeloginu
Existují některé neinteraktivní scénáře, které nepodporují kubectl
. V těchto případech se pomocí kubelogin
připojení ke clusteru pomocí neinteraktivních přihlašovacích údajů instančního objektu pro provádění kanálů kontinuální integrace.
Poznámka:
Integrované clustery Microsoft Entra používající novější verzi Kubernetes než verze 1.24 automaticky používají kubelogin
formát. Počínaje Kubernetes verze 1.24 je exec
výchozí formát přihlašovacích údajů clusterUser pro clustery Microsoft Entra ID , který vyžaduje kubelogin
binární soubor v cestě PATH spuštění. U clusterů Microsoft Entra nebo clusterů Microsoft Entra s verzí starší než 1.24 nedošlo ke změně chování.
Stávající stažené soubory kubeconfig
nadále fungují. Volitelný formát parametru dotazu je zahrnutý při získávání přihlašovacích údajů clusterUser k přepsání výchozí změny chování. Pokud potřebujete zachovat starý kubeconfig
formát, můžete explicitně zadat formát do Azure.
Při získávání přihlašovacích údajů clusterUser můžete použít
format
parametr dotazu k přepsání výchozího chování. Hodnotu můžete nastavit tak, abyazure
používala původní formát kubeconfig:az aks get-credentials --format azure
Pokud váš integrovaný cluster Microsoft Entra používá Kubernetes verze 1.24 nebo nižší, musíte ručně převést formát kubeconfig.
export KUBECONFIG=/path/to/kubeconfig kubelogin convert-kubeconfig
Poznámka:
Pokud se zobrazí chybová zpráva : Modul plug-in Ověřování Azure byl odebrán., musíte spustit příkaz kubelogin convert-kubeconfig
, který převede formát kubeconfig ručně.
Další informace najdete v tématu o známých problémech Azure Kubelogin.
Řešení potíží s přístupem
Důležité
Krok popsaný v této části navrhuje alternativní metodu ověřování v porovnání s normálním ověřováním skupiny Microsoft Entra. Tuto možnost použijte pouze v případě tísňového volání.
Pokud nemáte přístup správce k platné skupině Microsoft Entra, můžete postupovat podle tohoto alternativního řešení. Přihlaste se pomocí účtu, který je členem role správce clusteru Azure Kubernetes Service a udělte své skupině nebo správci tenanta přihlašovací údaje pro přístup ke clusteru.
Další kroky
- Přečtěte si o integraci Microsoft Entra s RBAC Kubernetes.
- Přečtěte si další informace o konceptech identit AKS a Kubernetes.
- Zjistěte, jak používat kubelogin pro všechny podporované metody ověřování Microsoft Entra v AKS.
- Šablony Azure Resource Manageru (ARM) slouží k vytvoření clusterů s podporou AKS spravovaného Microsoft Entra ID.
Azure Kubernetes Service