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 pertinenti specificamente per Cloud SQL. Per una discussione dettagliata su IAM e sulle sue funzionalità in generale, vedi Identity and Access Management. In particolare, consulta la sezione Gestione dei criteri IAM. IAM ti 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 progetto definisce le azioni che gli utenti possono eseguire su tutte le risorse all'interno del progetto.

I membri sono il "chi" di IAM. I membri possono essere singoli utenti, gruppi, domini o anche il pubblico nel suo complesso. Ai membri vengono assegnati ruoli, che consentono ai membri di eseguire azioni in Cloud SQL e in 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 ti 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 di tutte le autorizzazioni disponibili in Cloud SQL.

L'account che utilizzi per la connessione a un'istanza Cloud SQL 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 alla pagina IAM e amministrazione & gt; IAM e vedere quali autorizzazioni appartengono a quei ruoli nella pagina IAM e amministrazione & gt; Ruoli.

Cloud SQL utilizza 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.

Ruoli e autorizzazioni di 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 l'account di servizio Compute Engine predefinito associato all'istanza Compute Engine.

Come con 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 opzioni serverless

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 funzione Cloud Functions, questo servizio crea automaticamente questo account. Puoi trovare l'account nella pagina IAM e amministrazione > IAM , con il suffisso appropriato:

Opzione serverless Suffisso 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 con 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 funzionano insieme. Esporta le risorse scritte in Cloud Storage e importa da lì. 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 IAM storage.objectAdmin impostato nel progetto. Puoi trovare il nome dell'account di servizio dell'istanza nella console Google Cloud della pagina Panoramica dell'istanza.
  • Puoi utilizzare il comando gsutil iam per concedere questo ruolo IAM all'account di servizio per il bucket.
  • Per assistenza sulla configurazione di ruoli e autorizzazioni IAM, consulta Utilizzo delle autorizzazioni IAM.
  • Per ulteriori informazioni, consulta IAM per Cloud Storage.

Ruoli e autorizzazioni di 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 allo scenario. La documentazione di Cloud SQL fornisce informazioni dettagliate su questi requisiti per ogni caso riportato di seguito:

Utilizza IAM con 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 Ruoli IAM.

Console

  1. Vai alla pagina IAM e amministrazione nella console Google Cloud
  2. Nel menu a discesa del progetto nella barra superiore, seleziona il progetto a cui vuoi aggiungere un membro.
  3. Fai clic su Add (Aggiungi). Viene visualizzata la finestra di dialogo Aggiungi membri, ruoli al progetto.
  4. Nel campo Nuovi membri, specifica il nome dell'entità a cui concedi 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 nella console Google Cloud
  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 vedere quali ruoli hanno ciascuno.
    • Visualizza per ruoli: utilizza il menu a discesa associato ai singoli ruoli per vedere quali membri 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.

Rimuovere un membro da un criterio a livello di progetto

Console

  1. Vai alla pagina IAM e amministrazione nella console Google Cloud
  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 che viene 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 tutte le altre impostazioni amministrative, richiede che la gestione attiva sia efficace. Prima di rendere una risorsa accessibile ad altri utenti, assicurati di conoscere i ruoli che vuoi assegnare a ognuno di loro. Nel corso del tempo, le modifiche alla gestione dei progetti, ai modelli di utilizzo e alla proprietà organizzativa potrebbero richiedere la modifica delle impostazioni IAM dei progetti, soprattutto se si gestisce Cloud SQL in una grande organizzazione o per un numero elevato di utenti. Quando valuti e pianifichi le impostazioni di controllo dell'accesso, tieni a mente le seguenti best practice:

  • Utilizza il principio del privilegio minimo quando concedi l'accesso. Il principio del privilegio minimo è una linea guida sulla sicurezza per concedere l'accesso alle risorse. Quando concedi l'accesso in base al principio del privilegio minimo, concedi all'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. Devi utilizzare i ruoli con autorizzazione setIamPolicy solo quando vuoi delegare il controllo amministrativo su oggetti e bucket.

  • Assicurati di delegare il controllo amministrativo delle tue risorse. Devi assicurarti che le tue risorse possano comunque essere gestite da altri membri del team nel caso in cui un utente con accesso amministrativo lasci il gruppo. Di seguito sono riportati due modi comuni per ottenere questo risultato:

    • 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 utenti privati.

Passaggi successivi