Hanterade identiteter i Azure Kubernetes Service (AKS) översikt

Den här artikeln innehåller en översikt över systemtilldelade och användartilldelade hanterade identiteter i AKS, inklusive hur de fungerar, rolltilldelningar och AKS-specifika hanterade identitetsfunktioner.

Mer information om hanterade identiteter i Azure finns i dokumentationen om hanterade identiteter för Azure-resurser.

Anmärkning

Hanterade identiteter omfattar scenariot kluster-till-Azure-identitet i AKS – hur AKS-klustret agerar på Azure för att hantera resurser åt dig. De andra identitetsscenarierna (kontrollplansautentisering och auktorisering samt podd-till-Azure-arbetsbelastningsidentitet) finns i Åtkomst- och identitetsalternativ för AKS.

Anmärkning

De systemtilldelade och användartilldelade identitetstyperna skiljer sig från en arbetsbelastningsidentitet, som är avsedd att användas av ett program som körs på en podd.

Auktoriseringsflöde för AKS-hanterade identiteter

AKS-kluster använder systemtilldelade eller användartilldelade hanterade identiteter för att begära token från Microsoft Entra. Dessa token hjälper till att auktorisera åtkomst till andra resurser som körs i Azure. Du tilldelar en rollbaserad Åtkomstkontroll i Azure (Azure RBAC) till den hanterade identiteten för att ge den behörighet till en viss Azure-resurs. Du kan till exempel bevilja behörigheter till en hanterad identitet för åtkomst till hemligheter i ett Azure-nyckelvalv för användning av klustret.

Hanterat identitetsbeteende i AKS

När du distribuerar ett AKS-kluster skapas en systemtilldelad hanterad identitet åt dig som standard. Du kan också skapa klustret med en användartilldelad hanterad identitet eller uppdatera ett befintligt kluster till en annan typ av hanterad identitet.

Om klustret redan använder en hanterad identitet och du ändrar identitetstypen (till exempel från systemtilldelad till användartilldelad) uppstår en fördröjning medan kontrollplanskomponenterna växlar till den nya identiteten. Kontrollplanskomponenter fortsätter att använda den gamla identiteten tills den gamla identitetens token upphör att gälla. När token har uppdaterats växlar de till den nya identiteten. Den här processen kan ta flera timmar.

Anmärkning

Du kan också skapa ett kluster med ett huvudnamn för programtjänsten i stället för en hanterad identitet. Använd dock en hanterad identitet över ett huvudnamn för programtjänsten för säkerhet och användarvänlighet. Om du har ett befintligt kluster som använder ett huvudnamn för programtjänsten kan du uppdatera det till att använda en hanterad identitet.

Hantering av AKS-identiteter och behörighetshantering

Azure-plattformen hanterar både systemtilldelade och användartilldelade hanterade identiteter och deras autentiseringsuppgifter, så att du kan auktorisera åtkomst från dina program utan att behöva etablera eller rotera några hemligheter.

Systemtilldelad hanterad identitet

I följande tabell sammanfattas de viktigaste egenskaperna för en systemtilldelad hanterad identitet i AKS:

Så här skapas den Livscykelbeteende Resursdelning Vanliga användningsfall i AKS
Skapades som en del av en Azure-resurs, till exempel ett AKS-kluster Kopplad till livscykeln för den överordnade resursen så att den tas bort när den överordnade resursen tas bort Kan bara associeras med en enskild resurs • Arbetsbelastningar som finns i en enda Azure-resurs
• Arbetsbelastningar som kräver oberoende identiteter

Användartilldelad hanterad identitet

I följande tabell sammanfattas de viktigaste egenskaperna för en användartilldelad hanterad identitet i AKS:

Så här skapas den Livscykelbeteende Resursdelning Vanliga användningsfall i AKS
Skapad som en fristående Azure-resurs och måste finnas innan klustret skapas Oberoende av livscykeln för en specifik resurs, så det krävs manuell borttagning om den inte längre behövs Kan delas mellan flera resurser • Arbetsbelastningar som körs på flera resurser och kan använda en gemensam identitet
• Arbetslaster som kräver förauktorisering till en säker resurs som en del av en implementeringsprocess
• Arbetsbelastningar där resurser återanvänds ofta men behöver konsekventa behörigheter

Fördefinierad kubelet-hanterad identitet

En i förväg skapad kubelet-hanterad identitet är en valfri användartilldelad identitet som kubelet kan använda för att komma åt andra resurser i Azure. Den här funktionen aktiverar scenarier som anslutning till Azure Container Registry (ACR) när klustret skapas. Om du inte anger en användartilldelad hanterad identitet för kubelet skapar AKS en användartilldelad kubelet-identitet i nodresursgruppen. För en användartilldelad kubelet-identitet utanför standardresursgruppen för arbetsnoden tilldelar du rollen Hanterad identitetsoperator till klustrets kontrollplansidentitet, oavsett om den är systemtilldelad eller användartilldelad, med rolltilldelningen begränsad till kubelet-identiteten.

Rolltilldelningar för hanterade identiteter i AKS

Du kan tilldela en Azure RBAC-roll till en hanterad identitet för att bevilja klusterbehörigheter för en annan Azure-resurs. Azure RBAC stöder både inbyggda och anpassade rolldefinitioner som anger behörighetsnivåer. Information om hur du tilldelar en roll finns i Steg för att tilldela en Azure-roll.

När du tilldelar en Azure RBAC-roll till en hanterad identitet måste du definiera omfånget för rollen. I allmänhet är det bästa praxis att begränsa omfånget för en roll till de minimiprivilegier som krävs av den hanterade identiteten. Mer information om omfång för Azure RBAC-roller finns i Förstå omfånget för Azure RBAC.

Kontrollplanshanterade identitetsrolltilldelningar

När du skapar och använder ett eget VNet, anslutna Azure-diskar, statisk IP-adress, routningstabell eller användartilldelad kubelet-identitet där resurserna ligger utanför arbetsnodresursgruppen lägger Azure CLI till rolltilldelningen automatiskt. Om du använder en ARM-mall eller en annan metod använder du huvud-ID:t för den hanterade identiteten för att utföra en rolltilldelning.

Om du inte använder Azure CLI, men du använder ditt eget virtuella nätverk, anslutna Azure diskar, statisk IP-adress, routningstabell eller användartilldelad kubelet-identitet där resurserna ligger utanför resursgruppen för arbetsnoden, rekommenderar vi att du använder en användartilldelad hanterad identitet för kontrollplanet och manuellt utför den nödvändiga rolltilldelningen med hjälp av huvud-ID:t för den identiteten.

När kontrollplanet använder en systemtilldelad hanterad identitet skapar du identiteten samtidigt som klustret, så du kan inte utföra rolltilldelningen förrän klustret har skapats. När du har skapat klustret hämtar du identitetens huvud-ID och lägger till den nödvändiga rolltilldelningen.

Sammanfattning av hanterade identiteter som används av AKS

AKS använder flera hanterade identiteter för inbyggda tjänster och tillägg. I följande tabell sammanfattas de hanterade identiteter som används av AKS, deras användningsfall, standardbehörigheter och om du kan ta med din egen identitet:

Identitet Namn Användningsfall Standardbehörigheter Ta med din egen identitet
Kontrollplan AKS-klusternamn Används av AKS-kontrollplanskomponenter för att hantera klusterresurser inklusive inkommande lastbalanserare och AKS-hanterade offentliga IP-adresser, klusterautoskalning, samt Azure Disk, Fil och CSI-drivrutiner för Blob. Deltagarroll för nodresursgrupp Understödd
Kubelet AKS-klusternamn-agentpool Autentisering med Azure Container Registry (ACR) Ingen; kräver en ACR-pullroll baserat på registerbehörighetsläget Understödd
Tillägg AzureNPM Ingen identitet krävs N/A Inte stödd
Tillägg Nätverksövervakning i AzureCNI Ingen identitet krävs N/A Inte stödd
Tillägg azure-policy (gatekeeper) Ingen identitet krävs N/A Inte stödd
Tillägg Kalikå Ingen identitet krävs N/A Inte stödd
Tillägg applikationsroutning (NGINX) Hanterar Azure DNS- och Azure Key Vault-certifikat rollen Certifikatanvändare för Key Vault, rollen Deltagare för DNS-zon för DNS-zoner Inte stödd
Tillägg ingressapplicationgateway-AKS-klusternamn Hanterar nödvändiga nätverksresurser för Application Gateway-ingresskontrollant (AGIC) Beror på distributionstopologin Inte stödd
Tillägg Containerinsikter Samlar in containerloggar och inventeringsdata och skickar dem till en Log Analytics arbetsyta Använder klustrets hanterade identitet; ingen roll som Övervakningsmåttutgivare krävs Använder klusteridentiteten
Tillägg Virtual-Node (ACIConnector) Hanterar nödvändiga nätverksresurser för Azure Container Instances (ACI) Deltagarroll för nodresursgrupp Inte stödd
Tillägg cost-analysis-identity Samlar in Azure Resource Manager identifierare för kostnadsallokering Läsbehörighet till nodresursgruppen Inte stödd
Arbetsbelastningsidentitet Användarkonfigurerad Microsoft Entra identitet Gör att program kan komma åt molnresurser på ett säkert sätt med Microsoft Entra-arbetsbelastnings-ID Beror på de resurser som arbetsbelastningen har åtkomst till Obligatoriskt

Anmärkning

Kubelet-identiteten kräver en ACR-pullroll. För register i läget RBAC Registry Permissions använder du rollen AcrPull. För register i läget RBAC Registry + ABAC Repository Permissions använder du rollen Container Registry Repository Reader. Container Registry Repository Catalog Lister Lägg bara till rollen om identiteten behöver lista lagringsplatser. Mer information finns i nodmappad identitet för AKS.

Programroutningsraden beskriver den NGINX-baserade upplevelsen. Microsoft erbjuder support för kritiska säkerhetskorrigeringar för NGINX Ingress-resurser i tillägget Application Routing till och med november 2026. Migrera till API:et för programroutningsgateway eller någon annan implementering som stöds senast i november 2026. Gateway API DNS- och TLS-integreringen använder Microsoft Entra Workload ID i stället för tilläggets hanterade identitet. För Gateway-API skapar du en användartilldelad hanterad identitet, beviljar den nödvändiga Azure DNS och Azure Key Vault roller och skapar federerade identitetsuppgifter för Kubernetes-tjänstkontona.

AGIC-behörigheter beror på hur du distribuerar Application Gateway. När tillägget skapar en ny Application Gateway tilldelar det vanligtvis de behörigheter som krävs automatiskt. Om du behöver tilldela behörigheter manuellt beviljar du tilläggsidentiteten Nätverksdeltagare i Application Gateway-undernätet. För en befintlig Application Gateway i en annan resursgrupp än AKS-klustret beviljar du tilläggsidentiteten Nätverksdeltagare och Läsare för Application Gateway-resursgruppen. Mer information finns i Aktivera AGIC med en ny Application Gateway och aktivera AGIC med en befintlig Application Gateway.

Container Insights använder som standard hanterad identitetsautentisering och använder den klusterhanterade identiteten för att skicka data till Azure Monitor. Äldre autentiseringsmetod, som krävde rollen Monitoring Metrics Publisher, upphör den 30 september 2026. Container Insights samlar in loggar och inventeringsdata på en Log Analytics arbetsyta. Azure Monitor hanterad tjänst för Prometheus samlar in Prometheus-mått separat på en Azure Monitor arbetsyta. Mer information finns i Container Insights-autentisering.

AKS skapar cost-analysis-identity med läsåtkomst till nodresursgruppen och tilldelar den till klustrets nodpooler när du aktiverar kostnadsanalys. Du kan inte ange en annan identitet för tillägget. Mer information finns i Aktivera AKS-kostnadsanalys.

Microsoft Entra Workload ID är en identitetsmodell från podd till Azure, inte en klusterhanterad eller tilläggshanterad identitet. Du konfigurerar den Microsoft Entra identitet som varje arbetsbelastning använder, kommenterar Kubernetes-tjänstkontot med identitetens klient-ID och skapar en federerad identitetsautentiseringsuppgift. Mer information finns i Distribuera och konfigurera Microsoft Entra Workload ID.

Nästa steg

Aktivera önskad hanterad identitetstyp i ett nytt eller befintligt AKS-kluster med hjälp av följande guider: