Controllo dell'accesso


Quando crei un progetto Google Cloud, sei l'unico utente del progetto. Di per impostazione predefinita, nessun altro utente ha accesso al tuo progetto o alle sue risorse, inclusi alle risorse di Google Kubernetes Engine (GKE). GKE supporta opzioni per gestire l'accesso alle risorse all'interno del progetto e dei relativi cluster usando controllo dell'accesso basato sui ruoli (RBAC, Role-Based Access Control).

Questi meccanismi presentano alcune sovrapposizioni funzionali, ma sono rivolti a diverse tipi di risorse. Ciascuna è descritta nella sezione di seguito, ma brevemente:

  • Kubernetes RBAC è integrato in Kubernetes e garantisce dati autorizzazioni agli oggetti all'interno dei cluster Kubernetes. Le autorizzazioni esistono come oggetti ClusterRole o Role all'interno del cluster. Concessione degli oggetti RoleBinding Ruoli per utenti Kubernetes, utenti Google Cloud, IAM account di servizio Google Gruppi

    Se usi principalmente GKE e hai bisogno di autorizzazioni granulari per ogni oggetto e operazione all'interno del tuo cluster, Kubernetes RBAC è è la scelta migliore.

  • IAM gestisce le risorse Google Cloud, tra cui cluster e tipi di oggetti all'interno dei cluster. Le autorizzazioni sono assegnate a Entità IAM.

    Non esiste un meccanismo per concedere autorizzazioni per oggetti Kubernetes specifici all'interno di IAM. Ad esempio, puoi concedere a un utente l'autorizzazione creare CustomResourceDefinitions (CRD), ma non puoi concedere all'utente l'autorizzazione a creare un solo limite o una definizione la creazione in uno spazio dei nomi specifico o in un cluster specifico nel progetto. Un ruolo IAM concede privilegi a tutti i cluster in progetto o in tutti i cluster di tutti i progetti figlio, se il ruolo viene applicato a livello di cartella.

    Se utilizzi più componenti Google Cloud e non hai bisogno di gestire autorizzazioni granulari specifiche per Kubernetes, IAM è una buona scelta.

Kubernetes RBAC

Kubernetes offre il supporto integrato per RBAC, che consente di creare Ruoli esistenti all'interno del cluster Kubernetes. Un ruolo può avere come ambito un oggetto Kubernetes specifico o un tipo di oggetto Kubernetes e definisce azioni (chiamate verbi) concessi dal Ruolo in relazione all'oggetto. un'associazione dei ruoli è anch'esso un oggetto Kubernetes e assegna ruoli agli utenti. R L'utente GKE può essere:

  • Utente Google Cloud
  • Account di servizio IAM
  • Account di servizio Kubernetes
  • Utente di Google Workspace
  • Gruppo Google di Google Workspace
  • Utenti autenticati mediante certificati client X509

Per saperne di più, consulta: Controllo degli accessi basato sui ruoli.

IAM

IAM ti consente di concedere i ruoli a entità. Un ruolo è un raccolta di autorizzazioni e, quando viene concesso a un'entità, controlla l'accesso una o più risorse di Google Cloud. Tu possono utilizzare i seguenti tipi di ruoli:

Un'entità può essere una delle seguenti:

  • Account utente
  • Account di servizio
  • Gruppo Google di Google Workspace
  • Dominio Google Workspace
  • Dominio Cloud Identity

Tipi di criteri IAM

IAM supporta i seguenti tipi di criteri:

  • Consenti criteri: concedi ruoli alle entità. Per maggiori dettagli, vedi Criterio di autorizzazione.
  • Criteri di negazione: impedisci alle entità di utilizzare IAM specifici autorizzazioni indipendentemente dai ruoli concessi a quelle entità. Per vedi Criteri di negazione.

Utilizza i criteri di negazione per impedire a entità specifiche di eseguire specifiche di azioni nel progetto, nella cartella o nell'organizzazione, anche se è un IAM il criterio concede a queste entità un ruolo contenente i autorizzazioni aggiuntive.

Suggerimenti IAM

Prendi in considerazione l'utilizzo dei seguenti ruoli IAM predefiniti per facilitare di scenari comuni:

Per un elenco dei ruoli IAM predefiniti disponibili, consulta ai ruoli GKE predefiniti.

Inoltre, valuta la possibilità di creare un account di servizio IAM personalizzato i nodi da utilizzare al posto dell'account di servizio predefinito di Compute Engine. Concedi all'account di servizio personalizzato le autorizzazioni minime necessarie per per il corretto funzionamento di GKE. Per istruzioni, vedi Utilizza account di servizio IAM con privilegi minimi.

Interazione IAM con RBAC di Kubernetes

IAM e Kubernetes RBAC lavorano insieme per aiutare a gestire l'accesso nel tuo cluster. RBAC controlla l'accesso a livello di cluster e spazio dei nomi, mentre IAM funziona a livello di progetto. Un'entità deve avere un numero sufficiente di di autorizzazioni a entrambi i livelli per lavorare con le risorse nel tuo cluster.

Passaggi successivi