Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Dit artikel bevat stapsgewijze instructies voor het inschakelen en gebruiken van een door het systeem toegewezen, door de gebruiker toegewezen of vooraf gemaakte door kubelet beheerde identiteit in Azure Kubernetes Service (AKS).
Vereisten voor beheerde AKS-identiteit
Lees het overzicht van beheerde identiteiten in Azure Kubernetes Service (AKS) om inzicht te krijgen in de verschillende typen beheerde identiteiten die beschikbaar zijn in AKS en hoe u deze kunt gebruiken om veilig toegang te krijgen tot Azure-resources.
Voordat u de voorbeelden in dit artikel uitvoert, stelt u uw abonnement in als het huidige actieve abonnement met behulp van de
az account setopdracht.az account set --subscription <subscription-id>Maak een Azure-resourcegroep als u er nog geen hebt door de opdracht aan te
az group createroepen.az group create \ --name <resource-group-name> \ --location <location>
Minimale vereisten voor Azure CLI-versie
- Zorg ervoor dat Azure CLI versie 2.23.0 of hoger is geïnstalleerd. Voer
az --versionuit om de versie te bekijken. Als u Azure CLI wilt installeren of upgraden, raadpleegt u Azure CLI 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 bestaand cluster wilt bijwerken voor het gebruik van een door het systeem toegewezen beheerde identiteit of een door de gebruiker toegewezen beheerde identiteit, moet Azure CLI versie 2.49.0 of hoger zijn geïnstalleerd.
Beperkingen
Het verplaatsen of migreren van een cluster met beheerde identiteit naar een andere tenant wordt 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 IMDS-eindpunt wordt onderschept door NMI, zelfs als een bepaalde pod niet wordt gebruiktaad-pod-identity.De aangepaste resourcedefinitie van AzurePodIdentityException (CRD) kan worden geconfigureerd om op te geven dat aanvragen voor het IMDS-eindpunt dat afkomstig is van een pod die overeenkomt met labels die zijn gedefinieerd in de CRD, moeten worden geproxied zonder dat er verwerking in NMI wordt uitgevoerd. Sluit de systeempods uit met het
kubernetes.azure.com/managedby: akslabel in in deaad-pod-identitynamespace door de AzurePodIdentityException CRD te configureren. Zie Microsoft Entra door pods beheerde identiteiten gebruiken in Azure Kubernetes Service voor meer informatie.Als u een uitzondering wilt configureren, installeert u de mic-exception YAML.
AKS biedt geen ondersteuning voor het gebruik van een door het systeem toegewezen beheerde identiteit wanneer u een aangepaste privé-DNS-zone gebruikt.
De regio's USDOD Central, USDOD East en USGov Iowa in de Azure US Government-cloud bieden geen ondersteuning voor het maken van een cluster met een door de gebruiker toegewezen beheerde identiteit.
Een vooraf gemaakte beheerde kubelet-identiteit moet een door de gebruiker toegewezen beheerde identiteit zijn.
De regio's China - oost en China - noord in Microsoft Azure beheerd door 21Vianet worden niet ondersteund.
Belangrijk
Alle functies van Microsoft Defender voor Cloud worden officieel buiten gebruik gesteld in de regio Azure in China op 18 augustus 2026. Vanwege deze aanstaande buitengebruikstelling kunnen klanten van Azure in China geen nieuwe abonnementen meer onboarden voor de service. Een nieuw abonnement is een abonnement dat nog niet is toegevoegd aan de Microsoft Defender for Cloud-service vóór 18 augustus 2025, de datum van de aankondiging van de buitengebruikstelling. Voor meer informatie over de buitengebruikstelling, zie Aankondiging van de beëindiging van Microsoft Defender voor Cloud in Microsoft Azure beheerd door 21Vianet.
Klanten moeten samenwerken met hun accountvertegenwoordigers voor Microsoft Azure beheerd door 21Vianet om de impact van deze buitengebruikstelling op hun eigen activiteiten te beoordelen.
Overwegingen voor cluster bijwerken
Houd rekening met de volgende informatie wanneer u een cluster bijwerkt:
- 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 gebruikmaakte van
--attach-acrom installatiekopieën uit Azure Container Registry (ACR) te halen, moet u deaz aks update --resource-group <resource-group-name> --name <aks-cluster-name> --attach-acr <acr-resource-id>-opdracht uitvoeren nadat u het cluster hebt bijgewerkt. Hierdoor krijgt de nieuw aangemaakte kubelet voor beheerde identiteiten toestemming om uit ACR te trekken. Anders kunt u na de update niet meer ophalen uit ACR.
Een door het systeem toegewezen beheerde identiteit inschakelen op een AKS-cluster
Een door het systeem toegewezen beheerde identiteit inschakelen op een nieuw AKS-cluster
Een door het systeem toegewezen beheerde identiteit wordt standaard ingeschakeld wanneer u een nieuw AKS-cluster maakt.
Maak een AKS-cluster met behulp van de
az aks createopdracht.az aks create \ --resource-group <resource-group-name> \ --name <aks-cluster-name> \ --generate-ssh-keys
Een bestaand AKS-cluster bijwerken om een door het systeem toegewezen beheerde identiteit te gebruiken
Werk een bestaand AKS-cluster van een service-principal bij naar een door het systeem toegewezen beheerde identiteit met behulp van de
az aks updateopdracht met de--enable-managed-identityparameter.az aks update \ --resource-group <resource-group-name> \ --name <aks-cluster-name> \ --enable-managed-identityNadat u het cluster hebt bijgewerkt voor het gebruik van een door het systeem toegewezen beheerde identiteit in plaats van een service-principal, gebruiken de besturingsvlak en pods de door het systeem toegewezen beheerde identiteit voor autorisatie bij het openen van andere services in Azure. Kubelet blijft een service-principal gebruiken totdat u ook uw agentpool bijwerkt. U kunt de
az aks nodepool upgrade --resource-group <resource-group-name> --cluster-name <aks-cluster-name> --name <node-pool-name> --node-image-onlyopdracht 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 ingesnoerd, leeggestroomd en opnieuw worden hersteld.
De principal-id van een door het systeem toegewezen beheerde identiteit ophalen
Haal de principal-id op voor de door het cluster toegewezen beheerde identiteit met behulp van de
az aks showopdracht.CLIENT_ID=$(az aks show \ --name <aks-cluster-name> \ --resource-group <resource-group-name> \ --query identity.principalId \ --output tsv)
Een roltoewijzing toevoegen voor een door het systeem toegewezen beheerde identiteit
Wijs een Azure RBAC-rol toe aan de door het systeem toegewezen beheerde identiteit met behulp van de
az role assignment createopdracht.Voor een VNet, gekoppelde Azure-schijf, statisch IP-adres of routetabel buiten de standaardresourcegroep voor werkknooppunten, moet u de
Network Contributorrol toewijzen aan de aangepaste resourcegroep.In het volgende voorbeeld wordt de rol Netwerkbijdrager toegewezen aan de door het systeem toegewezen beheerde identiteit. De roltoewijzing is beperkt tot de resourcegroep die het VNet bevat.
az role assignment create \ --assignee <client-id> \ --role "Network Contributor" \ --scope <custom-resource-group-id>Notitie
Het kan maximaal 60 minuten duren voordat de machtigingen die zijn verleend aan de beheerde identiteit van uw cluster, zijn doorgegeven.
Een door de gebruiker toegewezen beheerde identiteit maken
Als u nog geen door de gebruiker toegewezen beheerde identiteitsresource hebt, maakt u er een met behulp van de
az identity createopdracht.az identity create \ --name <identity-name> \ --resource-group <resource-group-name>De uitvoer moet er ongeveer uitzien als in de volgende voorbeelduitvoer:
{ "clientId": "<client-id>", "clientSecretUrl": "<clientSecretUrl>", "id": "/subscriptions/<subscription-id>/resourcegroups/<resource-group-name>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<identity-name>", "location": "<location>", "name": "<identity-name>", "principalId": "<principal-id>", "resourceGroup": "<resource-group-name>", "tags": {}, "tenantId": "<tenant-id>", "type": "Microsoft.ManagedIdentity/userAssignedIdentities" }
De principal-id van de door de gebruiker toegewezen beheerde identiteit ophalen
Haal de principal-id van de door de gebruiker toegewezen beheerde identiteit op met behulp van de
az identity showopdracht.CLIENT_ID=$(az identity show \ --name <identity-name> \ --resource-group <resource-group-name> \ --query principalId \ --output tsv)
De resource-id van de door de gebruiker toegewezen beheerde identiteit ophalen
Haal de resource-id op van de door de gebruiker toegewezen beheerde identiteit met behulp van de
az identity showopdracht.RESOURCE_ID=$(az identity show \ --name <identity-name> \ --resource-group <resource-group-name> \ --query id \ --output tsv)
Een Azure RBAC-rol toewijzen aan de door de gebruiker toegewezen beheerde identiteit
Voeg een roltoewijzing toe voor de door de gebruiker toegewezen beheerde identiteit met behulp van de
az role assignment createopdracht.In het volgende voorbeeld wordt de rol Key Vault Secrets User toegewezen aan de beheerde identiteit die door de gebruiker is toegewezen, zodat deze toegang tot geheimen in een Key Vault kan krijgen. De roltoewijzing is gericht op de sleutelkluisresource:
az role assignment create \ --assignee <client-id> \ --role "Key Vault Secrets User" \ --scope "<keyvault-resource-id>"Notitie
Het kan maximaal 60 minuten duren voordat de machtigingen die zijn verleend aan de beheerde identiteit van uw cluster, zijn doorgegeven.
Een door de gebruiker toegewezen beheerde identiteit inschakelen op een AKS-cluster
Een door de gebruiker toegewezen beheerde identiteit inschakelen op een nieuw AKS-cluster
Maak een AKS-cluster met de door de gebruiker toegewezen beheerde identiteit met behulp van de
az aks createopdracht. Neem de--assign-identityparameter op en geef de resource-id door voor de door de gebruiker toegewezen beheerde identiteit:az aks create \ --resource-group <resource-group-name> \ --name <cluster-name> \ --network-plugin azure \ --vnet-subnet-id <vnet-subnet-id> \ --dns-service-ip 10.2.0.10 \ --service-cidr 10.2.0.0/24 \ --assign-identity $RESOURCE_ID \ --generate-ssh-keys
Een bestaand cluster bijwerken om een door de gebruiker toegewezen beheerde identiteit te gebruiken
Werk een bestaand cluster bij om een door de gebruiker toegewezen beheerde identiteit te gebruiken met behulp van de
az aks updateopdracht. Neem de--assign-identityparameter op en geef de resource-id door voor de door de gebruiker toegewezen beheerde identiteit:az aks update \ --resource-group <resource-group-name> \ --name <cluster-name> \ --enable-managed-identity \ --assign-identity $RESOURCE_IDDe uitvoer voor een geslaagde clusterupdate voor het gebruik van een door de gebruiker toegewezen beheerde identiteit moet lijken op de volgende voorbeelduitvoer:
"identity": { "principalId": null, "tenantId": null, "type": "UserAssigned", "userAssignedIdentities": { "/subscriptions/<subscription-id>/resourcegroups/<resource-group-name>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<identity-name>": { "clientId": "<client-id>", "principalId": "<principal-id>" } } },Notitie
Het migreren van een beheerde identiteit voor het besturingsvlak van het systeem dat is toegewezen aan door de gebruiker toegewezen, leidt niet tot downtime voor besturingsvlak- en agentpools. Onderdelen van het besturingsvlak blijven gedurende maximaal enkele uren de oude door het systeem toegewezen identiteit behouden totdat het volgende token wordt vernieuwd.
Bepalen welk type beheerde identiteit een cluster gebruikt
Controleer met de
az aks showopdracht welk type beheerde identiteit uw cluster gebruikt.az aks show \ --name <aks-cluster-name> \ --resource-group <resource-group-name> \ --query identity.type \ --output tsvAls het cluster een beheerde identiteit gebruikt, is de waarde van de type-eigenschap SystemAssigned of UserAssigned.
Als het cluster een service-principal gebruikt, is de waarde van de typeeigenschap null. Overweeg om uw cluster te upgraden om een beheerde identiteit te gebruiken.
Een beheerde kubelet-identiteit maken
Als u geen beheerde kubelet-identiteit hebt, maakt u er een met behulp van de
az identity createopdracht.az identity create \ --name <kubelet-identity-name> \ --resource-group <resource-group-name>De uitvoer moet er ongeveer uitzien als in de volgende voorbeelduitvoer:
{ "clientId": "<client-id>", "clientSecretUrl": "<clientSecretUrl>", "id": "/subscriptions/<subscription-id>/resourcegroups/<resource-group-name>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<kubelet-identity-name>", "location": "<location>", "name": "<kubelet-identity-name>", "principalId": "<principal-id>", "resourceGroup": "<resource-group-name>", "tags": {}, "tenantId": "<tenant-id>", "type": "Microsoft.ManagedIdentity/userAssignedIdentities" }
Een RBAC-rol toewijzen aan de beheerde kubelet-identiteit
Wijs de
acrpullrol toe aan de beheerde kubelet-identiteit met behulp van deaz role assignment createopdracht.az role assignment create \ --assignee <kubelet-client-id> \ --role "acrpull" \ --scope "<acr-registry-id>"
Een door Kubelet beheerde identiteit inschakelen op een AKS-cluster
Een door Kubelet beheerde identiteit inschakelen in een nieuw AKS-cluster
Maak een AKS-cluster met uw bestaande identiteiten met behulp van de
az aks createopdracht.az aks create \ --resource-group <resource-group-name> \ --name <aks-cluster-name> \ --network-plugin azure \ --vnet-subnet-id <vnet-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-keysEen geslaagd AKS-cluster maken met behulp van een beheerde kubelet-identiteit moet resulteren in uitvoer die vergelijkbaar is met de volgende:
"identity": { "principalId": null, "tenantId": null, "type": "UserAssigned", "userAssignedIdentities": { "/subscriptions/<subscription-id>/resourcegroups/<resource-group-name>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<identity-name>": { "clientId": "<client-id>", "principalId": "<principal-id>" } } }, "identityProfile": { "kubeletidentity": { "clientId": "<client-id>", "objectId": "<object-id>", "resourceId": "/subscriptions/<subscription-id>/resourcegroups/<resource-group-name>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<kubelet-identity-name>" } },
Een bestaand cluster bijwerken om een beheerde kubelet-identiteit te gebruiken
Als u een bestaand cluster wilt bijwerken om de beheerde kubelet-identiteit te gebruiken, moet u eerst de huidige beheerde identiteit voor uw AKS-cluster ophalen.
Waarschuwing
Voordat u de beheerde kubelet-identiteit bijwerkt en de knooppuntgroepen van uw AKS-cluster worden bijgewerkt, moet u ervoor zorgen dat u over de juiste beschikbaarheidsconfiguraties beschikt, zoals Pod-onderbrekingsbudgetten, om werkonderbrekingen te voorkomen. Voer deze update bij voorkeur uit tijdens een onderhoudsvenster.
Controleer of uw AKS-cluster de door de gebruiker toegewezen beheerde identiteit gebruikt met behulp van de
az aks showopdracht.az aks show \ --resource-group <resource-group-name> \ --name <aks-cluster-name> \ --query "servicePrincipalProfile"Als uw cluster een beheerde identiteit gebruikt, wordt de uitvoer weergegeven
clientIdmet een waarde van msi. Een cluster met behulp van een service-principal toont een object-id. Voorbeeld:# The cluster is using a managed identity. { "clientId": "msi" }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 showopdracht.az aks show --resource-group <resource-group-name> \ --name <aks-cluster-name> \ --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>" },Werk uw cluster bij met uw bestaande identiteiten met behulp van de
az aks updateopdracht. Geef de resource-id op van de door de gebruiker toegewezen beheerde identiteit voor het besturingsvlak voor hetassign-identityargument. Geef de resource-id op van de beheerde kubelet-identiteit voor hetassign-kubelet-identityargument.az aks update \ --resource-group <resource-group-name> \ --name <aks-cluster-name> \ --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/<subscription-id>/resourcegroups/<resource-group-name>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<identity-name>": { "clientId": "<client-id>", "principalId": "<principal-id>" } } }, "identityProfile": { "kubeletidentity": { "clientId": "<client-id>", "objectId": "<object-id>", "resourceId": "/subscriptions/<subscription-id>/resourcegroups/<resource-group-name>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<kubelet-identity-name>" } },
De eigenschappen van de beheerde kubelet-identiteit ophalen
Haal de eigenschappen van de beheerde kubelet-identiteit op met de
az aks showopdracht en vraag naar deidentityProfile.kubeletidentityeigenschap.az aks show \ --name <aks-cluster-name> \ --resource-group <resource-group-name> \ --query "identityProfile.kubeletidentity"
Volgende stappen
- Gebruik Azure Resource Manager-sjablonen om een cluster met beheerde identiteit te maken.
- Meer informatie over het gebruik van kubelogin voor alle ondersteunde Microsoft Entra-verificatiemethoden in AKS.