Ruoli e autorizzazioni

Questa pagina fornisce informazioni sui ruoli e sulle autorizzazioni IAM (Identity and Access Management) e sul loro utilizzo con le istanze Cloud SQL.

Introduzione

Questa pagina si concentra sugli aspetti di IAM pertinenti specificatamente per Cloud SQL. Per una discussione dettagliata su IAM e sulle sue funzionalità in generale, consulta Gestione di identità e accessi. In particolare, consulta la sezione Gestione dei criteri IAM. IAM consente di controllare chi ha accesso alle risorse nel tuo progetto Google Cloud. L'insieme di regole di accesso che applichi a una risorsa è chiamato criterio IAM. Un criterio IAM applicato al tuo progetto definisce le azioni che gli utenti possono eseguire su tutte le risorse che ne fanno parte.

I membri sono "chi" di IAM. I membri possono essere singoli utenti, gruppi, domini o persino il pubblico nel suo insieme. Ai membri vengono assegnati ruoli, che conferiscono ai membri la possibilità di eseguire azioni in Cloud SQL e Google Cloud in modo più generale. Ogni ruolo è una raccolta di una o più autorizzazioni. Le autorizzazioni sono le unità di base di IAM: ogni autorizzazione consente di eseguire una determinata azione. Per gli elenchi completi di tutti i ruoli e le autorizzazioni disponibili in Cloud SQL, consulta Ruoli IAM in Cloud SQL e Autorizzazioni IAM in Cloud SQL.

Quando utilizzi un account per connetterti a un'istanza Cloud SQL, l'account deve avere il ruolo Client Cloud SQL (roles/cloudsql.client), che include le autorizzazioni necessarie per connettersi.

Puoi aggiungere ruoli a un account nella Console alla pagina IAM e amministrazione e IAM e vedere quali autorizzazioni appartengono ai ruoli nella pagina IAM e amministrazione e ruoli.

Cloud SQL utilizza gli account di servizio per l'autenticazione tra Cloud SQL e altri prodotti Google Cloud. Gli account di servizio forniscono credentials in formato JSON, che puoi scaricare dalla console e utilizzare per l'autenticazione in vari scenari.

ad esempio, la connessione da un'applicazione in esecuzione in un container Docker.

Ruoli e autorizzazioni di Cloud SQL con il proxy Cloud SQL Auth

Se ti colleghi a un'istanza Cloud SQL da un'istanza Compute Engine utilizzando il proxy Cloud Auth, puoi utilizzare l'account di servizio predefinito di Compute Engine associato all'istanza.

Come per tutti gli account che si connettono a un'istanza Cloud SQL, l'account di servizio deve avere il ruolo Cloud SQL > client.

Ruoli e autorizzazioni Cloud SQL con opzioni serverless

Le opzioni serverless di Google Cloud includono App Engine, Cloud Functions e Cloud Run.

Utilizza un account di servizio per autorizzare l'accesso da queste opzioni. L'account di servizio autorizza l'accesso a tutti i Cloud SQL in un progetto specifico. Quando crei un'applicazione o una Cloud Functions, questo servizio crea automaticamente questo account. Puoi trovare l'account nella pagina IAM e AMP; Amministratore > IAM , con il suffisso appropriato:

Opzione serverless Suffisso dell'account di servizio
App Engine @gae-api-prod.google.com.iam.gserviceaccount.com
Cloud Functions @appspot.gserviceaccount.com
Cloud Run compute@developer.gserviceaccount.com
Come per tutti gli account che si connettono a un'istanza Cloud SQL, l'account di servizio deve avere il ruolo Cloud SQL > client.

Ruoli e autorizzazioni di Cloud SQL con Cloud Storage

Le funzionalità di importazione ed esportazione in Cloud SQL sono compatibili. Esporta da scrivere su Cloud Storage. Per questo motivo, l'account di servizio che utilizzi per queste operazioni richiede le autorizzazioni di lettura e scrittura in Cloud Storage:

  • Per importare dati ed esportarli da Cloud Storage, l'account di servizio dell'istanza Cloud SQL deve avere il ruolo storage.objectAdmin IAM impostato nel progetto. Puoi trovare il nome dell'account di servizio dell'istanza in Google Cloud Console nella pagina Panoramica della tua istanza.
  • Puoi utilizzare il comando gsutil iam per concedere questo ruolo IAM all'account di servizio per il bucket.
  • Per assistenza sull'impostazione delle autorizzazioni e dei ruoli IAM, consulta Utilizzo delle autorizzazioni IAM.
  • Per maggiori informazioni, consulta la sezione IAM per Cloud Storage.

Ruoli e autorizzazioni Cloud SQL con altri scenari

Cloud SQL interagisce con altri prodotti e strumenti Google Cloud. Queste interazioni richiedono anche ruoli e autorizzazioni specifici che possono variare in base agli scenari. La documentazione di Cloud SQL fornisce informazioni dettagliate su questi requisiti per ogni caso riportato di seguito:

Utilizzo di IAM con i progetti

Le sezioni seguenti mostrano come completare le attività IAM di base sui progetti.

Per completare le attività seguenti, devi disporre delle autorizzazioni IAM resourcemanager.projects.getIamPolicy e resourcemanager.projects.setIamPolicy.

Aggiungi un membro a un criterio a livello di progetto

Per un elenco dei ruoli associati a Cloud SQL, consulta i ruoli IAM.

Console

  1. Vai alla pagina IAM e amministrazione in Google Cloud Console
  2. Nel menu a discesa del progetto nella barra superiore, seleziona il progetto a cui vuoi aggiungere un membro.
  3. Fai clic su Aggiungi. Viene visualizzata la finestra di dialogo Aggiungi membri, ruoli al progetto.
  4. Nel campo Nuovi membri, specifica il nome dell'entità a cui concedere l'accesso.
  5. Nel menu a discesa Seleziona un ruolo, concedi il ruolo appropriato al membro. I ruoli che influiscono sulle risorse Cloud SQL si trovano nei sottomenu Progetto e Cloud SQL.
  6. Fai clic su Salva.

gsutil

I criteri IAM a livello di progetto vengono gestiti tramite il comando gcloud, che fa parte di Google Cloud SDK. Per aggiungere un criterio a livello di progetto, utilizza gcloud beta projects add-iam-policy-binding.

Visualizza il criterio IAM per un progetto

Console

  1. Vai alla pagina IAM e amministrazione in Google Cloud Console
  2. Nel menu a discesa del progetto nella barra superiore, seleziona il progetto di cui vuoi visualizzare il criterio.
  3. Esistono due modi per visualizzare le autorizzazioni per il progetto:
    • Visualizza per Membri: visualizza la colonna Ruolo associata ai singoli membri per scoprire i ruoli di ciascun membro.
    • Visualizzazione per ruoli: utilizza il menu a discesa associato ai singoli ruoli per visualizzare i membri che hanno il ruolo.

gsutil

I criteri IAM a livello di progetto vengono gestiti tramite il comando gcloud, che fa parte di Google Cloud SDK. Per visualizzare il criterio IAM di un progetto, utilizza il comando gcloud beta projects get-iam-policy.

Rimuovi un membro da un criterio a livello di progetto

Console

  1. Vai alla pagina IAM e amministrazione in Google Cloud Console
  2. Nel menu a discesa del progetto nella barra superiore, seleziona il progetto da cui vuoi rimuovere un membro.
  3. Assicurati di visualizzare le autorizzazioni per Membri e seleziona i membri che vuoi rimuovere.
  4. Fai clic su Rimuovi.
  5. Nella finestra overlay visualizzata, fai clic su Conferma.

gsutil

I criteri IAM a livello di progetto vengono gestiti tramite il comando gcloud, che fa parte di Google Cloud SDK. Per rimuovere un criterio a livello di progetto, utilizza gcloud beta projects remove-iam-policy-binding.

Best practice

IAM, come qualsiasi altra impostazione amministrativa, richiede una gestione attiva per essere efficace. Prima di rendere una risorsa accessibile agli altri utenti, assicurati di sapere quali ruoli vuoi che svolgono. Nel corso del tempo, le modifiche alla gestione dei progetti, ai pattern di utilizzo e alla proprietà organizzativa potrebbero richiedere la modifica delle impostazioni IAM sui progetti, in particolare se gestisci Cloud SQL per una grande organizzazione o per un vasto gruppo di utenti. Durante la valutazione e la pianificazione delle impostazioni del controllo dell'accesso, tieni presente le seguenti best practice:

  • Applica il principio del privilegio minimo quando concedi l'accesso. Il principio di privilegio minimo è una linea guida sulla sicurezza per la concessione dell'accesso alle tue risorse. Quando concedi l'accesso in base al principio del privilegio minimo, concedi all'utente solo l'accesso necessario per completare l'attività che gli è stata assegnata.

  • Evita di concedere ruoli con autorizzazione setIamPolicy a persone che non conosci. La concessione dell'autorizzazione setIamPolicy consente a un utente di modificare le autorizzazioni e assumere il controllo dei dati. Devi utilizzare i ruoli con l'autorizzazione setIamPolicy solo quando vuoi delegare il controllo amministrativo di oggetti e bucket.

  • Assicurati di delegare il controllo amministrativo delle tue risorse. Devi assicurarti che le tue risorse possano ancora essere gestite dagli altri membri del team nel caso in cui un individuo con accesso amministrativo lasci il gruppo. A tale scopo, esistono due modi comuni:

    • Assegna il ruolo Amministratore Cloud SQL per il progetto a un gruppo anziché a un singolo utente.
    • Assegna il ruolo Amministratore Cloud SQL per il tuo progetto ad almeno due utenti individuali.

Passaggi successivi