Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Den AKS-hanterade Microsoft Entra-integreringen förenklar Microsoft Entra-integreringsprocessen. Tidigare var du tvungen att skapa en klient- och serverapp, och Microsoft Entra-klienten var tvungen att tilldela rollbehörigheter för katalogläsare . Nu hanterar Azure Kubernetes Service-resursprovidern (AKS) klient- och serverapparna åt dig.
Klusteradministratörer kan konfigurera rollbaserad åtkomstkontroll för Kubernetes (Kubernetes RBAC) baserat på en användares identitets- eller kataloggruppsmedlemskap. Microsoft Entra-autentisering tillhandahålls till AKS-kluster med OpenID Connect. OpenID Connect är ett identitetslager som bygger på OAuth 2.0-protokollet. Mer information om OpenID Connect finns i OpenID Connect-dokumentationen.
Läs mer om Microsoft Entra-integreringsflödet i Microsoft Entra-dokumentationen.
Begränsningar
Följande är begränsningar för att integrera autentisering i AKS:
- Integrering kan inte inaktiveras när den har lagts till.
- Nedgraderingar från ett integrerat kluster till äldre Microsoft Entra-ID-kluster stöds inte.
- Kluster utan Stöd för Kubernetes RBAC kan inte lägga till integreringen.
Innan du börjar
Kontrollera att du har följande objekt för att installera AKS-tillägget:
- Azure CLI version 2.29.0 eller senare har installerats och konfigurerats. Kör kommando
az --versionför att hitta versionen. Om du behöver installera eller uppgradera kan du läsa Installera Azure CLI. - Du behöver
kubectlmed en lägsta version av 1.18.1 ellerkubelogin. Med Azure CLI och Azure PowerShell-modulen ingår dessa två kommandon och hanteras automatiskt. Det innebär att de uppgraderas som standard och att körning avaz aks install-clivarken krävs eller rekommenderas. Om du använder en automatiserad pipeline måste du hantera uppgraderingar för rätt eller senaste version. Skillnaden mellan de mindre versionerna av Kubernetes ochkubectlbör inte vara mer än en version. Annars uppstår autentiseringsproblem på fel version. - Om du använder helm behöver du en lägsta version av helm 3.3.
- Den här konfigurationen kräver att du har en Microsoft Entra-grupp för klustret. Den här gruppen är registrerad som en administratörsgrupp i klustret för att bevilja administratörsbehörigheter. Om du inte har någon befintlig Microsoft Entra-grupp kan du skapa en med kommandot
az ad group create.
Kommentar
Microsoft Entra-integrerade kluster med en Kubernetes-version som är nyare än version 1.24 använder kubelogin automatiskt formatet. Från och med Kubernetes version 1.24 är standardformatet clusterUser för autentiseringsuppgifterna för Microsoft Entra ID-kluster , vilket kräver exec binärt i körningen kubelogin.PATH Det finns ingen beteendeförändring för icke-Microsoft Entra-kluster eller Microsoft Entra ID-kluster som kör en version som är äldre än 1.24.
Befintliga nedladdade filer kubeconfig fortsätter att fungera. En valfri frågeparameter format ingår när du hämtar clusterUser autentiseringsuppgifter för att skriva över standardbeteendeändringen. Du kan uttryckligen ange format till azure om du behöver behålla det gamla kubeconfig formatet.
Aktivera integreringen i ditt AKS-kluster
Skapa ett nytt kluster
Skapa en Azure-resursgrupp med kommandot
az group create.az group create --name myResourceGroup --location centralusSkapa ett AKS-kluster och aktivera administrationsåtkomst för din Microsoft Entra-grupp med kommandot
az aks create.az aks create \ --resource-group myResourceGroup \ --name myManagedCluster \ --enable-aad \ --aad-admin-group-object-ids <id> \ --aad-tenant-id <id> \ --generate-ssh-keysEtt lyckat skapande av ett AKS-hanterat Microsoft Entra-ID-kluster har följande avsnitt i svarstexten.
"AADProfile": { "adminGroupObjectIds": [ "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb" ], "clientAppId": null, "managed": true, "serverAppId": null, "serverAppSecret": null, "tenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee" }
Använda ett befintligt kluster
Aktivera AKS-hanterad Microsoft Entra-integrering i ditt befintliga Kubernetes RBAC-aktiverade kluster med kommandot az aks update . Se till att ange din administratörsgrupp så att den behåller åtkomsten till klustret.
az aks update \
--resource-group MyResourceGroup \
--name myManagedCluster \
--enable-aad \
--aad-admin-group-object-ids <id-1>,<id-2> \
--aad-tenant-id <id>
En lyckad aktivering av ett AKS-hanterat Microsoft Entra-ID-kluster har följande avsnitt i svarstexten:
"AADProfile": {
"adminGroupObjectIds": [
"aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb"
],
"clientAppId": null,
"managed": true,
"serverAppId": null,
"serverAppSecret": null,
"tenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee"
}
Migrera äldre kluster till integrering
Om klustret använder äldre Microsoft Entra-integrering kan du uppgradera till AKS-hanterad Microsoft Entra-integrering via az aks update kommandot .
Varning
Kluster på den kostnadsfria nivån kan uppleva avbrott i API-servern under uppgraderingen. Vi rekommenderar att du uppgraderar utanför dina kontorstider.
Efter uppgraderingen kubeconfig ändras innehållet. Du måste köra az aks get-credentials --resource-group <AKS resource group name> --name <AKS cluster name> för att sammanfoga de nya autentiseringsuppgifterna kubeconfig i filen.
az aks update \
--resource-group myResourceGroup \
--name myManagedCluster \
--enable-aad \
--aad-admin-group-object-ids <id> \
--aad-tenant-id <id>
En lyckad migrering av ett AKS-hanterat Microsoft Entra-ID-kluster har följande avsnitt i svarstexten:
"AADProfile": {
"adminGroupObjectIds": [
"aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb"
],
"clientAppId": null,
"managed": true,
"serverAppId": null,
"serverAppSecret": null,
"tenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee"
}
Få åtkomst till ditt aktiverade kluster
Hämta användarautentiseringsuppgifterna för att komma åt klustret med hjälp av
az aks get-credentialskommandot .az aks get-credentials --resource-group myResourceGroup --name myManagedClusterFölj dina inloggningsinstruktioner.
Ställ in
kubeloginför att använda Azure CLI.kubelogin convert-kubeconfig -l azurecliVisa noderna i klustret med
kubectl get nodeskommandot .kubectl get nodes
Icke-interaktiv inloggning med kubelogin
Det finns vissa icke-interaktiva scenarier som inte stöder kubectl. I dessa fall kan du använda kubelogin för att ansluta till klustret med en icke-interaktiv autentiseringsuppgift för tjänstens huvudnamn för att utföra pipelines för kontinuerlig integrering.
Kommentar
Microsoft Entra-integrerade kluster med en Kubernetes-version som är nyare än version 1.24 använder kubelogin automatiskt formatet. Från och med Kubernetes version 1.24 är clusterUserstandardformatet exec för autentiseringsuppgifterna för Microsoft Entra ID-kluster , vilket kräver kubelogin binärt i körningssökvägen. Det finns ingen beteendeförändring för icke-Microsoft Entra-kluster eller Microsoft Entra ID-kluster som kör en version som är äldre än 1.24.
Befintliga nedladdade filer kubeconfig fortsätter att fungera. En valfri frågeparameter format ingår när du hämtar clusterUser autentiseringsuppgifter för att skriva över standardbeteendeändringen. Du kan uttryckligen ange format till azure om du behöver behålla det gamla kubeconfig formatet.
När du hämtar clusterUser autentiseringsuppgifterna kan du använda format frågeparametern för att skriva över standardbeteendet. Du kan ange värdet till azure för att använda det ursprungliga kubeconfig formatet:
az aks get-credentials --format azure
Om ditt Microsoft Entra-integrerade kluster använder Kubernetes version 1.24 eller senare måste du konvertera kubeconfig formatet manuellt.
export KUBECONFIG=/path/to/kubeconfig
kubelogin convert-kubeconfig
Om du får meddelandefelet: Azure auth-plugin-programmet har tagits bort. Du måste köra kommandot kubelogin convert-kubeconfig för att konvertera kubeconfig formatet manuellt. Mer information finns i Kända problem med Azure Kubelogin.
Felsökning av åtkomstproblem
Viktigt!
Steget som beskrivs i det här avsnittet föreslår en alternativ autentiseringsmetod jämfört med den normala Microsoft Entra-gruppautentiseringen. Använd endast det här alternativet i en nödsituation.
Om du saknar administrativ åtkomst till en giltig Microsoft Entra-grupp kan du följa den här lösningen. Logga in med ett konto som är medlem i azure Kubernetes Service-klusteradministratörsrollen och ge din grupp- eller klientadministratör autentiseringsuppgifter för att få åtkomst till klustret.
Nästa steg
- Läs mer om Microsoft Entra-integrering med Kubernetes RBAC.
- Läs mer om aks- och Kubernetes-identitetsbegrepp.
- Lär dig hur du använder kubelogin för alla Microsoft Entra-autentiseringsmetoder som stöds i AKS.
- Använd Azure Resource Manager-mallar för att skapa AKS-hanterade Microsoft Entra-ID-aktiverade kluster.
Azure Kubernetes Service