Informazioni di riferimento sulle autorizzazioni del servizio Azure Kubernetes

Quando si crea un cluster, AKS genera o modifica le risorse necessarie (ad esempio le macchine virtuali e le NIC) per creare ed eseguire il cluster per conto dell'utente. Questa identità è distinta dall'autorizzazione di identità del cluster, che viene creata durante la creazione del cluster.

Per i ruoli predefiniti usati per concedere queste autorizzazioni, vedere Ruoli predefiniti di Azure per contenitori. Per un esempio di concessione a un'entità servizio delle autorizzazioni necessarie per una rete virtuale personalizzata, vedere Usare un'entità servizio con il servizio Azure Kubernetes. Per un orientamento tra i quattro scenari di identità del servizio Azure Kubernetes, vedere Opzioni di accesso e identità per il servizio Azure Kubernetes.

Identità che crea e opera le autorizzazioni del cluster

Le autorizzazioni seguenti sono necessarie per l'identità che crea e gestisce il cluster.

Autorizzazione Ragione
Microsoft.Compute/diskEncryptionSets/read Necessarie per leggere l'ID del set di crittografia del disco.
Microsoft.Compute/proximityPlacementGroups/write Necessaria per aggiornare i gruppi di posizionamento di prossimità.
Microsoft.Network/applicationGateways/read
Microsoft.Network/applicationGateways/write
Microsoft.Network/virtualNetworks/subnets/join/action
Necessaria per configurare i gateway applicazione e unirsi alla subnet.
Microsoft.Network/virtualNetworks/subnets/join/action Necessarie per configurare il gruppo di sicurezza di rete per la subnet quando si usa una rete virtuale personalizzata.
Microsoft.Network/publicIPAddresses/join/action
Microsoft.Network/publicIPPrefixes/join/action
Obbligatorio per configurare gli indirizzi IP pubblici in uscita nel 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
Necessario per creare e aggiornare le aree di lavoro Log Analytics e il monitoraggio Azure per i contenitori.
Microsoft.Network/virtualNetworks/joinLoadBalancer/action È necessario configurare i pool di back-end basati su IP del Load Balancer.

Autorizzazioni di identità del cluster AKS

Le autorizzazioni seguenti vengono usate dall'identità del cluster del servizio Azure Kubernetes, creata e associata al cluster del servizio Azure Kubernetes. Ogni autorizzazione viene usata per i motivi seguenti:

Autorizzazione Ragione
Microsoft.ContainerService/managedClusters/*
Necessaria per la creazione di utenti e il funzionamento del cluster
Microsoft.Network/loadBalancers/delete
Microsoft.Network/loadBalancers/read
Microsoft.Network/loadBalancers/write
Necessaria per configurare il servizio di bilanciamento del carico per un servizio LoadBalancer.
Microsoft.Network/publicIPAddresses/delete
Microsoft.Network/publicIPAddresses/read
Microsoft.Network/publicIPAddresses/write
Necessaria per trovare e configurare indirizzi IP pubblici per un servizio LoadBalancer.
Microsoft.Network/publicIPAddresses/join/action Necessaria per la configurazione di indirizzi IP pubblici per un servizio LoadBalancer.
Microsoft.Network/networkSecurityGroups/read
Microsoft.Network/networkSecurityGroups/write
Necessaria per creare o eliminare regole di sicurezza per un servizio LoadBalancer.
Microsoft.Compute/disks/delete
Microsoft.Compute/disks/read
Microsoft.Compute/disks/write
Microsoft.Compute/locations/DiskOperations/read
Necessaria per configurare AzureDisks.
Microsoft.Storage/storageAccounts/delete
Microsoft.Storage/storageAccounts/listKeys/action
Microsoft.Storage/storageAccounts/read
Microsoft.Storage/storageAccounts/write
Microsoft.Storage/operations/read
Necessaria per configurare gli account di archiviazione per AzureFile o AzureDisk.
Microsoft.Network/routeTables/read
Microsoft.Network/routeTables/routes/delete
Microsoft.Network/routeTables/routes/read
Microsoft.Network/routeTables/routes/write
Microsoft.Network/routeTables/write
Necessaria per configurare le tabelle di routing e le route per i nodi.
Microsoft.Compute/virtualMachines/read Necessaria per trovare informazioni per le macchine virtuali in una VMAS, ad esempio zone, dominio di errore, dimensioni e dischi dati.
Microsoft.Compute/virtualMachines/write Necessaria per collegare AzureDisks a una macchina virtuale in una VMAS.
Microsoft.Compute/virtualMachineScaleSets/read
Microsoft.Compute/virtualMachineScaleSets/virtualMachines/read
Microsoft.Compute/virtualMachineScaleSets/virtualmachines/instanceView/read
Necessaria per trovare informazioni per le macchine virtuali in un set di scalabilità di macchine virtuali, ad esempio zone, dominio di errore, dimensioni e dischi dati.
Microsoft.Network/networkInterfaces/write Necessaria per aggiungere una macchina virtuale in una VMAS a un pool di indirizzi back-end del servizio di bilanciamento del carico.
Microsoft.Compute/virtualMachineScaleSets/write Necessario per aggiungere un insieme di macchine virtuali scalabili ai pool di indirizzi di back-end del servizio di bilanciamento del carico e scalare i nodi in un insieme di macchine virtuali scalabili.
Microsoft.Compute/virtualMachineScaleSets/delete Necessaria per eliminare un set di scalabilità di macchine virtuali in pool di indirizzi back-end del servizio di bilanciamento del carico e ridurre i nodi in un set di scalabilità di macchine virtuali.
Microsoft.Compute/virtualMachineScaleSets/virtualmachines/write Necessaria per collegare AzureDisks e aggiungere una macchina virtuale da un set di scalabilità di macchine virtuali al servizio di bilanciamento del carico.
Microsoft.Network/networkInterfaces/read Necessaria per cercare indirizzi IP interni e pool di indirizzi back-end del servizio di bilanciamento del carico per le macchine virtuali in una VMAS.
Microsoft.Compute/virtualMachineScaleSets/virtualMachines/networkInterfaces/read Necessaria per cercare indirizzi IP interni e pool di indirizzi back-end del servizio di bilanciamento del carico per una macchina virtuale in un set di scalabilità di macchine virtuali.
Microsoft.Compute/virtualMachineScaleSets/virtualMachines/networkInterfaces/ipconfigurations/publicipaddresses/read Necessaria per trovare indirizzi IP pubblici per una macchina virtuale in un set di scalabilità di macchine virtuali.
Microsoft.Network/virtualNetworks/read
Microsoft.Network/virtualNetworks/subnets/read
Necessaria per verificare se esiste una subnet per il servizio di bilanciamento del carico interno in un altro gruppo di risorse.
Microsoft.Compute/snapshots/delete
Microsoft.Compute/snapshots/read
Microsoft.Compute/snapshots/write
Necessaria per configurare gli snapshot per AzureDisk.
Microsoft.Compute/locations/vmSizes/read
Microsoft.Compute/locations/operations/read
Necessaria per trovare le dimensioni delle macchine virtuali per individuare i limiti del volume di AzureDisk.

Autorizzazioni aggiuntive per l'identità del cluster del servizio Azure Kubernetes

Quando crei un cluster con attributi specifici hai bisogno delle seguenti autorizzazioni aggiuntive per l'identità del cluster. Poiché queste autorizzazioni non vengono assegnate automaticamente, devi aggiungerle all'identità del cluster dopo la creazione.

Autorizzazione Ragione
Microsoft.Network/networkSecurityGroups/write
Microsoft.Network/networkSecurityGroups/read
Necessario se usi un gruppo di sicurezza di rete in un altro gruppo di risorse. Necessario per configurare le regole di sicurezza per un servizio LoadBalancer.
Microsoft.Network/virtualNetworks/subnets/read
Microsoft.Network/virtualNetworks/subnets/join/action
Necessario se usi una subnet in un altro gruppo di risorse, ad esempio una rete virtuale personalizzata.
Microsoft.Network/routeTables/routes/read
Microsoft.Network/routeTables/routes/write
Necessario se si usa una subnet associata a una tabella di routing in un altro gruppo di risorse, ad esempio una rete virtuale personalizzata con una tabella di routing personalizzata. È necessario verificare se una subnet esiste già nell'altro gruppo di risorse.
Microsoft.Network/virtualNetworks/subnets/read Necessario se si usa un servizio di bilanciamento del carico interno in un altro gruppo di risorse. Necessario per verificare se esiste già una subnet per il servizio di bilanciamento del carico interno nel gruppo di risorse.
Microsoft.Network/privatednszones/* Necessario se usi una zona DNS privata in un altro gruppo di risorse, ad esempio un privateDNSZone personalizzato.

Identità mappata al nodo del servizio Azure Kubernetes

L'identità gestita kubelet assegnata ai nodi del servizio Azure Kubernetes viene usata per eseguire il pull delle immagini dal Registro Azure Container. Le azioni di dati necessarie dipendono dalla modalità di autorizzazione per l'assegnazione di ruolo del Registro di sistema.

Registri configurati con "Autorizzazioni del Registro degli accessi in base al ruolo"

Autorizzazione Ragione
Microsoft.ContainerRegistry/registries/pull/read Obbligatorio per eseguire il pull delle immagini del contenitore da Registro Azure Container. Concesso dal AcrPull ruolo predefinito.

Registri configurati con "Registro degli accessi in base al ruolo e autorizzazioni del repository ABAC"

La modalità abilitata per il controllo degli accessi in base al ruolo sta diventando l'impostazione predefinita per i nuovi registri contenitori di Azure. In questa modalità, il ruolo legacy AcrPull non viene rispettato ed è necessario concedere le autorizzazioni di ruolo abilitate per il controllo degli accessi in base al ruolo equivalente all'identità kubelet. Per altre informazioni, vedere Autorizzazioni del repository di Controllo degli accessi in base al ruolo di Azure in Registro Azure Container.

Autorizzazione Ragione
Microsoft.ContainerRegistry/registries/repositories/content/read
Microsoft.ContainerRegistry/registries/repositories/metadata/read
Necessario per eseguire il pull delle immagini del contenitore e leggere i tag di immagine e i metadati dai repository. Concesso dal Container Registry Repository Reader ruolo predefinito, che può essere facoltativamente limitato a repository specifici usando condizioni del controllo degli accessi in base al ruolo.
Microsoft.ContainerRegistry/registries/catalog/repositories/read Obbligatorio solo se l'identità kubelet deve elencare tutti i repository nel Registro di sistema. Concesso dal Container Registry Repository Catalog Lister ruolo predefinito. Questo ruolo non supporta le condizioni del controllo degli accessi in base al ruolo.

Passaggi successivi