Opzioni di accesso e identità per il servizio Azure Kubernetes

È possibile autenticare, autorizzare, proteggere e controllare l'accesso ai cluster Kubernetes in diversi modi:

  • Usando il controllo degli accessi in base al ruolo di Kubernetes, è possibile concedere agli utenti, ai gruppi e agli account del servizio l'accesso solo alle risorse necessarie.
  • Con servizio Azure Kubernetes (servizio Azure Kubernetes), è possibile migliorare ulteriormente la struttura di sicurezza e autorizzazioni usando Microsoft Entra ID e Controllo degli accessi in base al ruolo di Azure.

Il controllo degli accessi in base al ruolo di Kubernetes e il servizio Azure Kubernetes consentono di proteggere l'accesso al cluster e fornire solo le autorizzazioni minime necessarie per sviluppatori e operatori.

Questo articolo presenta i concetti di base che consentono di autenticare e assegnare autorizzazioni nel servizio Azure Kubernetes.

Controllo degli accessi in base al ruolo di Kubernetes

Il controllo degli accessi in base al ruolo di Kubernetes offre un filtro granulare delle azioni utente. Con questo meccanismo di controllo:

  • È possibile assegnare agli utenti o ai gruppi di utenti l'autorizzazione per creare e modificare le risorse o visualizzare i log dai carichi di lavoro delle applicazioni in esecuzione.
  • È possibile definire l'ambito delle autorizzazioni per un singolo spazio dei nomi o nell'intero cluster del servizio Azure Kubernetes.
  • È possibile creare ruoli per definire le autorizzazioni e quindi assegnare tali ruoli agli utenti con associazioni di ruolo.

Per altre informazioni, vedere Uso dell'autorizzazione del controllo degli accessi in base al ruolo di Kubernetes.

Role e ClusterRole

ruoli

Prima di assegnare autorizzazioni agli utenti con il controllo degli accessi in base al ruolo di Kubernetes, si definiranno le autorizzazioni utente come ruolo. Concedere le autorizzazioni all'interno di uno spazio dei nomi usando i ruoli.

Nota

I ruoli Kubernetes concedono le autorizzazioni e non negano le autorizzazioni.

Per concedere autorizzazioni per l'intero cluster o per le risorse del cluster all'esterno di uno spazio dei nomi specifico, è invece possibile usare ClusterRoles.

ClusterRoles

Un clusterRole concede e applica le autorizzazioni alle risorse nell'intero cluster, non a uno spazio dei nomi specifico.

RoleBinding e ClusterRoleBinding

Dopo aver definito i ruoli per concedere le autorizzazioni alle risorse, assegnare le autorizzazioni di controllo degli accessi in base al ruolo di Kubernetes con roleBinding. Se il cluster del servizio Azure Kubernetes si integra con Microsoft Entra ID, RoleBindings concede le autorizzazioni agli utenti di Microsoft Entra per eseguire azioni all'interno del cluster. Vedere come controllare l'accesso alle risorse del cluster usando il controllo degli accessi in base al ruolo di Kubernetes e le identità di Microsoft Entra.

RoleBindings

Assegnare ruoli agli utenti per uno spazio dei nomi specifico usando RoleBindings. Con RoleBindings è possibile separare logicamente un singolo cluster del servizio Azure Kubernetes, consentendo solo agli utenti di accedere alle risorse dell'applicazione nello spazio dei nomi assegnato.

Per associare i ruoli nell'intero cluster o alle risorse del cluster all'esterno di uno spazio dei nomi specifico, è invece possibile usare ClusterRoleBindings.

ClusterRoleBinding

Con un clusterRoleBinding, si associano i ruoli agli utenti e si applicano alle risorse nell'intero cluster, non a uno spazio dei nomi specifico. Questo approccio consente di concedere agli amministratori o ai tecnici del supporto l'accesso a tutte le risorse nel cluster del servizio Azure Kubernetes.

Nota

Microsoft/servizio Azure Kubernetes esegue tutte le azioni del cluster con il consenso dell'utente con un ruolo aks-service Kubernetes predefinito e un'associazione aks-service-rolebindingdi ruoli predefinita.

Questo ruolo consente al servizio Azure Kubernetes di risolvere e diagnosticare i problemi del cluster, ma non può modificare le autorizzazioni né creare ruoli o associazioni di ruoli o altre azioni con privilegi elevati. L'accesso ai ruoli è abilitato solo nei ticket di supporto attivi con accesso JIT (Just-In-Time). Altre informazioni sui criteri di supporto del servizio Azure Kubernetes.

Account del servizio Kubernetes

Gli account del servizio sono uno dei tipi di utente principali in Kubernetes. L'API Kubernetes contiene e gestisce gli account del servizio. Le credenziali dell'account del servizio vengono archiviate come segreti Kubernetes, consentendo loro di essere usate dai pod autorizzati per comunicare con il server API. La maggior parte delle richieste API crea un token di autenticazione per un account del servizio o un account utente normale.

Gli account utente normali consentono l'accesso più tradizionale ad amministratori o sviluppatori, non solo a servizi e processi. Sebbene Kubernetes non fornisca una soluzione di gestione delle identità per archiviare gli account utente e le password normali, è possibile integrare soluzioni di gestione delle identità esterne in Kubernetes. Per i cluster del servizio Azure Kubernetes, questa soluzione di gestione delle identità integrata è Microsoft Entra ID.

Per altre informazioni sulle opzioni di gestione delle identità in Kubernetes, vedere Kubernetes authentication (Autenticazione di Kubernetes).

Controllo dell'accesso basato sui ruoli di Azure

Il controllo degli accessi in base al ruolo di Azure è un sistema di autorizzazione basato su Azure Resource Manager che offre una gestione degli accessi granulare delle risorse di Azure.

Sistema controllo degli accessi in base al ruolo Descrizione
Controllo degli accessi in base al ruolo di Kubernetes Progettato per lavorare sulle risorse Kubernetes all'interno del cluster del servizio Azure Kubernetes.
Controllo degli accessi in base al ruolo di Azure Progettato per lavorare sulle risorse all'interno della sottoscrizione di Azure.

Con il controllo degli accessi in base al ruolo di Azure si crea una definizione del ruolo che indica le autorizzazioni da applicare. A questo punto si assegna un utente o un gruppo a questa definizione di ruolo tramite un'assegnazione di ruolo per un determinato ambito. L'ambito può essere una singola risorsa, un gruppo di risorse o una sottoscrizione.

Per altre informazioni, vedere Che cos'è il controllo degli accessi in base al ruolo di Azure?

Per gestire completamente un cluster del servizio Azure Kubernetes sono necessari due livelli di accesso:

Controllo degli accessi in base al ruolo di Azure per autorizzare l'accesso alla risorsa del servizio Azure Kubernetes

Con il controllo degli accessi in base al ruolo di Azure è possibile fornire agli utenti (o alle identità) l'accesso granulare alle risorse del servizio Azure Kubernetes in una o più sottoscrizioni. Ad esempio, è possibile usare il ruolo collaboratore servizio Azure Kubernetes per ridimensionare e aggiornare il cluster. Nel frattempo, un altro utente con il ruolo di servizio Azure Kubernetes Cluster Amministrazione dispone solo dell'autorizzazione per eseguire il pull del Amministrazione kubeconfig.

Usare il controllo degli accessi in base al ruolo di Azure per definire l'accesso al file di configurazione kubernetes nel servizio Azure Kubernetes.

Controllo degli accessi in base al ruolo di Azure per l'autorizzazione di Kubernetes

Con l'integrazione del controllo degli accessi in base al ruolo di Azure, il servizio Azure Kubernetes userà un server webhook di autorizzazione Kubernetes per gestire le autorizzazioni e le assegnazioni di risorse del cluster Kubernetes integrate di Microsoft Entra usando la definizione e le assegnazioni di ruolo di Azure.

Azure RBAC for Kubernetes authorization flow

Come illustrato nel diagramma precedente, quando si usa l'integrazione del controllo degli accessi in base al ruolo di Azure, tutte le richieste all'API Kubernetes seguiranno lo stesso flusso di autenticazione illustrato nella sezione integrazione di Microsoft Entra.

Se l'identità che effettua la richiesta esiste in Microsoft Entra ID, Azure eseguirà il team con il controllo degli accessi in base al ruolo di Kubernetes per autorizzare la richiesta. Se l'identità esiste all'esterno di Microsoft Entra ID (ad esempio, un account del servizio Kubernetes), l'autorizzazione rinvierà al normale controllo degli accessi in base al ruolo di Kubernetes.

In questo scenario si usano meccanismi e API di Controllo degli accessi in base al ruolo di Azure per assegnare agli utenti ruoli predefiniti o creare ruoli personalizzati, proprio come si farebbe con i ruoli Kubernetes.

Con questa funzionalità, non solo si assegnano agli utenti le autorizzazioni per la risorsa servizio Azure Kubernetes tra sottoscrizioni, ma si configurano anche il ruolo e le autorizzazioni per all'interno di ognuno di questi cluster che controllano l'accesso all'API Kubernetes. Ad esempio, è possibile concedere il Azure Kubernetes Service RBAC Reader ruolo nell'ambito della sottoscrizione. Il destinatario del ruolo sarà in grado di elencare e ottenere tutti gli oggetti Kubernetes da tutti i cluster senza modificarli.

Importante

È necessario abilitare il controllo degli accessi in base al ruolo di Azure per l'autorizzazione Kubernetes prima di usare questa funzionalità. Per altre informazioni dettagliate e indicazioni dettagliate, seguire la guida pratica Usare il controllo degli accessi in base al ruolo di Azure per l'autorizzazione kubernetes.

Ruoli predefiniti

Il servizio Azure Kubernetes fornisce i quattro ruoli predefiniti seguenti. Sono simili ai ruoli predefiniti di Kubernetes con alcune differenze, ad esempio il supporto dei CRL. Vedere l'elenco completo delle azioni consentite da ogni ruolo predefinito di Azure.

Ruolo Descrizione
Ruolo con autorizzazioni di lettura per il Controllo degli accessi in base al ruolo del servizio Azure Kubernetes Consente l'accesso in sola lettura per visualizzare la maggior parte degli oggetti in uno spazio dei nomi.
Non consente la visualizzazione di ruoli o associazioni di ruolo.
Non consente la visualizzazione Secretsdi . La lettura del Secrets contenuto consente l'accesso alle ServiceAccount credenziali nello spazio dei nomi, che consente l'accesso all'API come qualsiasi ServiceAccount nello spazio dei nomi (una forma di escalation dei privilegi).
Ruolo con autorizzazioni di scrittura per il Controllo degli accessi in base al ruolo del servizio Azure Kubernetes Consente l'accesso in lettura/scrittura alla maggior parte degli oggetti in uno spazio dei nomi.
Non consente la visualizzazione o la modifica di ruoli o associazioni di ruoli.
Consente l'accesso e l'esecuzione Secrets di pod come qualsiasi ServiceAccount nello spazio dei nomi, in modo che possa essere usato per ottenere i livelli di accesso api di qualsiasi ServiceAccount nello spazio dei nomi.
Amministratore del Controllo degli accessi in base al ruolo del servizio Azure Kubernetes Consente l'accesso amministratore, destinato a essere concesso all'interno di uno spazio dei nomi.
Consente l'accesso in lettura/scrittura alla maggior parte delle risorse in uno spazio dei nomi (o ambito del cluster), inclusa la possibilità di creare ruoli e associazioni di ruolo all'interno dello spazio dei nomi.
Non consente l'accesso in scrittura alla quota di risorse o allo spazio dei nomi stesso.
Amministratore dei cluster del Controllo degli accessi in base al ruolo del servizio Azure Kubernetes Consente all'utente con privilegi avanzati di eseguire qualsiasi azione su qualsiasi risorsa.
Fornisce il controllo completo su ogni risorsa nel cluster e in tutti gli spazi dei nomi.

Integrazione di Microsoft Entra

Migliorare la sicurezza del cluster del servizio Azure Kubernetes con l'integrazione di Microsoft Entra. Basato su decenni di gestione delle identità aziendali, Microsoft Entra ID è un servizio di gestione delle identità e directory multi-tenant basato sul cloud che combina i servizi directory principali, la gestione degli accessi alle applicazioni e la protezione delle identità. Con Microsoft, è possibile integrare le identità locali nei cluster del servizio Azure Kubernetes per offrire una singola origine per la gestione e la sicurezza degli account.

Microsoft Entra integration with AKS clusters

Con i cluster del servizio Azure Kubernetes integrati in Microsoft Entra, è possibile concedere a utenti o gruppi l'accesso alle risorse di Kubernetes all'interno di uno spazio dei nomi o tra i cluster.

  1. Per ottenere un kubectl contesto di configurazione, un utente esegue il comando az aks get-credentials .
  2. Quando un utente interagisce con il cluster del servizio Azure Kubernetes con kubectl, viene richiesto di accedere con le credenziali di Microsoft Entra.

Questo approccio offre un'unica origine per la gestione degli account utente e le credenziali della password. L'utente può accedere solo alle risorse come definito dall'amministratore del cluster.

L'autenticazione Di Microsoft Entra viene fornita ai cluster del servizio Azure Kubernetes con OpenID Connessione. OpenID Connect è un livello di gestione delle identità basato sul protocollo OAuth 2.0. Per altre informazioni su OpenID Connessione, vedere la documentazione di OpenID Connessione. Dall'interno del cluster Kubernetes viene usata l'autenticazione del token webhook per verificare i token di autenticazione. L'autenticazione del token del webhook viene configurata e gestita come parte del cluster servizio Azure Kubernetes.

Webhook e server API

Webhook and API server authentication flow

Come illustrato nell'immagine precedente, il server API chiama il server webhook del servizio Azure Kubernetes ed esegue i passaggi seguenti:

  1. kubectl usa l'applicazione client Microsoft Entra per consentire agli utenti di accedere con il flusso di concessione dell'autorizzazione del dispositivo OAuth 2.0.
  2. Microsoft Entra ID fornisce un access_token, un id_token e un refresh_token.
  3. L'utente effettua una richiesta a kubectl con un access_token da kubeconfig.
  4. kubectl invia il access_token al server API.
  5. Il server API è configurato con il server webhook di autenticazione per eseguire la convalida.
  6. Il server webhook di autenticazione conferma che la firma del token Web JSON è valida controllando la chiave di firma pubblica di Microsoft Entra.
  7. L'applicazione server usa le credenziali fornite dall'utente per eseguire query sulle appartenenze ai gruppi dell'utente connesso dall'API Microsoft Graph.
  8. Una risposta viene inviata al server API con informazioni sull'utente, ad esempio l'attestazione UPN (User Principal Name) del token di accesso e l'appartenenza al gruppo dell'utente in base all'ID oggetto.
  9. L'API esegue una decisione di autorizzazione basata sul ruolo Kubernetes/RoleBinding.
  10. Dopo l'autorizzazione, il server API restituisce una risposta a kubectl.
  11. kubectl fornisce commenti e suggerimenti all'utente.

Informazioni su come integrare il servizio Azure Kubernetes con Microsoft Entra ID con la guida pratica per l'integrazione di Microsoft Entra gestita dal servizio Azure Kubernetes.

Autorizzazioni del servizio Azure Kubernetes

Quando si crea un cluster, il servizio Azure Kubernetes genera o modifica le risorse necessarie , ad esempio le macchine virtuali e le schede di interfaccia di rete, per creare ed eseguire il cluster per conto dell'utente. Questa identità è distinta dall'autorizzazione di identità del cluster, creata durante la creazione del cluster.

Identità che crea e opera le autorizzazioni del cluster

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

Autorizzazione Motivo
Microsoft.Compute/diskEncryptionSets/read Obbligatorio per leggere l'ID del set di crittografia del disco.
Microsoft.Compute/proximityPlacementGroups/write Obbligatorio per aggiornare i gruppi di posizionamento di prossimità.
Microsoft.Network/applicationGateways/read
Microsoft.Network/applicationGateways/write
Microsoft.Network/virtualNetworks/subnets/join/action
Obbligatorio per configurare i gateway applicazione e aggiungere la subnet.
Microsoft.Network/virtualNetworks/subnets/join/action Necessario 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 Load Balancer Standard.
Microsoft.OperationalInsights/workspaces/sharedkeys/read
Microsoft.OperationalInsights/workspaces/read
Microsoft.OperationsManagement/solutions/write
Microsoft.OperationsManagement/solutions/read
Microsoft.ManagedIdentity/userAssignedIdentities/assign/action
Obbligatorio per creare e aggiornare le aree di lavoro Log Analytics e il monitoraggio di Azure per i contenitori.
Microsoft.Network/virtualNetworks/joinLoadBalancer/action Obbligatorio per configurare i pool back-end del servizio di bilanciamento del carico basati su IP.

Autorizzazioni di identità del cluster del servizio Azure Kubernetes

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 Motivo
Microsoft.ContainerService/managedClusters/*
Obbligatorio per la creazione di utenti e il funzionamento del cluster
Microsoft.Network/loadBalancers/delete
Microsoft.Network/loadBalancers/read
Microsoft.Network/loadBalancers/write
Necessario per configurare il servizio di bilanciamento del carico per un servizio LoadBalancer.
Microsoft.Network/publicIPAddresses/delete
Microsoft.Network/publicIPAddresses/read
Microsoft.Network/publicIPAddresses/write
Obbligatorio per trovare e configurare indirizzi IP pubblici per un servizio LoadBalancer.
Microsoft.Network/publicIPAddresses/join/action Obbligatorio per la configurazione di indirizzi IP pubblici per un servizio LoadBalancer.
Microsoft.Network/networkSecurityGroups/read
Microsoft.Network/networkSecurityGroups/write
Obbligatorio 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
Obbligatorio per configurare AzureDisks.
Microsoft.Storage/storageAccounts/delete
Microsoft.Storage/storageAccounts/listKeys/action
Microsoft.Storage/storageAccounts/read
Microsoft.Storage/storageAccounts/write
Microsoft.Storage/operations/read
Obbligatorio 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
Obbligatorio per configurare le tabelle di route e le route per i nodi.
Microsoft.Compute/virtualMachines/read Obbligatorio per trovare informazioni per le macchine virtuali in una VMAS, ad esempio zone, dominio di errore, dimensioni e dischi dati.
Microsoft.Compute/virtualMachines/write Necessario 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
Obbligatorio 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 Necessario 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 set di scalabilità di macchine virtuali a pool di indirizzi back-end del servizio di bilanciamento del carico e nodi di scalabilità orizzontale in un set di scalabilità di macchine virtuali.
Microsoft.Compute/virtualMachineScaleSets/delete Necessario 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 Necessario 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 Obbligatorio 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 Obbligatorio 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 Obbligatorio 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
Obbligatorio 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
Obbligatorio per configurare gli snapshot per AzureDisk.
Microsoft.Compute/locations/vmSizes/read
Microsoft.Compute/locations/operations/read
Obbligatorio per trovare le dimensioni delle macchine virtuali per trovare i limiti del volume di AzureDisk.

Autorizzazioni aggiuntive per l'identità del cluster

Quando si crea un cluster con attributi specifici, sono necessarie le autorizzazioni aggiuntive seguenti per l'identità del cluster. Poiché queste autorizzazioni non vengono assegnate automaticamente, è necessario aggiungerle all'identità del cluster dopo la creazione.

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

Accesso al nodo del servizio Azure Kubernetes

Per impostazione predefinita, l'accesso al nodo non è necessario per il servizio Azure Kubernetes. L'accesso seguente è necessario per il nodo se viene usato un componente specifico.

Accesso Motivo
kubelet Obbligatorio per concedere all'identità del servizio gestito l'accesso al Registro Azure Container.
http app routing Obbligatorio per l'autorizzazione di scrittura per "nome casuale".aksapp.io.
container insights Obbligatorio per concedere l'autorizzazione all'area di lavoro Log Analytics.

Riepilogo

Visualizzare la tabella per un riepilogo rapido del modo in cui gli utenti possono eseguire l'autenticazione a Kubernetes quando è abilitata l'integrazione di Microsoft Entra. In tutti i casi, la sequenza di comandi dell'utente è:

  1. Eseguire az login per eseguire l'autenticazione in Azure.

  2. Eseguire az aks get-credentials per scaricare le credenziali per il cluster in .kube/config.

  3. Eseguire kubectl i comandi.

    • Il primo comando può attivare l'autenticazione basata su browser per l'autenticazione nel cluster, come descritto nella tabella seguente.

Nella portale di Azure è possibile trovare:

  • La concessione di ruolo (concessione di ruolo di Azure RBAC) a cui si fa riferimento nella seconda colonna viene visualizzata nella scheda Controllo di accesso.
  • Il gruppo Cluster Amministrazione Microsoft Entra viene visualizzato nella scheda Configurazione.
    • Trovato anche con il nome --aad-admin-group-object-ids del parametro nell'interfaccia della riga di comando di Azure.
Descrizione Concessione di ruolo richiesta Amministratore del cluster Microsoft Entra group(s) Quando utilizzarlo
Account di accesso amministratore legacy con certificato client servizio Azure Kubernetes Amministrazione ruolo. Questo ruolo consente di az aks get-credentials usare con il --admin flag , che scarica un certificato di amministratore del cluster legacy (non Microsoft Entra) nell'oggetto dell'utente .kube/config. Questo è l'unico scopo di "Azure Kubernetes Amministrazione Role". n/d Se non si ha accesso a un gruppo Microsoft Entra valido con accesso al cluster in modo permanente.
ID Microsoft Entra con manual (Cluster)RoleBindings servizio Azure Kubernetes ruolo utente cluster. Il ruolo "Utente" consente di az aks get-credentials essere usato senza il --admin flag . Questo è l'unico scopo di "ruolo utente cluster servizio Azure Kubernetes".) Il risultato, in un cluster abilitato per Microsoft Entra ID, è il download di una voce vuota in .kube/config, che attiva l'autenticazione basata su browser quando viene usata per la prima volta da kubectl. L'utente non si trova in nessuno di questi gruppi. Poiché l'utente non si trova in alcun cluster Amministrazione gruppi, i relativi diritti verranno controllati interamente da qualsiasi RoleBindings o ClusterRoleBindings configurato dagli amministratori del cluster. I (Cluster)RoleBindings nominano gli utenti di Microsoft Entra o i gruppi di Microsoft Entra come .subjects Se non sono state configurate associazioni di questo tipo, l'utente non sarà in grado di estrarre alcun kubectl comando. Se si vuole un controllo di accesso granulare e non si usa il controllo degli accessi in base al ruolo di Azure per l'autorizzazione kubernetes. Si noti che l'utente che configura le associazioni deve accedere con uno degli altri metodi elencati in questa tabella.
ID Microsoft Entra per membro del gruppo di amministrazione Vedere sopra. L'utente è membro di uno dei gruppi elencati qui. Il servizio Azure Kubernetes genera automaticamente un clusterRoleBinding che associa tutti i gruppi elencati al cluster-admin ruolo Kubernetes. Gli utenti di questi gruppi possono quindi eseguire tutti i kubectl comandi come cluster-admin. Se si vogliono concedere agli utenti diritti di amministratore completi e non si usano il controllo degli accessi in base al ruolo di Azure per l'autorizzazione Kubernetes.
MICROSOFT Entra ID con controllo degli accessi in base al ruolo di Azure per l'autorizzazione kubernetes Due ruoli:
In primo luogo, servizio Azure Kubernetes ruolo utente cluster (come sopra).
In secondo luogo, uno dei "servizio Azure Kubernetes controllo degli accessi in base al ruolo..." ruoli elencati in precedenza o un'alternativa personalizzata.
Il campo Ruoli di amministratore nella scheda Configurazione è irrilevante quando è abilitato il controllo degli accessi in base al ruolo di Azure per l'autorizzazione kubernetes. Si usa il controllo degli accessi in base al ruolo di Azure per l'autorizzazione kubernetes. Questo approccio offre un controllo con granularità fine, senza la necessità di configurare RoleBindings o ClusterRoleBindings.

Passaggi successivi

Per altre informazioni sui concetti fondamentali di Kubernetes e del servizio Azure Kubernetes, vedere gli articoli seguenti: