Controllo degli accessi in base al ruolo kubernetes nel dispositivo AZURE Stack Edge Pro GPU
SI APPLICA A:Azure Stack Edge Pro - GPUAzure Stack Edge Pro 2Azure Stack Edge Pro RAzure Stack Edge Mini R
Nel dispositivo Azure Stack Edge Pro, quando si configura il ruolo di calcolo, viene creato un cluster Kubernetes. È possibile usare il controllo degli accessi in base al ruolo di Kubernetes per limitare l'accesso alle risorse del cluster nel dispositivo.
Questo articolo offre una panoramica del sistema di controllo degli accessi in base al ruolo di Kubernetes fornito da Kubernetes e come viene implementato il controllo degli accessi in base al ruolo di Kubernetes nel dispositivo Azure Stack Edge Pro.
Controllo degli accessi in base al ruolo di Kubernetes
Il controllo degli accessi in base al ruolo di Kubernetes consente di assegnare utenti o gruppi di utenti, l'autorizzazione per eseguire operazioni come creare o modificare risorse o visualizzare i log dall'esecuzione dei carichi di lavoro dell'applicazione. Queste autorizzazioni possono essere assegnate a un singolo spazio dei nomi o concesse nell'intero cluster.
Quando si configura il cluster Kubernetes, viene creato un singolo utente corrispondente a questo cluster e viene chiamato utente amministratore del cluster. Un kubeconfig
file è associato all'utente amministratore del cluster. Il kubeconfig
file è un file di testo che contiene tutte le informazioni di configurazione necessarie per connettersi al cluster per autenticare l'utente.
Tipi di spazi dei nomi
Le risorse Kubernetes, ad esempio pod e distribuzioni, vengono raggruppate logicamente in uno spazio dei nomi. Questi raggruppamenti consentono di dividere logicamente un cluster Kubernetes e limitare l'accesso per creare, visualizzare o gestire le risorse. Gli utenti possono interagire solo con le risorse all'interno degli spazi dei nomi assegnati.
Gli spazi dei nomi sono destinati all'uso in ambienti con molti utenti distribuiti in più team o progetti. Per altre informazioni, vedere Spazi dei nomi di Kubernetes.
Il dispositivo Azure Stack Edge Pro include gli spazi dei nomi seguenti:
Spazio dei nomi di sistema: questo spazio dei nomi è la posizione in cui sono presenti risorse principali, ad esempio funzionalità di rete come DNS e proxy o il dashboard di Kubernetes. In genere non si distribuiscono le proprie applicazioni in questo spazio dei nomi. Usare questo spazio dei nomi per eseguire il debug di eventuali problemi del cluster Kubernetes.
Nel dispositivo sono presenti più spazi dei nomi di sistema e i nomi corrispondenti a questi spazi dei nomi di sistema sono riservati. Di seguito è riportato un elenco degli spazi dei nomi di sistema riservati:
- kube-system
- metallb-system
- dbe-namespace
- default
- kubernetes-dashboard
- kube-node-lease
- kube-public
Assicurarsi di non usare nomi riservati per gli spazi dei nomi utente creati.
Spazio dei nomi utente: si tratta degli spazi dei nomi che è possibile creare tramite kubectl o tramite l'interfaccia di PowerShell del dispositivo per distribuire localmente le applicazioni.
Spazio dei nomi IoT Edge: connettersi a questo
iotedge
spazio dei nomi per gestire le applicazioni distribuite tramite IoT Edge.Spazio dei nomi di Azure Arc: connettersi a questo
azure-arc
spazio dei nomi per gestire le applicazioni distribuite tramite Azure Arc. Con Azure Arc è anche possibile distribuire applicazioni in altri spazi dei nomi utente.
Spazi dei nomi e utenti
Nel mondo reale è importante dividere il cluster in più spazi dei nomi.
- Più utenti: se si hanno più utenti, più spazi dei nomi consentiranno agli utenti di distribuire le applicazioni e i servizi nei rispettivi spazi dei nomi specifici in isolamento uno dall'altro.
- Utente singolo: anche se è presente un singolo utente, più spazi dei nomi consentono all'utente di eseguire più versioni delle applicazioni nello stesso cluster Kubernetes.
Roles e RoleBindings
Kubernetes ha il concetto di ruolo e associazione di ruoli che consente di concedere autorizzazioni a livello di utente o risorse a livello di spazio dei nomi e a livello di cluster.
- Ruoli: è possibile definire le autorizzazioni per gli utenti come ruolo e quindi usare Ruoli per concedere le autorizzazioni all'interno di uno spazio dei nomi.
- RoleBindings: dopo aver definito i ruoli, è possibile usare RoleBindings per assegnare ruoli per uno spazio dei nomi specificato.
Questo approccio consente di separare logicamente un singolo cluster Kubernetes, con gli utenti in grado di accedere solo alle risorse dell'applicazione nello spazio dei nomi assegnato.
Controllo degli accessi in base al ruolo di Kubernetes in Azure Stack Edge Pro
Nell'implementazione corrente del controllo degli accessi in base al ruolo di Kubernetes, Azure Stack Edge Pro consente di eseguire le azioni seguenti da uno spazio di esecuzione di PowerShell limitato:
- Creare spazi dei nomi.
- Creare altri utenti.
- Concedere all'amministratore l'accesso agli spazi dei nomi creati. Tenere presente che non si avrà accesso al ruolo di amministratore del cluster o a una visualizzazione delle risorse a livello di cluster.
- Ottenere
kubeconfig
un file con informazioni per accedere al cluster Kubernetes.
Il dispositivo Azure Stack Edge Pro include più spazi dei nomi di sistema ed è possibile creare spazi dei nomi utente con kubeconfig
file per accedere a tali spazi dei nomi. Gli utenti hanno il controllo completo su questi spazi dei nomi e possono creare o modificare gli utenti o concedere l'accesso agli utenti. Solo l'amministratore del cluster ha accesso completo agli spazi dei nomi di sistema e alle risorse a livello di cluster. Un oggetto aseuser
ha accesso in sola lettura agli spazi dei nomi di sistema.
Di seguito è riportato un diagramma che illustra l'implementazione del controllo degli accessi in base al ruolo di Kubernetes nel dispositivo Azure Stack Edge Pro.
In questo diagramma Alice, Bob e Chuck hanno accesso solo agli spazi dei nomi utente assegnati, che in questo caso sono ns1
rispettivamente , ns2
e ns3
. All'interno di questi spazi dei nomi, hanno accesso amministratore. L'amministratore del cluster ha invece accesso amministratore agli spazi dei nomi di sistema e alle risorse a livello di cluster.
Gli utenti possono creare spazi dei nomi e utenti, assegnare utenti agli spazi dei nomi o scaricare kubeconfig
file. Per istruzioni dettagliate, vedere Accedere al cluster Kubernetes tramite kuebctl in Azure Stack Edge Pro.
Quando si lavora con spazi dei nomi e utenti nei dispositivi Azure Stack Edge Pro, si applicano le avvertenze seguenti:
- Non è consentito eseguire alcuna operazione, ad esempio creare utenti, concedere o revocare l'accesso allo spazio dei nomi all'utente, per uno qualsiasi degli spazi dei nomi di sistema. Esempi di spazi dei nomi di sistema includono
kube-system
,metallb-system
,kubernetes-dashboard
,default
,kube-node-lease
,kube-public
. Gli spazi dei nomi di sistema includono anche gli spazi dei nomi riservati per i tipi di distribuzione, adiotedge
esempio (spazio dei nomi IoT Edge) eazure-arc
(spazio dei nomi Di Azure Arc). - È possibile creare spazi dei nomi utente e all'interno di tali spazi dei nomi creare altri utenti e concedere o revocare l'accesso allo spazio dei nomi a tali utenti.
- Non è consentito creare spazi dei nomi con nomi identici a quelli per qualsiasi spazio dei nomi di sistema. I nomi per gli spazi dei nomi di sistema sono riservati.
- Non è consentito creare spazi dei nomi utente con nomi già in uso da altri spazi dei nomi utente. Ad esempio, se è stato creato un oggetto
test-ns
, non è possibile creare un altrotest-ns
spazio dei nomi. - Non è consentito creare utenti con nomi già riservati. Ad esempio,
aseuser
è un utente riservato e non può essere usato.
Passaggi successivi
Per informazioni su come creare un utente, creare uno spazio dei nomi e concedere all'utente l'accesso allo spazio dei nomi, vedere Accedere a un cluster Kubernetes tramite kubectl.