Dela via


Använda en hanterad identitet i Azure Kubernetes Service (AKS)

Azure Kubernetes Service-kluster (AKS) kräver en Microsoft Entra-identitet för att få åtkomst till Azure-resurser som lastbalanserare och hanterade diskar. Hanterade identiteter för Azure-resurser är det rekommenderade sättet att auktorisera åtkomst från ett AKS-kluster till andra Azure-tjänster.

Du kan använda en hanterad identitet för att auktorisera åtkomst från ett AKS-kluster till alla tjänster som stöder Microsoft Entra-auktorisering, utan att behöva hantera autentiseringsuppgifter eller inkludera dem i koden. Du tilldelar den hanterade identiteten en rollbaserad Åtkomstkontroll i Azure (Azure RBAC) för att ge den behörighet till en viss resurs i Azure. 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. Mer information om Azure RBAC finns i Vad är rollbaserad åtkomstkontroll i Azure (Azure RBAC)?.

Den här artikeln visar hur du aktiverar följande typer av hanterade identiteter i ett nytt eller befintligt AKS-kluster:

  • Systemtilldelad hanterad identitet. En systemtilldelad hanterad identitet är associerad med en enda Azure-resurs, till exempel ett AKS-kluster. Den finns endast för klustrets livscykel.
  • Användartilldelad hanterad identitet. En användartilldelad hanterad identitet är en fristående Azure-resurs som ett AKS-kluster kan använda för att auktorisera åtkomst till andra Azure-tjänster. Den bevaras separat från AKS-klustret och kan användas av flera Azure-resurser.
  • 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. Om du inte anger en användartilldelad hanterad identitet för kubelet skapar AKS en systemtilldelad kubelet-identitet i nodresursgruppen.

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

Översikt

Ett AKS-kluster använder en hanterad identitet för att begära token från Microsoft Entra. Dessa token används för att auktorisera åtkomst till andra resurser som körs i Azure. Du kan tilldela en Azure RBAC-roll till en hanterad identitet för att ge klustret behörighet att komma åt specifika resurser. Om klustret till exempel behöver komma åt hemligheter i ett Azure-nyckelvalv kan du tilldela klustrets hanterade identitet en Azure RBAC-roll som ger dessa behörigheter.

En hanterad identitet kan antingen vara systemtilldelad eller användartilldelad. Dessa två typer av hanterade identiteter liknar dem eftersom du kan använda någon av typerna för att auktorisera åtkomst till Azure-resurser från ditt AKS-kluster. Den viktigaste skillnaden mellan dem är att en systemtilldelad hanterad identitet är associerad med en enda Azure-resurs som ett AKS-kluster, medan en användartilldelad hanterad identitet i sig är en fristående Azure-resurs. Mer information om skillnaderna mellan typer av hanterade identiteter finns i Hanterade identitetstyper i Hanterade identiteter för Azure-resurser.

Båda typerna av hanterade identiteter hanteras av Azure-plattformen, så att du kan auktorisera åtkomst från dina program utan att behöva etablera eller rotera några hemligheter. Azure hanterar identitetens autentiseringsuppgifter åt dig.

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.

Det går också att skapa ett kluster med ett huvudnamn för programtjänsten i stället för en hanterad identitet. Hanterade identiteter rekommenderas över tjänstens huvudnamn för säkerhet och användarvänlighet. Mer information om hur du skapar ett kluster med tjänstens huvudnamn finns i Använda tjänstens huvudnamn med Azure Kubernetes Service (AKS).

Du kan uppdatera ett befintligt kluster för att använda en hanterad identitet från ett huvudnamn för programtjänsten. Du kan också uppdatera ett befintligt kluster till en annan typ av hanterad identitet. Om klustret redan använder en hanterad identitet och identiteten har ändrats, till exempel om du har uppdaterat klusteridentitetstypen 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 dess 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.

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

Innan du börjar

Innan du kör exemplen i den här artikeln anger du din prenumeration som den aktuella aktiva prenumerationen genom att anropa kommandot az account set och skicka in ditt prenumerations-ID.

az account set --subscription <subscription-id>

Skapa också en Azure-resursgrupp om du inte redan har en genom att anropa az group create kommandot.

az group create \
    --name myResourceGroup \
    --location westus2

Aktivera en systemtilldelad hanterad identitet

En systemtilldelad hanterad identitet är en identitet som är associerad med ett AKS-kluster eller en annan Azure-resurs. Den systemtilldelade hanterade identiteten är kopplad till klustrets livscykel. När klustret tas bort tas även den systemtilldelade hanterade identiteten bort.

AKS-klustret kan använda den systemtilldelade hanterade identiteten för att auktorisera åtkomst till andra resurser som körs i Azure. Du kan tilldela en Azure RBAC-roll till den systemtilldelade hanterade identiteten för att ge klustret behörighet att komma åt specifika resurser. Om klustret till exempel behöver komma åt hemligheter i ett Azure-nyckelvalv kan du tilldela den systemtilldelade hanterade identiteten en Azure RBAC-roll som ger dessa behörigheter.

Aktivera en systemtilldelad hanterad identitet i ett nytt AKS-kluster

Om du vill aktivera en systemtilldelad hanterad identitet i ett nytt kluster anropar du az aks create. En systemtilldelad hanterad identitet är aktiverad i det nya klustret som standard.

Skapa ett AKS-kluster med kommandot az aks create .

az aks create \
    --resource-group myResourceGroup \
    --name myManagedCluster \
    --generate-ssh-keys

Information om hur du kontrollerar att en systemtilldelad hanterad identitet är aktiverad för klustret när det har skapats finns i Fastställa vilken typ av hanterad identitet ett kluster använder.

Uppdatera ett befintligt AKS-kluster för att använda en systemtilldelad hanterad identitet

Om du vill uppdatera ett befintligt AKS-kluster som använder tjänstens huvudnamn för att använda en systemtilldelad hanterad identitet i stället kör az aks update du kommandot med parametern --enable-managed-identity .

az aks update \
    --resource-group myResourceGroup \
    --name myManagedCluster \
    --enable-managed-identity

När du har uppdaterat klustret för att använda en systemtilldelad hanterad identitet i stället för ett huvudnamn för tjänsten använder kontrollplanet och poddarna den systemtilldelade hanterade identiteten för auktorisering vid åtkomst till andra tjänster i Azure. Kubelet fortsätter att använda ett huvudnamn för tjänsten tills du även uppgraderar din agentpool. Du kan använda az aks nodepool upgrade --resource-group myResourceGroup --cluster-name myAKSCluster --name mynodepool --node-image-only kommandot på noderna för att uppdatera till en hanterad identitet. En uppgradering av nodpoolen orsakar stilleståndstid för ditt AKS-kluster eftersom noderna i nodpoolerna är avspärrade, tömda och avbildningar på nytt.

Kommentar

Tänk på följande när du uppdaterar klustret:

  • En uppdatering fungerar bara om det finns en VHD-uppdatering att använda. Om du kör den senaste virtuella hårddisken måste du vänta tills nästa virtuella hårddisk är tillgänglig för att kunna utföra uppdateringen.

  • Azure CLI säkerställer att tilläggets behörighet har angetts korrekt efter migreringen. Om du inte använder Azure CLI för att utföra migreringsåtgärden måste du hantera addon-identitetens behörighet själv. Ett exempel på hur du använder en ARM-mall (Azure Resource Manager) finns i Tilldela Azure-roller med ARM-mallar.

  • Om klustret använde --attach-acr för att hämta från avbildningar från Azure Container Registry (ACR) måste du köra az aks update --resource-group myResourceGroup --name myAKSCluster --attach-acr <ACR resource ID> kommandot efter att ha uppdaterat klustret så att den nyligen skapade kubelet som används för hanterad identitet får behörighet att hämta från ACR. Annars kan du inte hämta från ACR efter uppdateringen.

Lägga till en rolltilldelning för en systemtilldelad hanterad identitet

Du kan tilldela en Azure RBAC-roll till den systemtilldelade hanterade identiteten 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. Mer information om hur du tilldelar Azure RBAC-roller 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.

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, statiska IP-adress, routningstabell eller användartilldelade kubelet-identiteter som ligger utanför resursgruppen för arbetsnoden, rekommenderar vi att du använder en användartilldelad hanterad identitet för kontrollplanet. När kontrollplanet använder en systemtilldelad hanterad identitet skapas identiteten samtidigt som klustret, så rolltilldelningen kan inte utföras förrän klustret har skapats.

Hämta huvud-ID:t för den systemtilldelade hanterade identiteten

För att tilldela en Azure RBAC-roll till ett klusters systemtilldelade hanterade identitet behöver du först huvud-ID:t för den hanterade identiteten. Hämta huvud-ID:t för klustrets systemtilldelade hanterade identitet genom att anropa az aks show kommandot.

# Get the principal ID for a system-assigned managed identity.
CLIENT_ID=$(az aks show \
    --name myAKSCluster \
    --resource-group myResourceGroup \
    --query identity.principalId \
    --output tsv)

Tilldela en Azure RBAC-roll till den systemtilldelade hanterade identiteten

Om du vill ge en systemtilldelad hanterad identitet behörighet till en resurs i Azure anropar du az role assignment create kommandot för att tilldela en Azure RBAC-roll till den hanterade identiteten.

För ett VNet, en ansluten Azure-disk, en statisk IP-adress eller en routningstabell utanför standardresursgruppen för arbetsnoden Contributor måste du tilldela rollen för den anpassade resursgruppen.

Du kan till exempel tilldela rollen för Contributor den anpassade resursgruppen med kommandot az role assignment create . För parametern --scope anger du resurs-ID för resursgruppen för klustret.

az role assignment create \
    --assignee $CLIENT_ID \
    --role "Contributor" \
    --scope "<resource-group-id>"

Kommentar

Det kan ta upp till 60 minuter innan de behörigheter som beviljas till klustrets hanterade identitet sprids.

Aktivera en användartilldelad hanterad identitet

En användartilldelad hanterad identitet är en fristående Azure-resurs. När du skapar ett kluster med en användartilldelad hanterad identitet för kontrollplanet måste den användartilldelade hanterade identitetsresursen finnas innan klustret skapas. Den här funktionen möjliggör scenarier som att skapa klustret med ett anpassat VNet eller med en utgående typ av användardefinierad routning (UDR).

Skapa en användartilldelad hanterad identitet

Om du ännu inte har en användartilldelad hanterad identitetsresurs skapar du en med kommandot az identity create .

az identity create \
    --name myIdentity \
    --resource-group myResourceGroup

Dina utdata bör likna följande exempelutdata:

{                                  
  "clientId": "<client-id>",
  "clientSecretUrl": "<clientSecretUrl>",
  "id": "/subscriptions/<subscriptionid>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myIdentity", 
  "location": "westus2",
  "name": "myIdentity",
  "principalId": "<principal-id>",
  "resourceGroup": "myResourceGroup",                       
  "tags": {},
  "tenantId": "<tenant-id>",
  "type": "Microsoft.ManagedIdentity/userAssignedIdentities"
}

Hämta huvud-ID:t för den användartilldelade hanterade identiteten

Om du vill hämta huvud-ID:t för den användartilldelade hanterade identiteten anropar du az identity show och frågar på principalId egenskapen:

CLIENT_ID=$(az identity show \
    --name myIdentity \
    --resource-group myResourceGroup \
    --query principalId \
    --output tsv)

Hämta resurs-ID för den användartilldelade hanterade identiteten

Om du vill skapa ett kluster med en användartilldelad hanterad identitet behöver du resurs-ID:t för den nya hanterade identiteten. Om du vill hämta resurs-ID för den användartilldelade hanterade identiteten anropar du az aks show and query på id egenskapen:

RESOURCE_ID=$(az identity show \
    --name myIdentity \
    --resource-group myResourceGroup \
    --query id \
    --output tsv)

Tilldela en Azure RBAC-roll till den användartilldelade hanterade identiteten

Innan du skapar klustret lägger du till en rolltilldelning för den hanterade identiteten az role assignment create genom att anropa kommandot .

I följande exempel tilldelas rollen Key Vault Secrets User till den användartilldelade hanterade identiteten för att ge den behörighet att komma åt hemligheter i ett nyckelvalv. Rolltilldelningen är begränsad till nyckelvalvsresursen:

az role assignment create \
    --assignee $CLIENT_ID \
    --role "Key Vault Secrets User" \
    --scope "<keyvault-resource-id>"

Kommentar

Det kan ta upp till 60 minuter innan de behörigheter som beviljas till klustrets hanterade identitet sprids.

Skapa ett kluster med den användartilldelade hanterade identiteten

Om du vill skapa ett AKS-kluster med den användartilldelade hanterade identiteten az aks create anropar du kommandot. Inkludera parametern --assign-identity och skicka resurs-ID:t för den användartilldelade hanterade identiteten:

az aks create \
    --resource-group myResourceGroup \
    --name myManagedCluster \
    --network-plugin azure \
    --vnet-subnet-id <subnet-id> \
    --dns-service-ip 10.2.0.10 \
    --service-cidr 10.2.0.0/24 \
    --assign-identity $RESOURCE_ID \
    --generate-ssh-keys

Kommentar

Regionerna USDOD Central, USDOD East och USGov Iowa i Azure US Government-molnet stöder inte att skapa ett kluster med en användartilldelad hanterad identitet.

Uppdatera ett befintligt kluster för att använda en användartilldelad hanterad identitet

Om du vill uppdatera ett befintligt kluster för att använda en användartilldelad hanterad identitet anropar du az aks update kommandot. Inkludera parametern --assign-identity och skicka resurs-ID:t för den användartilldelade hanterade identiteten:

az aks update \
    --resource-group myResourceGroup \
    --name myManagedCluster \
    --enable-managed-identity \
    --assign-identity $RESOURCE_ID

Utdata för en lyckad klusteruppdatering för att använda en användartilldelad hanterad identitet bör likna följande exempelutdata:

  "identity": {
    "principalId": null,
    "tenantId": null,
    "type": "UserAssigned",
    "userAssignedIdentities": {
      "/subscriptions/<subscriptionid>/resourcegroups/resourcegroups/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myIdentity": {
        "clientId": "<client-id>",
        "principalId": "<principal-id>"
      }
    }
  },

Kommentar

Migrering av en hanterad identitet för kontrollplanet från systemtilldelad till användartilldelad leder inte till någon stilleståndstid för kontrollplans- och agentpooler. Kontrollplanskomponenterna fortsätter till den gamla systemtilldelade identiteten i upp till flera timmar tills nästa token uppdateras.

Avgöra vilken typ av hanterad identitet ett kluster använder

Om du vill ta reda på vilken typ av hanterad identitet ditt befintliga AKS-kluster använder anropar du kommandot az aks show och frågar efter identitetens typegenskap .

az aks show \
    --name myAKSCluster \
    --resource-group myResourceGroup \
    --query identity.type \
    --output tsv       

Om klustret använder en hanterad identitet blir värdet för typegenskapen antingen SystemAssigned eller UserAssigned.

Om klustret använder ett huvudnamn för tjänsten blir värdet för typegenskapen null. Överväg att uppgradera klustret till att använda en hanterad identitet.

Använda en i förväg skapad kubelet-hanterad identitet

En i förväg skapad kubelet-identitet är en användartilldelad hanterad identitet som finns innan klustret skapas. Den här funktionen aktiverar scenarier som anslutning till Azure Container Registry (ACR) när klustret skapas.

Kommentar

AKS skapar en användartilldelad kubelet-identitet i nodresursgruppen om du inte anger en egen kubelet-hanterad identitet.

För en användartilldelad kubelet-identitet utanför standardresursgruppen för arbetsnoden måste du tilldela rollen Hanterad identitetsoperator på kubelet-identiteten för kontrollplanets hanterade identitet.

kubelet managed identity

Om du inte har en kubelet-hanterad identitet skapar du en med kommandot az identity create .

az identity create \
    --name myKubeletIdentity \
    --resource-group myResourceGroup

Dina utdata bör likna följande exempelutdata:

{
  "clientId": "<client-id>",
  "clientSecretUrl": "<clientSecretUrl>",
  "id": "/subscriptions/<subscriptionid>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myKubeletIdentity", 
  "location": "westus2",
  "name": "myKubeletIdentity",
  "principalId": "<principal-id>",
  "resourceGroup": "myResourceGroup",                       
  "tags": {},
  "tenantId": "<tenant-id>",
  "type": "Microsoft.ManagedIdentity/userAssignedIdentities"
}

Tilldela en RBAC-roll till den kubelet-hanterade identiteten

Managed Identity Operator Tilldela rollen på kubelet-identiteten az role assignment create med kommandot . Ange kubelet-identitetens huvud-ID för variabeln $KUBELET_CLIENT_ID.

az role assignment create \
    --assignee $KUBELET_CLIENT_ID \
    --role "Managed Identity Operator" \
    --scope "<kubelet-identity-resource-id>"

Skapa ett kluster för att använda kubelet-identiteten

Nu kan du skapa ditt AKS-kluster med dina befintliga identiteter. Ange resurs-ID för den hanterade identiteten för kontrollplanet genom att inkludera assign-identity argumentet och den kubelet-hanterade identiteten assign-kubelet-identity med argumentet .

Skapa ett AKS-kluster med dina befintliga identiteter med kommandot az aks create .

az aks create \
    --resource-group myResourceGroup \
    --name myManagedCluster \
    --network-plugin azure \
    --vnet-subnet-id <subnet-id> \
    --dns-service-ip 10.2.0.10 \
    --service-cidr 10.2.0.0/24 \
    --assign-identity <identity-resource-id> \
    --assign-kubelet-identity <kubelet-identity-resource-id> \
    --generate-ssh-keys

En lyckad AKS-klustergenerering med en kubelet-hanterad identitet bör resultera i utdata som liknar följande:

  "identity": {
    "principalId": null,
    "tenantId": null,
    "type": "UserAssigned",
    "userAssignedIdentities": {
      "/subscriptions/<subscriptionid>/resourcegroups/resourcegroups/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myIdentity": {
        "clientId": "<client-id>",
        "principalId": "<principal-id>"
      }
    }
  },
  "identityProfile": {
    "kubeletidentity": {
      "clientId": "<client-id>",
      "objectId": "<object-id>",
      "resourceId": "/subscriptions/<subscriptionid>/resourcegroups/resourcegroups/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myKubeletIdentity"
    }
  },

Uppdatera ett befintligt kluster för att använda kubelet-identiteten

Om du vill uppdatera ett befintligt kluster för att använda den kubelet-hanterade identiteten hämtar du först den aktuella hanterade identiteten för kontrollplanet för ditt AKS-kluster.

Varning

När du uppdaterar den kubelet-hanterade identiteten uppgraderas AKS-klustrets nodpooler, vilket orsakar stilleståndstid för klustret eftersom noderna i nodpoolerna är avspärrade/tömda och omskapade.

  1. Bekräfta att AKS-klustret använder den användartilldelade hanterade identiteten az aks show med hjälp av kommandot .

    az aks show \
        --resource-group <RGName> \
        --name <ClusterName> \
        --query "servicePrincipalProfile"
    

    Om klustret använder en hanterad identitet visas clientId utdata med värdet msi. Ett kluster som använder tjänstens huvudnamn visar ett objekt-ID. Till exempel:

    # The cluster is using a managed identity.
    {
      "clientId": "msi"
    }
    
  2. När du har bekräftat att klustret använder en hanterad identitet letar du reda på den hanterade identitetens resurs-ID med kommandot az aks show .

    az aks show --resource-group <RGName> \
        --name <ClusterName> \
        --query "identity"
    

    För en användartilldelad hanterad identitet bör dina utdata se ut ungefär som i följande exempelutdata:

    {
      "principalId": null,
      "tenantId": null,
      "type": "UserAssigned",
      "userAssignedIdentities": <identity-resource-id>
          "clientId": "<client-id>",
          "principalId": "<principal-id>"
    },
    
  3. Uppdatera klustret med dina befintliga identiteter med hjälp av az aks update kommandot . Ange resurs-ID för den användartilldelade hanterade identiteten för kontrollplanet för assign-identity argumentet. Ange resurs-ID för den kubelet-hanterade identiteten assign-kubelet-identity för argumentet.

    az aks update \
        --resource-group myResourceGroup \
        --name myManagedCluster \
        --enable-managed-identity \
        --assign-identity <identity-resource-id> \
        --assign-kubelet-identity <kubelet-identity-resource-id>
    

Dina utdata för en lyckad klusteruppdatering med din egen kubelet-hanterade identitet bör likna följande exempelutdata:

  "identity": {
    "principalId": null,
    "tenantId": null,
    "type": "UserAssigned",
    "userAssignedIdentities": {
      "/subscriptions/<subscriptionid>/resourcegroups/resourcegroups/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myIdentity": {
        "clientId": "<client-id>",
        "principalId": "<principal-id>"
      }
    }
  },
  "identityProfile": {
    "kubeletidentity": {
      "clientId": "<client-id>",
      "objectId": "<object-id>",
      "resourceId": "/subscriptions/<subscriptionid>/resourcegroups/resourcegroups/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myKubeletIdentity"
    }
  },

Kommentar

Om klustret använde --attach-acr för att hämta från avbildningar från Azure Container Registry kör az aks update --resource-group myResourceGroup --name myAKSCluster --attach-acr <ACR Resource ID> du kommandot efter att ha uppdaterat klustret så att den nyligen skapade kubelet som används för hanterad identitet får behörighet att hämta från ACR. Annars kan du inte hämta från ACR efter uppgraderingen.

Hämta egenskaperna för kubelet-identiteten

Om du vill hämta egenskaperna för kubelet-identiteten anropar du az aks show och frågar på identityProfile.kubeletidentity egenskapen.

az aks show \
    --name myAKSCluster \
    --resource-group myResourceGroup \
    --query "identityProfile.kubeletidentity"

Förskapade kubelet-identitetsbegränsningar

Observera följande begränsningar för den i förväg skapade kubelet-identiteten:

  • En i förväg skapad kubelet-identitet måste vara en användartilldelad hanterad identitet.
  • Regionerna Kina, östra och Kina, norra i Microsoft Azure som drivs av 21Vianet stöds inte.

Sammanfattning av hanterade identiteter som används av AKS

AKS använder flera hanterade identiteter för inbyggda tjänster och tillägg.

Identitet Name 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, Autoskalning av kluster, Azure Disk, Fil, Blob CSI-drivrutiner. Deltagarroll för nodresursgrupp Stöds
Kubelet AKS-klusternamn-agentpool Autentisering med Azure Container Registry (ACR). N/A (för kubernetes v1.15+) Stöds
Tillägg AzureNPM Ingen identitet krävs. Ej tillämpligt Nej
Tillägg Nätverksövervakning i AzureCNI Ingen identitet krävs. Ej tillämpligt Nej
Tillägg azure-policy (gatekeeper) Ingen identitet krävs. Ej tillämpligt Nej
Tillägg azure-policy Ingen identitet krävs. Ej tillämpligt Nej
Tillägg Kalikå Ingen identitet krävs. Ej tillämpligt Nej
Tillägg programroutning Hanterar Azure DNS- och Azure Key Vault-certifikat Nyckelvalvshemligheter Användarroll för Key Vault, DNZ-zondeltagareroll för DNS-zoner, privat DNS-zondeltagareroll för privata DNS-zoner Nej
Tillägg HTTPApplicationRouting Hanterar nödvändiga nätverksresurser. Läsarroll för nodresursgrupp, deltagarroll för DNS-zon Nej
Tillägg Inkommande programgateway Hanterar nödvändiga nätverksresurser. Deltagarroll för nodresursgrupp Nej
Tillägg omsagent Används för att skicka AKS-mått till Azure Monitor. Övervaka utgivarrollen för mått Nej
Tillägg Virtual-Node (ACIConnector) Hanterar nödvändiga nätverksresurser för Azure Container Instances (ACI). Deltagarroll för nodresursgrupp Nej
Tillägg Kostnadsanalys Används för att samla in kostnadsallokeringsdata
Arbetsbelastningsidentitet Microsoft Entra-arbetsbelastnings-ID Gör att program kan komma åt molnresurser på ett säkert sätt med Microsoft Entra-arbetsbelastnings-ID. Ej tillämpligt Nej

Viktigt!

Microsoft Entra-poddhanterad identitet med öppen källkod (förhandsversion) i Azure Kubernetes Service blev inaktuell den 24 september 2022 och projektet arkiverades i september 2023. Mer information finns i utfasningsmeddelandet. AKS Managed-tillägget börjar fasas ut i september 2024.

Vi rekommenderar att du granskar Microsoft Entras arbetsbelastnings-ID. Entra-arbetsbelastnings-ID-autentisering ersätter den inaktuella funktionen för poddhanterad identitet (förhandsversion). Entra-arbetsbelastnings-ID är den rekommenderade metoden för att aktivera ett program som körs på en podd för att autentisera sig mot andra Azure-tjänster som stöder det.

Begränsningar

  • Det går inte att flytta eller migrera ett hanterat identitetsaktiverat kluster till en annan klientorganisation.

  • Om klustret har Microsoft Entra poddhanterad identitet (aad-pod-identity) aktiverad ändrar NMI-poddar (Node-Managed Identity) iptables för noderna för att fånga upp anrop till IMDS-slutpunkten (Azure Instance Metadata). Den här konfigurationen innebär att alla begäranden som görs till IMDS-slutpunkten fångas upp av NMI, även om en viss podd inte använder aad-pod-identity.

    Den anpassade resursdefinitionen för AzurePodIdentityException (CRD) kan konfigureras för att ange att begäranden till IMDS-slutpunkten som kommer från en poddmatchningsetikett som definierats i CRD ska vara proxied utan någon bearbetning i NMI. Undanta systempoddar med kubernetes.azure.com/managedby: aks etiketten i kube-system-namnområdet i aad-pod-identity genom att konfigurera AzurePodIdentityException CRD. Mer information finns i Använda Microsoft Entra-poddhanterade identiteter i Azure Kubernetes Service.

    Om du vill konfigurera ett undantag installerar du YAML med mikrofonfel.

  • AKS stöder inte användning av en systemtilldelad hanterad identitet när du använder en anpassad privat DNS-zon.

Nästa steg