Kf fornisce un insieme di ruoli Kubernetes che consentono a più team di condividere un cluster Kf. In questa pagina vengono descritti i ruoli e le best practice da seguire per il loro utilizzo.
Quando utilizzare i ruoli Kf
I ruoli Kf consentono a più team di condividere un cluster Kubernetes con Kf installato. I ruoli forniscono l'accesso ai singoli spazi Kf.
Utilizza i ruoli Kf per condividere l'accesso a un cluster se si verificano le seguenti condizioni:
- Il cluster è utilizzato da team attendibili.
- I carichi di lavoro sul cluster condividono le stesse ipotesi sul livello di sicurezza fornito dall'ambiente.
- Il cluster esiste in un progetto Google Cloud strettamente controllato.
I ruoli Kf non:
- Proteggi il tuo cluster da sviluppatori o carichi di lavoro non attendibili. Per ulteriori informazioni, consulta il modello di responsabilità condivisa di GKE.
- Isolamento dei carichi di lavoro. Per ulteriori informazioni, consulta la guida alla protezione del cluster.
- Impedisce la definizione di ruoli Kubernetes aggiuntivi che interagiscono con Kf.
- Impedisci l'accesso agli amministratori che hanno accesso al progetto o al cluster Google Cloud.
Ruoli Kf
Le seguenti sezioni descrivono i ruoli Kubernetes RBAC forniti da Kf e il modo in cui interagiscono con IAM di Google Kubernetes Engine (GKE).
Ruoli predefiniti
Kf offre vari ruoli Kubernetes predefiniti per aiutarti a fornire l'accesso a diversi soggetti con ruoli diversi. Ogni ruolo predefinito può essere associato a un soggetto all'interno di uno spazio dei nomi Kubernetes gestito da uno spazio Kf.
Quando un soggetto è associato a un ruolo all'interno di uno spazio dei nomi Kubernetes, il suo accesso è limitato agli oggetti esistenti nello spazio dei nomi che corrispondono alle concessioni elencate nel ruolo. In Kf, alcune risorse sono definite nell'ambito del cluster. Kf controlla le modifiche ai soggetti nello spazio dei nomi e concede ruoli aggiuntivi, limitati, nell'ambito del cluster.
Ruolo | Titolo | Descrizione | Ambito |
---|---|---|---|
space-auditor |
Revisore dello spazio | Consente l'accesso di sola lettura a uno spazio. | Spazio |
space-developer |
Sviluppatore dello spazio | Consente agli sviluppatori di applicazioni di eseguire il deployment e gestire le applicazioni all'interno di uno spazio. | Spazio |
space-manager |
Gestore dello spazio | Consente l'amministrazione e la possibilità di gestire i revisori, gli sviluppatori e i gestori in uno spazio. | Spazio |
SPACE_NAME-manager |
Gestore dello spazio dinamico | Fornisce l'accesso in scrittura a un singolo oggetto Space, concesso automaticamente a tutti i soggetti con il ruolo space-manager all'interno dello Spazio denominato. |
Cluster |
kf-cluster-reader |
Lettore cluster | Consente l'accesso di sola lettura agli oggetti Kf con ambito cluster, concesso automaticamente a tutti i criteri space-auditor , space-developer e space-manager . |
Cluster |
Per informazioni sulle regole dei criteri che compongono ogni ruolo predefinito, consulta la documentazione di riferimento sui ruoli Kf.
Ruoli IAM
I ruoli Kf forniscono il controllo dell'accesso agli oggetti all'interno di un cluster Kubernetes. Ai soggetti deve essere concesso anche un ruolo IAM per l'autenticazione nel cluster:
Agli amministratori di piattaforma deve essere concesso il ruolo IAM
roles/container.admin
. Ciò consentirà loro di installare, eseguire l'upgrade ed eliminare Kf, nonché di creare ed eliminare oggetti Kf con ambito cluster come Spazi o ClusterServiceBrokers.Agli utenti finali Kf deve essere concesso il ruolo IAM
roles/container.viewer
. Questo ruolo consentirà loro di eseguire l'autenticazione in un cluster con autorizzazioni limitate che possono essere espanse utilizzando i ruoli Kf.
IAM offre ruoli predefiniti aggiuntivi per GKE per risolvere casi d'uso più avanzati:
Role | Title | Description | Lowest resource |
---|---|---|---|
roles/ |
Kubernetes Engine Admin |
Provides access to full management of clusters and their Kubernetes API objects.
To set a service account on nodes, you must also have the Service Account User role
( |
|
roles/ |
Kubernetes Engine KMS Crypto Key User | Allow the Kubernetes Engine service agent in the cluster project to call KMS with user provided crypto keys to sign payloads. | |
roles/ |
Kubernetes Engine Cluster Admin |
Provides access to management of clusters.
To set a service account on nodes, you must also have the Service Account User role
( |
|
roles/ |
Kubernetes Engine Cluster Viewer |
Provides access to get and list GKE clusters. |
|
roles/ |
Kubernetes Engine Default Node Service Account | Least privilege role to use as the default service account for GKE Nodes. | |
roles/ |
Kubernetes Engine Developer |
Provides access to Kubernetes API objects inside clusters. |
|
roles/ |
Kubernetes Engine Host Service Agent User |
Allows the Kubernetes Engine service account in the host project to configure shared network resources for cluster management. Also gives access to inspect the firewall rules in the host project. |
|
roles/ |
Kubernetes Engine Viewer |
Provides read-only access to resources within GKE clusters, such as nodes, pods, and GKE API objects. |
|
Mappatura dei ruoli di Cloud Foundry a Kf
I ruoli forniti da Cloud Foundry sono simili ai ruoli predefiniti di Kf. Cloud Foundry prevede due tipi principali di ruoli:
- Ruoli assegnati dal sottosistema account utente e autenticazione (UAA) che forniscono ambiti OAuth granulari applicabili a tutti gli endpoint dell'API Cloud Foundry.
- Ruoli concessi all'interno dell'API Cloud Controller (CAPI) che forniscono un accesso granulare alle risorse API.
Ruoli UAA
I ruoli forniti da UAA sono più simili ai ruoli IAM con ambito di progetto:
- Gli amministratori di Cloud Foundry possono eseguire attività amministrative per tutti gli spazi e le organizzazioni Cloud Foundry. Il ruolo è più simile al ruolo IAM
roles/container.admin
. - Gli utenti amministratore di sola lettura in Cloud Foundry possono accedere a tutti gli endpoint dell'API Cloud Foundry. Il ruolo è più simile al ruolo IAM
roles/container.admin
. - Gli utenti revisore globale di Cloud Foundry hanno accesso in lettura a tutti gli endpoint dell'API Cloud Foundry, tranne i secret. Non esiste un ruolo IAM equivalente, ma puoi creare un ruolo personalizzato con autorizzazioni simili.
Ruoli API Cloud Controller
I ruoli forniti da CAPI sono più simili a quelli Kf concessi all'interno di un cluster ai soggetti che hanno il ruolo IAM roles/container.viewer
nel progetto proprietario:
- Gli auditor dello spazio in Cloud Foundry hanno accesso in lettura alle risorse in uno spazio CF.
Il ruolo è più simile al ruolo Kf
space-auditor
. - Gli sviluppatori di spazi in Cloud Foundry hanno la possibilità di eseguire il deployment e gestire le applicazioni in uno spazio CF.
Il ruolo è più simile al ruolo Kf
space-developer
. - I gestori dello spazio in Cloud Foundry possono modificare le impostazioni per lo spazio CF e assegnare gli utenti ai ruoli.
Il ruolo è più simile al ruolo Kf
space-manager
.
Passaggi successivi
- Scopri di più sulla sicurezza di GKE nella panoramica sulla sicurezza.
- Assicurati di comprendere il modello di responsabilità condivisa di GKE.
- Scopri di più sul controllo dell'accesso in GKE.
- Leggi la panoramica sull'architettura multi-tenancy di GKE.
- Scopri di più sulla protezione del cluster GKE.
- Comprendi le autorizzazioni Kubernetes che costituiscono ogni ruolo predefinito di Kf.