Panoramica
Il controllo degli accessi basato sui ruoli (RBAC) di Kubernetes è un tipo di gestione delle identità e degli accessi (IAM) basata su una serie di autorizzazioni o modelli che determinano gli utenti (soggetti) autorizzati a eseguire operazioni (verbi) in determinate aree (spazi dei nomi). RBAC è un'evoluzione del tradizionale controllo degli accessi basato su attributi (ABAC, Attribute-Based Access Control), che consente l'accesso in base al nome dell'utente anziché alle sue responsabilità.
Report 2021 sullo stato della sicurezza di Kubernetes
Scopri le iniziative per la sicurezza di Kubernetes (incluso Kubernetes RBAC) adottate dalle altre aziende.
Cos'è Kubernetes?
Kubernetes, anche noto come k8s o kube, è una piattaforma open source per l'orchestrazione dei container, che permette di automatizzare molti dei processi manuali necessari per il deployment, la gestione e la scalabilità delle applicazioni containerizzate.
I container Linux gestiti tramite Kubernetes offrono alle app basate su microservizi un'unità di deployment delle applicazioni ottimale e un ambiente di esecuzione autosufficiente. Inoltre, poiché i deployment Kubernetes sono scritti in YAML, il codice è leggibile dagli utenti.
Cosa sono i ruoli
I ruoli garantiscono vari livelli di accesso a pod e nodi. I ruoli possono essere autorizzati ad accedere a uno specifico gruppo di cluster che operano in sinergia, come un singolo carico di lavoro applicativo (in questo caso si parla semplicemente di ruoli), o a interi cluster (ovvero i ruoli cluster).
- I ruoli concedono un'autorizzazione a gruppi di cluster collegati virtualmente, noti come spazi dei nomi. I ruoli sono un tipo di risorsa con spazio dei nomi, perché l'accesso dell'utente a un carico di lavoro è determinato dai cluster inclusi nello spazio dei nomi specifico. I nomi di utenti, gruppi di utenti o account di servizio possono essere consolidati in un singolo ruolo, tramite le associazioni ai ruoli.
- I ruoli cluster concedono autorizzazioni a interi cluster, costituiti da gruppi formati da singoli nodi hardware. I ruoli cluster possono estendersi su diversi spazi dei nomi. Le associazioni ai ruoli cluster collegano un ruolo cluster a ogni singolo spazio dei nomi disponibile nel cluster. Ad esempio, il nome di ruolo Amministratore cluster dispone di accesso illimitato a tutti i cluster.
Le associazioni ai ruoli e le autorizzazioni dei ruoli cluster possono essere combinate e accumulate utilizzando i metadati. In questo modo, è possibile concedere le autorizzazioni definite in un ruolo cluster per le risorse incluse nello spazio dei nomi delle associazioni ai ruoli, permettendo di definire ruoli comuni all'interno di un cluster, che possono essere riutilizzati per spazi dei nomi diversi.
Funzionamento di Kubernetes RBAC
L'interfaccia di programmazione delle applicazioni (API) di Kubernetes è il front-end del piano di controllo Kubernetes. L'API Kubernetes comunica le interazioni con un computer o sistema allo scopo di recuperare informazioni o eseguire una funzione.
Kubernetes RBAC raccoglie le richieste correlate alle funzioni in gruppi di API che comunicano con i server API quando si connettono determinati ruoli agli endpoint API.
Per ulteriori informazioni sull'utilizzo di Kubernetes RBAC, inclusi la documentazione di Kubernetes, l'autenticazione rbac.authorization.k8s.io, lo strumento della riga di comando kubectl, i componenti aggiuntivi, il bootstrapping TLS dei kubelet e la configurazione delle policy di rete, leggi la documentazione su RBAC del progetto open source.
Perché scegliere le soluzioni Red Hat
Red Hat è stata fra le prime aziende al mondo a collaborare al progetto con il creatore di Kubernetes, Google, prima ancora che venisse lanciato. Da allora, è diventata il secondo collaboratore per importanza nel progetto Kubernetes upstream ed è stata fra le prime a commercializzare una piattaforma Kubernetes di livello enterprise.
Red Hat® OpenShift® è la versione enterprise di Kubernetes, che offre tutti i componenti aggiuntivi della tecnologia che aumentano la potenza e l'utilità di Kubernetes. Tali componenti includono, in particolare, connettività di rete, autenticazione, monitoraggio, sicurezza e automazione.
Diversamente dalle piattaforme di altri fornitori, che richiedono componenti proprietari e processi complicati, Red Hat OpenShift è una singola piattaforma integrata per i team operativi e di sviluppo, che convalida i famosi plug-in di storage e rete per Kubernetes e include soluzioni integrate di monitoraggio, registrazione e analisi.