Een beheerde identiteit gebruiken in Azure Kubernetes Service (AKS)

Voor AKS-clusters (Azure Kubernetes Service) is een identiteit vereist voor toegang tot Azure-resources, zoals load balancers en beheerde schijven. De identiteit kan een beheerde identiteit of een service-principal zijn.

In dit artikel vindt u informatie over het inschakelen van de volgende typen beheerde identiteiten in een nieuw of bestaand AKS-cluster:

  • Door het systeem toegewezen beheerde identiteit
  • Uw eigen door de gebruiker toegewezen beheerde identiteit gebruiken
  • Vooraf gemaakte door Kubelet beheerde identiteit

Overzicht

Wanneer u een AKS-cluster implementeert, wordt automatisch een door het systeem toegewezen beheerde identiteit gemaakt en beheerd door het Azure-platform, zodat u geen geheimen hoeft in te richten of te roteren. Zie beheerde identiteiten voor Azure-resources voor meer informatie.

AKS maakt niet automatisch een service-principal, dus u moet er een maken. Clusters die uiteindelijk een service-principal gebruiken, verlopen en de service-principal moet worden vernieuwd om te voorkomen dat de clusterverificatie met de identiteit wordt beïnvloed. Door service-principals te beheren, is het eenvoudiger om beheerde identiteiten te gebruiken. Dezelfde machtigingsvereisten gelden voor zowel service-principals als beheerde identiteiten. Beheerde identiteiten maken gebruik van verificatie op basis van certificaten. De referenties van elke beheerde identiteit hebben een verloop van 90 dagen en worden na 45 dagen samengerold.

AKS maakt gebruik van zowel door het systeem toegewezen als door de gebruiker toegewezen beheerde identiteitstypen. Deze identiteiten zijn onveranderbaar. Deze identiteitstypen mogen niet worden verward met een Microsoft Entra Workload-identiteit, die is bedoeld voor gebruik door een toepassing die op een pod wordt uitgevoerd.

Belangrijk

De open source door Microsoft Entra beheerde identiteit (preview) in Azure Kubernetes Service is afgeschaft op 24-10-2022 en het project dat in september 2023 is gearchiveerd. Zie de afschaffingsmelding voor meer informatie. De door AKS beheerde invoegtoepassing wordt in september 2024 afgeschaft.

We raden u aan eerst Microsoft Entra Workload-ID overzicht te bekijken. Entra Workload-ID-verificatie vervangt de door Microsoft Entra-pod beheerde identiteit (preview) en is de aanbevolen methode om een toepassing die wordt uitgevoerd op een pod in te schakelen om zichzelf te verifiëren bij andere Azure-services die dit ondersteunen.

Voordat u begint

  • Zorg ervoor dat Azure CLI versie 2.23.0 of hoger is geïnstalleerd. Voer az --version uit om de versie te bekijken. Als u Azure CLI 2.0 wilt installeren of upgraden, raadpleegt u Azure CLI 2.0 installeren.

  • Als u een vooraf gemaakte beheerde kubelet-identiteit wilt gebruiken, moet Azure CLI versie 2.26.0 of hoger zijn geïnstalleerd.

  • Als u een beheerde identiteit wilt bijwerken op een bestaand cluster, moet Azure CLI versie 2.49.0 of hoger zijn geïnstalleerd.

Beperkingen

  • Tenants die een cluster met beheerde identiteit verplaatsen of migreren, worden niet ondersteund.
  • Als voor het cluster een door Microsoft Entra beheerde identiteit (aad-pod-identity) is ingeschakeld, wijzigen NMI-pods (Node Managed Identity) de iptables van de knooppunten om aanroepen te onderscheppen naar het EINDPUNT van Azure Instance Metadata (IMDS). Deze configuratie betekent dat elke aanvraag die is ingediend bij het eindpunt metagegevens wordt onderschept door NMI, zelfs als de pod niet wordt gebruikt aad-pod-identity. AzurePodIdentityException CRD kan worden geconfigureerd om te informeren aad-pod-identity over aanvragen naar het metagegevenseindpunt dat afkomstig is van een pod die overeenkomt met labels die zijn gedefinieerd in CRD, moeten worden geproxied zonder enige verwerking in NMI. De systeempods met kubernetes.azure.com/managedby: aks label in kube-system-naamruimte moeten worden uitgesloten aad-pod-identity door de CRD van AzurePodIdentityException te configureren.
  • AKS biedt geen ondersteuning voor het gebruik van een door het systeem toegewezen beheerde identiteit wanneer u een aangepaste privé-DNS-zone gebruikt.

Samenvatting van beheerde identiteiten

AKS maakt gebruik van verschillende beheerde identiteiten voor ingebouwde services en invoegtoepassingen.

Identiteit Naam Gebruiksscenario Standaardmachtigingen Bring Your Own Identity
Besturingsvlak Naam van AKS-cluster Wordt gebruikt door AKS-besturingsvlakonderdelen voor het beheren van clusterresources, waaronder load balancers voor inkomend verkeer en door AKS beheerde openbare IP-adressen, automatische schaalaanpassing van clusters, Azure Disk, File, Blob CSI-stuurprogramma's. Rol Inzender voor knooppuntresourcegroep Ondersteund
Kubelet AKS-clusternaam-agentpool Verificatie met Azure Container Registry (ACR). N.v.v1.15 (voor kubernetes v1.15+) Ondersteund
Invoegtoepassing AzureNPM Er is geen identiteit vereist. N.v.t. Nee
Invoegtoepassing AzureCNI-netwerkbewaking Er is geen identiteit vereist. N.v.t. Nee
Invoegtoepassing azure-policy (gatekeeper) Er is geen identiteit vereist. N.v.t. Nee
Invoegtoepassing azure-policy Er is geen identiteit vereist. N.v.t. Nee
Invoegtoepassing Calico Er is geen identiteit vereist. N.v.t. Nee
Invoegtoepassing Dashboard Er is geen identiteit vereist. N.v.t. Nee
Invoegtoepassing toepassingsroutering Beheert Azure DNS- en Azure Key Vault-certificaten Key Vault Secrets User role for Key Vault, DNZ Zone Contributor role for DNS zones, Privé-DNS Zone Contributor role for private DNS zones Nee
Invoegtoepassing HTTPApplicationRouting Beheert de vereiste netwerkbronnen. Lezerrol voor knooppuntresourcegroep, rol inzender voor DNS-zone Nee
Invoegtoepassing Toepassingsgateway voor inkomend verkeer Beheert de vereiste netwerkbronnen. Rol Inzender voor knooppuntresourcegroep Nee
Invoegtoepassing omsagent Wordt gebruikt om metrische AKS-gegevens naar Azure Monitor te verzenden. De rol Van uitgever van metrische gegevens bewaken Nee
Invoegtoepassing Virtueel knooppunt (ACI Verbinding maken or) Beheert vereiste netwerkbronnen voor Azure Container Instances (ACI). Rol Inzender voor knooppuntresourcegroep Nee
Invoegtoepassing Kostenanalyse Wordt gebruikt om kostentoewijzingsgegevens te verzamelen
Workload-identiteit Workload-id van Microsoft Entra Hiermee kunnen toepassingen veilig toegang krijgen tot cloudresources met de workload-id van Microsoft Entra. N.v.t. Nee

Beheerde identiteiten inschakelen in een nieuw AKS-cluster

Notitie

AKS maakt een door de gebruiker toegewezen kubelet-identiteit in de knooppuntresourcegroep als u uw eigen door kubelet beheerde identiteit niet opgeeft.

Notitie

Als uw cluster al beheerde identiteit gebruikt en de identiteit is gewijzigd, bijvoorbeeld wanneer u het clusteridentiteitstype bijwerkt van het door het systeem toegewezen aan de gebruiker, is er een vertraging voor het overschakelen van onderdelen van het besturingsvlak naar de nieuwe identiteit. Onderdelen van het besturingsvlak blijven de oude identiteit gebruiken totdat het token verloopt. Nadat het token is vernieuwd, schakelen ze over naar de nieuwe identiteit. Dit proces kan enkele uren duren.

  1. Maak een Azure-resourcegroep met behulp van de az group create opdracht.

    az group create --name myResourceGroup --location westus2
    
  2. Maak een AKS-cluster met behulp van de az aks create opdracht.

    az aks create -g myResourceGroup -n myManagedCluster --enable-managed-identity
    
  3. Haal referenties op om toegang te krijgen tot het cluster met behulp van de az aks get-credentials opdracht.

    az aks get-credentials --resource-group myResourceGroup --name myManagedCluster
    

Beheerde identiteiten inschakelen op een bestaand AKS-cluster

Als u uw bestaande AKS-cluster wilt bijwerken dat gebruikmaakt van een service-principal om een door het systeem toegewezen beheerde identiteit te gebruiken, voert u de az aks update opdracht uit.

az aks update -g myResourceGroup -n myManagedCluster --enable-managed-identity

Nadat het cluster is bijgewerkt, gebruiken het besturingsvlak en de pods de beheerde identiteit. Kubelet blijft een service-principal gebruiken totdat u uw agentpool bijwerken. U kunt de az aks nodepool upgrade --resource-group myResourceGroup --cluster-name myAKSCluster --name mynodepool --node-image-only opdracht op uw knooppunten gebruiken om bij te werken naar een beheerde identiteit. Een upgrade van een knooppuntgroep veroorzaakt downtime voor uw AKS-cluster, omdat de knooppunten in de knooppuntgroepen zijn cordoned/verwijderd en opnieuw worden hersteld.

Notitie

Houd rekening met de volgende informatie bij het bijwerken van uw cluster:

  • Een update werkt alleen als er een VHD-update wordt gebruikt. Als u de nieuwste VHD uitvoert, moet u wachten tot de volgende VHD beschikbaar is om de update uit te voeren.

  • De Azure CLI zorgt ervoor dat de machtiging van uw invoegtoepassing correct is ingesteld na de migratie. Als u de Azure CLI niet gebruikt om de migratiebewerking uit te voeren, moet u de machtiging van de invoegtoepassingsidentiteit zelf afhandelen. Zie Azure-rollen toewijzen met behulp van ARM-sjablonen voor een voorbeeld van een Azure Resource Manager-sjabloon (ARM).

  • Als uw cluster gebruikmaakt --attach-acr van het ophalen van installatiekopieën uit Azure Container Registry, moet u de az aks update --resource-group myResourceGroup --name myAKSCluster --attach-acr <ACR resource ID> opdracht uitvoeren nadat u het cluster hebt bijgewerkt, zodat de zojuist gemaakte kubelet die wordt gebruikt voor beheerde identiteit, de machtiging krijgt om uit ACR te halen. Anders kunt u na de update niet meer ophalen uit ACR.

Roltoewijzing toevoegen voor beheerde identiteit

Wanneer u uw eigen VNet maakt en gebruikt, koppelt u Azure-schijven, statisch IP-adres, routetabel of door de gebruiker toegewezen kubelet-identiteit waar de resources zich buiten de resourcegroep van het werkknooppunt bevinden, voegt de Azure CLI de roltoewijzing automatisch toe. Als u een ARM-sjabloon of een andere methode gebruikt, moet u de principal-id van de beheerde identiteit van het cluster gebruiken om een roltoewijzing uit te voeren.

Als u de Azure CLI niet gebruikt, maar u uw eigen VNet gebruikt, voegt u Azure-schijven, statisch IP-adres, routetabel of door de gebruiker toegewezen kubelet-identiteit toe die zich buiten de resourcegroep van het werkknooppunt bevindt, dan raden we u aan om een door de gebruiker toegewezen beheerde identiteit voor het besturingsvlak te gebruiken. Voor het gebruik van een door het systeem toegewezen beheerde identiteit kunnen we de identiteits-id niet ophalen voordat het cluster wordt gemaakt, waardoor de roltoewijzing van kracht wordt.

De principal-id van beheerde identiteit ophalen

  • Haal de principal-id van de bestaande identiteit op met behulp van de az identity show opdracht.

    az identity show --ids <identity-resource-id>
    

    De uitvoer moet er ongeveer uitzien als in de volgende voorbeelduitvoer:

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

Roltoewijzing toevoegen

Voor een VNet, gekoppelde Azure-schijf, statisch IP-adres of routetabel buiten de standaardresourcegroep voor werkknooppunten, moet u de Contributor rol toewijzen aan de aangepaste resourcegroep.

  • Wijs de Contributor rol toe aan de aangepaste resourcegroep met behulp van de az role assignment create opdracht.

    az role assignment create --assignee <control-plane-identity-principal-id> --role "Contributor" --scope "<custom-resource-group-resource-id>"
    

Voor een door de gebruiker toegewezen kubelet-identiteit buiten de resourcegroep van het standaardwerkknooppunt moet u de rol Managed Identity Operator toewijzen aan de kubelet-identiteit voor beheerde identiteit op het besturingsvlak.

  • Wijs de Managed Identity Operator rol toe aan de kubelet-identiteit met behulp van de az role assignment create opdracht.

    az role assignment create --assignee  <control-plane-identity-principal-id> --role "Managed Identity Operator" --scope "<kubelet-identity-resource-id>"
    

Notitie

Het kan tot 60 minuten duren voordat de machtigingen die aan de beheerde identiteit van uw cluster zijn verleend, zijn ingevuld.

Uw eigen beheerde identiteit meenemen

Een cluster maken met een door de gebruiker toegewezen beheerde identiteit

Een aangepaste door de gebruiker toegewezen beheerde identiteit voor het besturingsvlak maakt toegang tot de bestaande identiteit mogelijk voordat het cluster wordt gemaakt. Deze functie maakt scenario's mogelijk, zoals het gebruik van een aangepast VNet of uitgaand type UDR met een vooraf gemaakte beheerde identiteit.

Notitie

Regio's USDOD - centraal, USDOD - oost en USGov Iowa in de Azure US Government-cloud worden niet ondersteund.

AKS maakt een door de gebruiker toegewezen kubelet-identiteit in de knooppuntresourcegroep als u uw eigen door kubelet beheerde identiteit niet opgeeft.

  • Als u geen beheerde identiteit hebt, maakt u er een met behulp van de az identity create opdracht.

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

    De uitvoer moet er ongeveer uitzien als in de volgende voorbeelduitvoer:

    {                                  
      "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"
    }
    

Notitie

Het kan tot 60 minuten duren voordat de machtigingen die aan de beheerde identiteit van uw cluster zijn verleend, zijn ingevuld.

  • Voordat u het cluster maakt, voegt u de roltoewijzing voor beheerde identiteit toe met behulp van de az role assignment create opdracht.

  • Maak het cluster met door de gebruiker toegewezen beheerde identiteit.

    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 \
        --enable-managed-identity \
        --assign-identity <identity-resource-id>
    

Beheerde identiteit op een bestaand cluster bijwerken

Notitie

Het migreren van een beheerde identiteit voor het besturingsvlak, van door het systeem toegewezen aan door de gebruiker toegewezen, veroorzaakt geen downtime voor besturingsvlak- en agentpools. Ondertussen blijven onderdelen van het besturingsvlak de oude door het systeem toegewezen identiteit enkele uren gebruiken totdat het volgende token wordt vernieuwd.

  • Als u geen beheerde identiteit hebt, maakt u er een met behulp van de az identity create opdracht.

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

    De uitvoer moet er ongeveer uitzien als in de volgende voorbeelduitvoer:

    {                                  
      "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"
    }
    
  • Nadat u de aangepaste door de gebruiker toegewezen beheerde identiteit voor het besturingsvlak hebt gemaakt, voegt u de roltoewijzing voor de beheerde identiteit toe met behulp van de az role assignment create opdracht.

  • Werk uw cluster bij met uw bestaande identiteiten met behulp van de az aks update opdracht. Zorg ervoor dat u de resource-id van de beheerde identiteit voor het besturingsvlak opgeeft door het assign-identity argument op te geven.

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

    De uitvoer voor een geslaagde clusterupdate met uw eigen beheerde kubelet-identiteit moet er ongeveer uitzien als in de volgende voorbeelduitvoer:

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

Een vooraf gemaakte beheerde kubelet-identiteit gebruiken

Een kubelet-identiteit maakt toegang tot de bestaande identiteit mogelijk voordat het cluster wordt gemaakt. Deze functie maakt scenario's mogelijk, zoals verbinding met ACR met een vooraf gemaakte beheerde identiteit.

Vooraf gemaakte kubelet-identiteitsbeperkingen

  • Werkt alleen met een door de gebruiker toegewezen beheerd cluster.
  • De regio's China - oost en China - noord in Microsoft Azure beheerd door 21Vianet worden niet ondersteund.

Door de gebruiker toegewezen beheerde identiteiten maken

Beheerde identiteit van besturingsvlak

  • Als u geen beheerde identiteit voor het besturingsvlak hebt, maakt u er een met behulp van de az identity create.

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

    De uitvoer moet er ongeveer uitzien als in de volgende voorbeelduitvoer:

    {                                  
      "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"
    }
    

Beheerde kubelet-identiteit

  • Als u geen beheerde kubelet-identiteit hebt, maakt u er een met behulp van de az identity create opdracht.

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

    De uitvoer moet er ongeveer uitzien als in de volgende voorbeelduitvoer:

    {
      "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"
    }
    

Een cluster maken met een door de gebruiker toegewezen kubelet-identiteit

U kunt nu uw AKS-cluster maken met uw bestaande identiteiten. Zorg ervoor dat u de resource-id van de beheerde identiteit voor het besturingsvlak opgeeft door het assign-identity argument en de beheerde kubelet-identiteit op te geven met behulp van het assign-kubelet-identity argument.

  • Maak een AKS-cluster met uw bestaande identiteiten met behulp van de az aks create opdracht.

    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 \
        --enable-managed-identity \
        --assign-identity <identity-resource-id> \
        --assign-kubelet-identity <kubelet-identity-resource-id>
    

    Een geslaagd AKS-cluster maken met uw eigen beheerde kubelet-identiteit moet er ongeveer uitzien als in de volgende voorbeelduitvoer:

      "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"
        }
      },
    

Een bestaand cluster bijwerken met kubelet-identiteit

Waarschuwing

Het bijwerken van kubelet managed identity upgradet knooppuntgroepen, waardoor downtime voor uw AKS-cluster wordt veroorzaakt omdat de knooppunten in de knooppuntgroepen worden cordoned/verwijderd en opnieuw worden hersteld.

Notitie

Als uw cluster gebruikmaakt --attach-acr van het ophalen van installatiekopieën uit Azure Container Registry, moet u de az aks update --resource-group myResourceGroup --name myAKSCluster --attach-acr <ACR Resource ID> opdracht uitvoeren nadat u het cluster hebt bijgewerkt, zodat de zojuist gemaakte kubelet die wordt gebruikt voor beheerde identiteit, de machtiging krijgt om uit ACR te halen. Anders kunt u na de upgrade niet meer ophalen uit ACR.

De huidige beheerde identiteit voor het besturingsvlak voor uw AKS-cluster ophalen

  1. Controleer of uw AKS-cluster de door de gebruiker toegewezen beheerde identiteit gebruikt met behulp van de az aks show opdracht.

    az aks show -g <RGName> -n <ClusterName> --query "servicePrincipalProfile"
    

    Als uw cluster een beheerde identiteit gebruikt, wordt de uitvoer weergegeven clientId met een waarde van msi. Een cluster met behulp van een service-principal toont een object-id. Voorbeeld:

    {
      "clientId": "msi"
    }
    
  2. Nadat u hebt bevestigd dat uw cluster een beheerde identiteit gebruikt, zoekt u de resource-id van de beheerde identiteit met behulp van de az aks show opdracht.

    az aks show -g <RGName> -n <ClusterName> --query "identity"
    

    Voor een door de gebruiker toegewezen beheerde identiteit moet uw uitvoer er ongeveer uitzien als in de volgende voorbeelduitvoer:

    {
      "principalId": null,
      "tenantId": null,
      "type": "UserAssigned",
      "userAssignedIdentities": <identity-resource-id>
          "clientId": "<client-id>",
          "principalId": "<principal-id>"
    },
    

Uw cluster bijwerken met kubelet-identiteit

  1. Als u geen beheerde kubelet-identiteit hebt, maakt u er een met behulp van de az identity create opdracht.

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

    De uitvoer moet er ongeveer uitzien als in de volgende voorbeelduitvoer:

    {
      "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"
    }
    
  2. Werk uw cluster bij met uw bestaande identiteiten met behulp van de az aks update opdracht. Zorg ervoor dat u de resource-id van de beheerde identiteit voor het besturingsvlak opgeeft door het assign-identity argument en de beheerde kubelet-identiteit voor assign-kubelet-identity het argument op te geven.

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

    De uitvoer voor een geslaagde clusterupdate met uw eigen beheerde kubelet-identiteit moet er ongeveer uitzien als in de volgende voorbeelduitvoer:

      "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"
        }
      },
    

Volgende stappen

  • Gebruik Azure Resource Manager-sjablonen om een cluster met beheerde identiteit te maken.
  • Meer informatie over het [gebruik van kubelogin][kubelogin-authentication] voor alle ondersteunde Microsoft Entra-verificatiemethoden in AKS.