Controllo dell'accesso basato sui ruoli

Kf fornisce un insieme di ruoli Kubernetes che consentono a più team di condividere un cluster Kf. Questa pagina descrive i ruoli e le best practice da seguire quando li utilizzi.

Quando utilizzare i ruoli di Knowledge Fusion

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 di Knowledge Fusion per condividere l'accesso a un cluster se:

  • 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 sottoposto a controlli rigorosi.

I ruoli di Knowledge Fusion non:

Ruoli kf

Le sezioni seguenti descrivono i ruoli RBAC di Kubernetes forniti da Kf e come interagiscono con IAM di Google Kubernetes Engine (GKE).

Ruoli predefiniti

Kf fornisce diversi ruoli Kubernetes predefiniti per aiutarti a fornire l'accesso a diversi soggetti che svolgono 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 a livello di cluster. Kf controlla le modifiche agli oggetti nello spazio dei nomi e concede ruoli aggiuntivi e limitati a livello di cluster.

Ruolo Titolo Descrizione Ambito
space-auditor Space Auditor Consente l'accesso di sola lettura a uno spazio. Spazio
space-developer Sviluppatore di spazi 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 revisori, sviluppatori e gestori in uno spazio. Spazio
SPACE_NAME-manager Gestore dello spazio dinamico Fornisce l'accesso in scrittura a un singolo oggetto Spazio, 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 a livello di cluster, concesso automaticamente a tutti gli utenti space-auditor, space-developer e space-manager. Cluster

Puoi trovare informazioni sulle regole dei criteri che compongono ciascun ruolo predefinito nella documentazione di riferimento sui ruoli del team di assistenza.

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 autenticarsi nel cluster:

  • Agli amministratori della piattaforma deve essere concesso il ruolo IAM roles/container.admin. In questo modo, potranno installare, eseguire l'upgrade ed eliminare Kf, nonché creare ed eliminare oggetti Kf a livello di cluster come Spaces o ClusterServiceBrokers.

  • Agli utenti finali di Knowledge Fusion deve essere concesso il ruolo IAM roles/container.viewer. Questo ruolo consentirà all'utente di autenticarsi in un cluster con autorizzazioni limitate che possono essere estese utilizzando i ruoli Kf.

IAM offre ruoli predefiniti aggiuntivi per GKE per risolvere casi d'uso più avanzati:

Role Title Description Lowest resource
roles/container.admin 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/iam.serviceAccountUser) on the user-managed service account that your nodes will use.

  • Project
roles/container.cloudKmsKeyUser 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/container.clusterAdmin 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/iam.serviceAccountUser) on the user-managed service account that your nodes will use.

  • Project
roles/container.clusterViewer Kubernetes Engine Cluster Viewer

Provides access to get and list GKE clusters.

roles/container.defaultNodeServiceAccount Kubernetes Engine Default Node Service Account Least privilege role to use as the default service account for GKE Nodes.
roles/container.developer Kubernetes Engine Developer

Provides access to Kubernetes API objects inside clusters.

  • Project
roles/container.hostServiceAgentUser 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/container.viewer Kubernetes Engine Viewer

Provides read-only access to resources within GKE clusters, such as nodes, pods, and GKE API objects.

  • Project

Mappatura dei ruoli Cloud Foundry a Kf

Cloud Foundry fornisce ruoli simili ai ruoli predefiniti di Kf. Cloud Foundry ha 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 accesso granulare alle risorse dell'API.

Ruoli UAA

I ruoli forniti da UAA sono più simili ai ruoli IAM basati sul progetto:

  • Gli utenti Amministratore in Cloud Foundry possono eseguire attività amministrative per tutte le organizzazioni e gli spazi Cloud Foundry. Il ruolo è molto simile al ruolo IAM roles/container.admin.
  • Gli utenti amministratori di sola lettura in Cloud Foundry possono accedere a tutti gli endpoint dell'API Cloud Foundry. Il ruolo è molto simile al ruolo IAM roles/container.admin.
  • Gli utenti Auditore globale in Cloud Foundry hanno accesso in lettura a tutti gli endpoint dell'API Cloud Foundry, ad eccezione dei secret. Non esiste un ruolo IAM equivalente, ma puoi creare un ruolo personalizzato con autorizzazioni simili.

Ruoli dell'API Cloud Controller

I ruoli forniti da CAPI sono molto simili ai ruoli di Kf concessi all'interno di un cluster a soggetti che dispongono del ruolo IAM roles/container.viewer nel progetto proprietario:

  • Gli auditor dello spazio in Cloud Foundry hanno accesso in lettura alle risorse di uno spazio CF. Il ruolo è più simile al ruolo space-auditor Kf.
  • 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 space-developer Kf.
  • I gestori dello spazio in Cloud Foundry possono modificare le impostazioni dello spazio CF e assegnare gli utenti ai ruoli. Il ruolo è più simile al ruolo space-manager Kf.

Passaggi successivi