Ruoli e autorizzazioni

Questa pagina fornisce informazioni sui ruoli e sulle autorizzazioni di Identity and Access Management (IAM) e su come vengono utilizzati con le istanze Cloud SQL.

Introduzione

Questa pagina si concentra sugli aspetti di IAM che sono rilevanti in modo specifico per Cloud SQL. Per una discussione dettagliata di IAM e delle sue funzionalità in generale, consulta Identity and Access Management. In particolare, consulta la sezione Gestione delle policy IAM. IAM ti consente di controllare chi ha accesso alle risorse nel tuo Google Cloud progetto. L'insieme di regole di accesso che applichi a una risorsa è chiamato policy IAM. Una policy IAM applicata al tuo progetto definisce le azioni che gli utenti possono intraprendere su tutte le risorse all'interno del progetto.

I membri sono il "chi" di IAM. I membri possono essere singoli utenti, gruppi, domini o persino il pubblico nel suo complesso. Ai membri vengono assegnati ruoli, che consentono loro di eseguire azioni in Cloud SQL e in modo più generale. Google Cloud 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. Consulta Ruoli IAM in Cloud SQL e Autorizzazioni IAM in Cloud SQL per elenchi completi di tutti i ruoli e le autorizzazioni disponibili in Cloud SQL.

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

Puoi aggiungere ruoli a un account nella console nella pagina IAM e amministrazione > IAM e vedere quali autorizzazioni appartengono a quali ruoli nella pagina IAM e amministrazione > Ruoli.

Cloud SQL utilizza gli account di servizio per l'autenticazione tra Cloud SQL e altri Google Cloud prodotti. I service account forniscono credentials in formato JSON, che scarichi dalla console e utilizzi per l'autenticazione in vari scenari.

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

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

Come per tutti gli account che si connettono a un'istanza Cloud SQL, il service account deve avere il ruolo Cloud SQL > Client.

Ruoli e autorizzazioni Cloud SQL con le opzioni serverless

Utilizza un account di servizio per autorizzare l'accesso da queste opzioni. Il service account autorizza l'accesso a tutti i Cloud SQL in un progetto specifico. Quando crei un'applicazione o Cloud Run Functions, questo servizio crea l'account per te. Puoi trovare l'account nella pagina IAM e amministrazione > IAM , con il suffisso appropriato:

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

Ruoli e autorizzazioni Cloud SQL con Cloud Storage

Le funzionalità di importazione ed esportazione in Cloud SQL funzionano insieme. Le esportazioni scrivono in Cloud Storage e le importazioni leggono da lì. Per questo motivo, il account di servizio che utilizzi per queste operazioni deve disporre delle autorizzazioni di lettura e scrittura per Cloud Storage:

  • Per importare ed esportare dati da e in Cloud Storage, il account di servizio dell'istanza Cloud SQL deve avere il ruolo IAM storage.objectAdmin impostato nel progetto. Puoi trovare il nome del account di servizio dell'istanza nella Google Cloud console nella pagina Panoramica dell'istanza.
  • Puoi utilizzare il comando gcloud storage buckets add-iam-policy-binding per concedere questo ruolo IAM al account di servizio per il bucket.
  • Per assistenza con l'impostazione di ruoli e autorizzazioni IAM, consulta Utilizzo delle autorizzazioni IAM.
  • Per maggiori informazioni, consulta IAM per Cloud Storage.

Ruoli e autorizzazioni Cloud SQL per l'integrazione di Knowledge Catalog

Per fornire l'accesso ai metadati Cloud SQL in Knowledge Catalog, puoi concedere a un utente il ruolo roles/cloudsql.schemaViewer o aggiungere l'autorizzazione cloudsql.schemas.view a un ruolo personalizzato.

Per maggiori informazioni, consulta Gestire le risorse Cloud SQL con Knowledge Catalog.

Ruoli e autorizzazioni Cloud SQL con altri scenari

Cloud SQL interagisce con altri Google Cloud prodotti e strumenti. Queste interazioni richiedono anche ruoli e autorizzazioni specifici che possono variare a seconda dello scenario. La documentazione di Cloud SQL fornisce informazioni dettagliate su questi requisiti per ogni caso di seguito:

Utilizzare IAM con i progetti

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

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

Aggiungere un membro a una policy a livello di progetto

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

Console

  1. Vai alla pagina IAM e amministrazione in the Google Cloud console
  2. Nel menu a discesa del progetto nella barra in alto, 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 stai concedendo l'accesso.
  5. Nel menu a discesa Seleziona un ruolo, concedi il ruolo appropriato al membro. I ruoli che interessano le risorse Cloud SQL si trovano nei sottomenu Progetto e Cloud SQL.
  6. Fai clic su Salva.

gcloud

Per aggiungere una policy IAM a livello di progetto, utilizza gcloud beta projects add-iam-policy-binding.

Visualizzare la policy IAM per un progetto

Console

  1. Vai alla pagina IAM e amministrazione in the Google Cloud console
  2. Nel menu a discesa del progetto nella barra in alto, seleziona il progetto di cui vuoi visualizzare la policy.
  3. Esistono due modi per visualizzare le autorizzazioni per il progetto:
    • Visualizza per Membri: visualizza la col0nna Ruolo associata ai singoli membri per vedere quali ruoli ha ogni membro.
    • Visualizza per Ruoli: utilizza il menu a discesa associato ai singoli ruoli per vedere quali membri hanno il ruolo.

gcloud

Per visualizzare la policy IAM di un progetto, utilizza gcloud beta projects get-iam-policy.

Rimuovere un membro da una policy a livello di progetto

Console

  1. Vai alla pagina IAM e amministrazione in the Google Cloud console
  2. Nel menu a discesa del progetto nella barra in alto, 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 di overlay visualizzata, fai clic su Conferma.

gcloud

Per rimuovere una policy IAM 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 ad altri utenti, assicurati di conoscere i ruoli che vuoi che ognuno di loro svolga. Nel corso del tempo, le modifiche alla gestione dei progetti, ai pattern di utilizzo e alla proprietà dell'organizzazione potrebbero richiedere la modifica delle impostazioni IAM sui progetti, soprattutto se gestisci Cloud SQL in una grande organizzazione o per un gruppo numeroso di utenti. Quando valuti e pianifichi le impostazioni di controllo dell'accesso, tieni presente le seguenti best practice:

  • Utilizza il principio del privilegio minimo quando concedi l'accesso. Il principio del privilegio minimo è una linea guida di sicurezza per la concessione dell'accesso alle tue risorse. Quando concedi l'accesso in base al principio del privilegio minimo, concedi a un utente solo l'accesso di cui ha bisogno per svolgere l'attività assegnata.

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

  • Assicurati di delegare il controllo amministrativo delle tue risorse. Dovresti assicurarti che le tue risorse possano comunque essere gestite da altri membri del team se un singolo utente con accesso amministrativo lascia il gruppo. Di seguito sono riportati due modi comuni per raggiungere questo obiettivo:

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

Passaggi successivi