Naslaginformatie over AKS-servicemachtigingen

Bij het aanmaken van een cluster genereert of wijzigt AKS de benodigde resources (zoals VM's en NIC's) om het cluster namens de gebruiker te maken en te runnen. Deze identiteit is onderscheidend van de machtiging van de clusteridentiteit, die wordt aangemaakt tijdens het maken van de cluster.

Zie ingebouwde Azure-rollen voor containers voor de ingebouwde rollen die worden gebruikt om deze machtigingen te verlenen. Zie Een service-principal gebruiken met AKS voor een voorbeeld van het verlenen van een service-principal aan de benodigde machtigingen voor een aangepast virtueel netwerk. Zie Access- en identiteitsopties voor AKS voor een afdrukstand in de vier AKS-identiteitsscenario's.

Identiteit die de clusterrechten creëert en beheert

De volgende machtigingen zijn nodig voor de identiteit die het cluster creëert en beheert.

Toestemming Reden
Microsoft.Compute/diskEncryptionSets/read Vereist om schijfversleutelingsset-ID te lezen.
Microsoft.Compute/proximityPlacementGroups/write Vereist voor het bijwerken van nabijheidsplaatsingsgroepen.
Microsoft.Network/applicationGateways/read
Microsoft.Network/applicationGateways/write
Microsoft.Network/virtualNetworks/subnets/join/action
Vereist om applicatie-gateways te configureren en toe te treden tot het subnet.
Microsoft.Network/virtualNetworks/subnets/join/action Vereist om de Netwerkbeveiligingsgroep voor de subnet te configureren bij gebruik van een aangepast VNET.
Microsoft.Network/publicIPAddresses/join/action
Microsoft.Network/publicIPPrefixes/join/action
Vereist voor het configureren van de uitgaande openbare IP-adressen op de Standard Load Balancer.
Microsoft.OperationalInsights/workspaces/sharedkeys/read
Microsoft.OperationalInsights/workspaces/read
Microsoft.OperationsManagement/solutions/write
Microsoft.OperationsManagement/solutions/read
Microsoft.ManagedIdentity/userAssignedIdentities/assign/action
Vereist voor het maken en bijwerken van Log Analytics-werkruimten en Azure-bewaking voor containers.
Microsoft.Network/virtualNetworks/joinLoadBalancer/action Vereist voor de configuratie van de op IP gebaseerde Load Balancer back-end pools.

Identiteitsrechten van AKS-cluster

De volgende machtigingen worden gebruikt door de AKS-clusteridentiteit, die is aangemaakt en verbonden met de AKS-cluster. Elke toestemming wordt gebruikt voor de redenen hieronder:

Toestemming Reden
Microsoft.ContainerService/managedClusters/*
Vereist voor het maken van gebruikers en het uitvoeren van het cluster
Microsoft.Network/loadBalancers/delete
Microsoft.Network/loadBalancers/read
Microsoft.Network/loadBalancers/write
Vereist om de load balancer te configureren voor een LoadBalancer-service.
Microsoft.Network/publicIPAddresses/delete
Microsoft.Network/publicIPAddresses/read
Microsoft.Network/publicIPAddresses/write
Vereist om openbare IP-adressen voor een LoadBalancer-service te vinden en te configureren.
Microsoft.Network/publicIPAddresses/join/action Vereist voor het configureren van openbare IP-adressen voor een LoadBalancer-service.
Microsoft.Network/networkSecurityGroups/read
Microsoft.Network/networkSecurityGroups/write
Vereist om beveiligingsregels voor een LoadBalancer-service aan te maken of te verwijderen.
Microsoft.Compute/disks/delete
Microsoft.Compute/disks/read
Microsoft.Compute/disks/write
Microsoft.Compute/locations/DiskOperations/read
Vereist om AzureDisks te configureren.
Microsoft.Storage/storageAccounts/delete
Microsoft.Storage/storageAccounts/listKeys/action
Microsoft.Storage/storageAccounts/read
Microsoft.Storage/storageAccounts/write
Microsoft.Storage/operations/read
Vereist voor het configureren van opslagaccounts voor AzureFile of AzureDisk.
Microsoft.Network/routeTables/read
Microsoft.Network/routeTables/routes/delete
Microsoft.Network/routeTables/routes/read
Microsoft.Network/routeTables/routes/write
Microsoft.Network/routeTables/write
Vereist om route tabellen en routes voor nodes te configureren.
Microsoft.Compute/virtualMachines/read Vereist om informatie te vinden voor virtuele machines in een VMAS, zoals zones, foutdomein, grootte en gegevensschijven.
Microsoft.Compute/virtualMachines/write Vereist om AzureDisks aan een virtuele machine in een VMAS te koppelen.
Microsoft.Compute/virtualMachineScaleSets/read
Microsoft.Compute/virtualMachineScaleSets/virtualMachines/read
Microsoft.Compute/virtualMachineScaleSets/virtualmachines/instanceView/read
Vereist om informatie te vinden voor virtuele machines in een schaalset voor virtuele machines, zoals zones, foutdomeinen, grootte en gegevensschijven.
Microsoft.Network/networkInterfaces/write Vereist om een virtuele machine in een VMAS toe te voegen aan een back-endadresgroep van een load balancer.
Microsoft.Compute/virtualMachineScaleSets/write Vereist om een virtuele machineschaalset toe te voegen aan een back-endadresgroep van een load balancer en knooppunten uit te schalen in een virtuele machineschaalset.
Microsoft.Compute/virtualMachineScaleSets/delete Vereist om een virtuele-machineschaalset te verwijderen uit een back-endadresgroep van een load balancer en knooppunten in een virtuele-machineschaalset te verminderen.
Microsoft.Compute/virtualMachineScaleSets/virtualmachines/write Vereist om AzureDisks te koppelen en een virtuele machine uit een virtual machine-schaalset toe te voegen aan de load balancer.
Microsoft.Network/networkInterfaces/read Verplicht om te zoeken naar interne IP-adressen en achterpool-adressen van load balancers voor virtuele machines in een VMAS.
Microsoft.Compute/virtualMachineScaleSets/virtualMachines/networkInterfaces/read Vereist is om interne IP-adressen en backend-adressenpools van de load balancer te doorzoeken voor een virtuele machine in een virtuele machine scaleset.
Microsoft.Compute/virtualMachineScaleSets/virtualMachines/networkInterfaces/ipconfigurations/publicipaddresses/read Vereist om publieke IP-adressen te vinden voor een virtuele machine in een virtuele machineschaalset.
Microsoft.Network/virtualNetworks/read
Microsoft.Network/virtualNetworks/subnets/read
Het is vereist om te verifiëren of er een subnet bestaat voor de interne load balancer in een andere resourcegroep.
Microsoft.Compute/snapshots/delete
Microsoft.Compute/snapshots/read
Microsoft.Compute/snapshots/write
Vereist om snapshots te configureren voor AzureDisk.
Microsoft.Compute/locations/vmSizes/read
Microsoft.Compute/locations/operations/read
Benodigd om te zoeken naar virtuele machines en hun grootte om AzureDisk-volumelimieten te bepalen.

Aanvullende machtigingen voor AKS-clusteridentiteit

Bij het maken van een cluster met specifieke attributen heb je de volgende extra rechten nodig voor de clusteridentiteit. Aangezien deze machtigingen niet automatisch worden toegewezen, moet u ze toevoegen aan de clusteridentiteit nadat deze is gemaakt.

Toestemming Reden
Microsoft.Network/networkSecurityGroups/write
Microsoft.Network/networkSecurityGroups/read
Vereist indien een netwerkbeveiligingsgroep in een andere resourcegroep wordt gebruikt. Vereist voor het configureren van beveiligingsregels voor een LoadBalancer-service.
Microsoft.Network/virtualNetworks/subnets/read
Microsoft.Network/virtualNetworks/subnets/join/action
Verplicht als u een subnet in een andere resourcegroep gebruikt, zoals een aangepast VNET.
Microsoft.Network/routeTables/routes/read
Microsoft.Network/routeTables/routes/write
Vereist als u een subnet gebruikt dat is gekoppeld aan een routeringstabel in een andere resourcegroep, zoals een aangepast VNET met een aangepaste routeringstabel. Het is noodzakelijk om te verifiëren of er al een subnet bestaat voor het subnet in de andere resourcegroep.
Microsoft.Network/virtualNetworks/subnets/read Vereist bij gebruik van een interne load balancer in een andere resourcegroep. Vereist om te verifiëren of er al een subnet bestaat voor de interne load balancer in de resourcegroep.
Microsoft.Network/privatednszones/* Verplicht als u een privé DNS-zone in een andere resourcegroep gebruikt, zoals een aangepaste privéDNSZone.

Toegewezen identiteit van AKS-knooppunt

De beheerde kubelet-identiteit die is toegewezen aan AKS-knooppunten, wordt gebruikt om installatiekopieën op te halen uit Azure Container Registry. De vereiste gegevensacties zijn afhankelijk van de roltoewijzingsmodus van het register.

Registers die zijn geconfigureerd met RBAC-registermachtigingen

Toestemming Reden
Microsoft.ContainerRegistry/registries/pull/read Vereist voor het ophalen van containerinstallatiekopieën uit Azure Container Registry. Verleend door de AcrPull ingebouwde rol.

Registers geconfigureerd met RBAC Registry + ABAC-opslagplaatsmachtigingen

De abAC-modus wordt de standaardmodus voor nieuwe Azure Container-registers. In deze modus wordt de verouderde AcrPull rol niet gehonoreerd en moet u de equivalente rolmachtigingen met ABAC-functionaliteit verlenen aan de kubelet-identiteit. Zie machtigingen voor Azure ABAC-opslagplaatsen in Azure Container Registry voor meer informatie.

Toestemming Reden
Microsoft.ContainerRegistry/registries/repositories/content/read
Microsoft.ContainerRegistry/registries/repositories/metadata/read
Vereist voor het ophalen van containerinstallatiekopieën en het lezen van afbeeldingstags en metagegevens uit opslagplaatsen. Verleend door de Container Registry Repository Reader ingebouwde rol, die optioneel kan worden beperkt tot specifieke opslagplaatsen met behulp van ABAC-voorwaarden.
Microsoft.ContainerRegistry/registries/catalog/repositories/read Alleen vereist als de kubelet-identiteit alle opslagplaatsen in het register moet vermelden. Verleend door de Container Registry Repository Catalog Lister ingebouwde rol. Deze rol biedt geen ondersteuning voor ABAC-voorwaarden.

Volgende stappen