AKS-Dienstberechtigungsreferenz

Beim Erstellen eines Clusters werden von AKS Ressourcen generiert oder geändert, die für die Erstellung und Ausführung des Clusters im Namen des Benutzers benötigt werden (z. B. VMs und NICs). Diese Identität unterscheidet sich von der Identitätsberechtigung des Clusters, die während der Erstellung des Clusters erstellt wird.

Die integrierten Rollen, die zum Erteilen dieser Berechtigungen verwendet werden, finden Sie unter "Integrierte Azure-Rollen für Container". Ein beispiel für die Gewährung eines Dienstprinzipals für ein benutzerdefiniertes virtuelles Netzwerk finden Sie unter Verwenden eines Dienstprinzipals mit AKS. Eine Ausrichtung in den vier AKS-Identitätsszenarien finden Sie unter Access- und Identitätsoptionen für AKS.

Identität für die Erstellung und den Betrieb des Clusters: Berechtigungen

Die folgenden Berechtigungen werden von der Identität benötigt, die zum Erstellen und Betreiben des Clusters verwendet wird.

Erlaubnis Grund
Microsoft.Compute/diskEncryptionSets/read Erforderlich zum Lesen der Datenträgerverschlüsselungssatz-ID.
Microsoft.Compute/proximityPlacementGroups/write Erforderlich zum Aktualisieren von Näherungsplatzierungsgruppen.
Microsoft.Network/applicationGateways/read
Microsoft.Network/applicationGateways/write
Microsoft.Network/virtualNetworks/subnets/join/action
Erforderlich zum Konfigurieren von Anwendungsgateways und Beitreten zum Subnetz.
Microsoft.Network/virtualNetworks/subnets/join/action Erforderlich zum Konfigurieren der Netzwerksicherheitsgruppe für das Subnetz, wenn ein benutzerdefiniertes VNET verwendet wird.
Microsoft.Network/publicIPAddresses/join/action
Microsoft.Network/publicIPPrefixes/join/action
Erforderlich, um die ausgehenden öffentlichen IPs für die Standard Load Balancer zu konfigurieren.
Microsoft.OperationalInsights/workspaces/sharedkeys/read
Microsoft.OperationalInsights/workspaces/read
Microsoft.OperationsManagement/solutions/write
Microsoft.OperationsManagement/solutions/read
Microsoft.ManagedIdentity/userAssignedIdentities/assign/action
Erforderlich zum Erstellen und Aktualisieren von Log Analytics-Arbeitsbereichen und der Azure-Überwachung für Container.
Microsoft.Network/virtualNetworks/joinLoadBalancer/action Erforderlich zum Konfigurieren der IP-basierten Load Balancer-Back-End-Pools

AKS-Clusteridentität: Berechtigungen

Die folgenden Berechtigungen werden von der AKS-Clusteridentität verwendet, die erstellt und dem AKS-Cluster zugeordnet wird. Die einzelnen Berechtigungen werden aus den folgenden Gründen verwendet:

Erlaubnis Grund
Microsoft.ContainerService/managedClusters/*
Zum Erstellen von Benutzern und zum Betreiben des Clusters erforderlich
Microsoft.Network/loadBalancers/delete
Microsoft.Network/loadBalancers/read
Microsoft.Network/loadBalancers/write
Erforderlich zum Konfigurieren des Lastenausgleichs für einen LoadBalancer-Dienst.
Microsoft.Network/publicIPAddresses/delete
Microsoft.Network/publicIPAddresses/read
Microsoft.Network/publicIPAddresses/write
Erforderlich zum Ermitteln und Konfigurieren von öffentlichen IP-Adressen für einen LoadBalancer-Dienst.
Microsoft.Network/publicIPAddresses/join/action Erforderlich zum Konfigurieren von öffentlichen IP-Adressen für einen LoadBalancer-Dienst.
Microsoft.Network/networkSecurityGroups/read
Microsoft.Network/networkSecurityGroups/write
Erforderlich zum Erstellen oder Löschen von Sicherheitsregeln für einen LoadBalancer-Dienst.
Microsoft.Compute/disks/delete
Microsoft.Compute/disks/read
Microsoft.Compute/disks/write
Microsoft.Compute/locations/DiskOperations/read
Erforderlich zum Konfigurieren von AzureDisks.
Microsoft.Storage/storageAccounts/delete
Microsoft.Storage/storageAccounts/listKeys/action
Microsoft.Storage/storageAccounts/read
Microsoft.Storage/storageAccounts/write
Microsoft.Storage/operations/read
Erforderlich zum Konfigurieren von Speicherkonten für AzureFile oder AzureDisk.
Microsoft.Network/routeTables/read
Microsoft.Network/routeTables/routes/delete
Microsoft.Network/routeTables/routes/read
Microsoft.Network/routeTables/routes/write
Microsoft.Network/routeTables/write
Erforderlich zum Konfigurieren von Routingtabellen und Routen für Knoten.
Microsoft.Compute/virtualMachines/read Es ist erforderlich, Informationen zu virtuellen Maschinen in einer VMAS zu finden, z. B. Zonen, Fehlerdomänen, Größen und Datenträger.
Microsoft.Compute/virtualMachines/write Erforderlich, um AzureDisks an einen virtuellen Computer in einer VM-Verfügbarkeitsgruppe anzufügen.
Microsoft.Compute/virtualMachineScaleSets/read
Microsoft.Compute/virtualMachineScaleSets/virtualMachines/read
Microsoft.Compute/virtualMachineScaleSets/virtualmachines/instanceView/read
Erforderlich zum Suchen nach Informationen für virtuelle Computer in einer VM-Skalierungsgruppe, z. B. Zonen, Fehlerdomäne, Größe und Datenträger.
Microsoft.Network/networkInterfaces/write Erforderlich, um einen virtuellen Computer aus einer VM-Verfügbarkeitsgruppe dem Back-End-Adresspool eines Lastenausgleichsmoduls hinzuzufügen.
Microsoft.Compute/virtualMachineScaleSets/write Erforderlich, um eine VM-Skalierungsgruppe dem Back-End-Adresspool eines Lastenausgleichsmoduls hinzuzufügen und Knoten in einer VM-Skalierungsgruppe aufzuskalieren.
Microsoft.Compute/virtualMachineScaleSets/delete Erforderlich, um eine VM-Skalierungsgruppe aus dem Back-End-Adresspool eines Lastenausgleichsmoduls zu löschen und Knoten in einer VM-Skalierungsgruppe herunterzuskalieren.
Microsoft.Compute/virtualMachineScaleSets/virtualmachines/write Erforderlich, um AzureDisks anzufügen und einen virtuellen Computer aus einer VM-Skalierungsgruppe dem Lastenausgleichsmodul hinzuzufügen.
Microsoft.Network/networkInterfaces/read Erforderlich, um für virtuelle Computer in einer VM-Verfügbarkeitsgruppe nach internen IP-Adressen und Back-End-Adresspools eines Lastenausgleichsmoduls zu suchen.
Microsoft.Compute/virtualMachineScaleSets/virtualMachines/networkInterfaces/read Erforderlich, um für einen virtuellen Computer in einer VM-Skalierungsgruppe nach internen IP-Adressen und Back-End-Adresspools eines Lastenausgleichsmoduls zu suchen.
Microsoft.Compute/virtualMachineScaleSets/virtualMachines/networkInterfaces/ipconfigurations/publicipaddresses/read Erforderlich, um in einer VM-Skalierungsgruppe nach öffentlichen IP-Adressen für einen virtuellen Computer zu suchen.
Microsoft.Network/virtualNetworks/read
Microsoft.Network/virtualNetworks/subnets/read
Erforderlich für die Überprüfung, ob für das interne Lastenausgleichsmodul in einer anderen Ressourcengruppe ein Subnetz vorhanden ist.
Microsoft.Compute/snapshots/delete
Microsoft.Compute/snapshots/read
Microsoft.Compute/snapshots/write
Erforderlich zum Konfigurieren von Momentaufnahmen für AzureDisk.
Microsoft.Compute/locations/vmSizes/read
Microsoft.Compute/locations/operations/read
Erforderlich, um nach VM-Größen zur Ermittlung von Grenzwerten für AzureDisk-Volumes zu suchen.

Zusätzliche AKS-Clusteridentitätsberechtigungen

Beim Erstellen eines Clusters mit bestimmten Attributen benötigen Sie die folgenden zusätzlichen Berechtigungen für die Clusteridentität. Da diese Berechtigungen nicht automatisch zugewiesen werden, müssen Sie sie der Clusteridentität nach der Erstellung hinzufügen.

Erlaubnis Grund
Microsoft.Network/networkSecurityGroups/write
Microsoft.Network/networkSecurityGroups/read
Erforderlich, wenn eine Netzwerksicherheitsgruppe in einer anderen Ressourcengruppe verwendet wird. Erforderlich zum Konfigurieren von Sicherheitsregeln für einen LoadBalancer-Dienst.
Microsoft.Network/virtualNetworks/subnets/read
Microsoft.Network/virtualNetworks/subnets/join/action
Erforderlich, wenn ein Subnetz in einer anderen Ressourcengruppe, z. B. einem benutzerdefinierten VNET, verwendet wird.
Microsoft.Network/routeTables/routes/read
Microsoft.Network/routeTables/routes/write
Erforderlich, wenn ein Subnetz mit einer zugeordneten Routingtabelle in einer anderen Ressourcengruppe, z. B. einem VNET mit einer benutzerdefinierten Routingtabelle, verwendet wird. Erforderlich zum Überprüfen, ob für das Subnetz in der anderen Ressourcengruppe bereits ein Subnetz vorhanden ist.
Microsoft.Network/virtualNetworks/subnets/read Erforderlich, wenn ein internes Lastenausgleichsmodul in einer anderen Ressourcengruppe verwendet wird. Erforderlich für die Überprüfung, ob für das interne Lastenausgleichsmodul in der Ressourcengruppe bereits ein Subnetz vorhanden ist.
Microsoft.Network/privatednszones/* Erforderlich, wenn eine private DNS-Zone in einer anderen Ressourcengruppe, z. B. einer benutzerdefinierten privaten DNS-Zone, verwendet wird.

Zugeordnete AKS-Knotenidentität

Die kubelet verwaltete Identität, die AKS-Knoten zugewiesen ist, wird verwendet, um Bilder aus der Azure Container Registry abzurufen. Die erforderlichen Datenaktionen sind vom Rollenzuweisungsberechtigungsmodus der Registrierung abhängig.

Registrierungen, die mit "RBAC-Registrierungsberechtigungen" konfiguriert sind

Erlaubnis Grund
Microsoft.ContainerRegistry/registries/pull/read Erforderlich, um Containerimages aus der Azure-Containerregistrierung abzurufen. Von der AcrPull integrierten Rolle gewährt.

Registrierungen, die mit "RBAC Registry + ABAC Repository Permissions" konfiguriert sind

Der ABAC-fähige Modus wird zum Standard für neue Azure-Containerregistrierungen. In diesem Modus wird die Legacyrolle AcrPull nicht berücksichtigt, und Sie müssen der Kubelet-Identität die entsprechenden ABAC-fähigen Rollenberechtigungen erteilen. Weitere Informationen finden Sie unter Azure ABAC-Repositoryberechtigungen in der Azure Container Registry.

Erlaubnis Grund
Microsoft.ContainerRegistry/registries/repositories/content/read
Microsoft.ContainerRegistry/registries/repositories/metadata/read
Erforderlich, um Containerimages abzurufen und Imagetags und Metadaten aus Repositorys zu lesen. Gewährt durch die Container Registry Repository Reader integrierte Rolle, die optional auf bestimmte Repositorys mit ABAC-Bedingungen ausgerichtet werden kann.
Microsoft.ContainerRegistry/registries/catalog/repositories/read Nur erforderlich, wenn die Kubelet-Identität alle Repositorys in der Registrierung auflisten muss. Von der Container Registry Repository Catalog Lister integrierten Rolle gewährt. Diese Rolle unterstützt keine ABAC-Bedingungen.

Nächste Schritte