Panoramica dell'autenticazione IAM dei database

In questa pagina viene descritta l'autenticazione IAM (Identity and Access Management) dei database per singoli utenti e gruppi, che puoi utilizzare per gestire l'accesso ai database AlloyDB per PostgreSQL.

L'autenticazione IAM dei database offre le seguenti opzioni:

  • Autenticazione IAM individuale: aggiungi utenti o service account specifici al cluster.
  • Autenticazione IAM di gruppo: aggiungi un gruppo IAM al cluster. Tutti i membri di questo gruppo ereditano le autorizzazioni per l'autenticazione, semplificando la gestione per più utenti.

L'autenticazione individuale è utile quando devi concedere l'accesso direttamente ad account specifici. Utilizza l'autenticazione di gruppo quando vuoi gestire l'accesso modificando l'iscrizione al gruppo, il che riduce la necessità di aggiungere o rimuovere utenti a livello di cluster.

Concetti di autenticazione IAM

Quando utilizzi l'autenticazione IAM, l'autorizzazione di accesso a un'istanza AlloyDB non viene concessa direttamente all'utente finale. Le autorizzazioni sono invece raggruppate in ruoli, che vengono concessi alle entità. Per ulteriori informazioni, consulta la panoramica di IAM.

Gli amministratori che fanno accedere gli utenti tramite l'autenticazione IAM dei database possono utilizzare IAM per gestire centralmente il controllo dell'accesso alle proprie istanze utilizzando le policy IAM.

Le policy IAM coinvolgono le seguenti entità:

  • Entità. In AlloyDB, puoi utilizzare un account utente o un account di servizio per le applicazioni. Per ulteriori informazioni, consulta Entità.

  • Ruoli. Per l'autenticazione IAM dei database, un'entità richiede l'autorizzazione alloydb.instances.login. Questa autorizzazione è inclusa nel ruolo AlloyDB Client (roles/alloydb.client). Per ottenere questa autorizzazione, associa l'utente, account di servizio o il gruppo al ruolo predefinito o a un ruolo personalizzato che include l'autorizzazione. Per ulteriori informazioni, consulta Autorizzazioni e ruoli.

  • Risorsa. Le risorse a cui le entità accedono sono i cluster AlloyDB. Le associazioni di policy IAM vengono applicate a livello di progetto, in modo che le entità ricevano le autorizzazioni dei ruoli per tutte le istanze AlloyDB nel progetto. Per ulteriori informazioni, consulta Risorse.

Confrontare le opzioni di autenticazione del database

Utilizza la seguente tabella per decidere quale metodo di autenticazione è il più adatto al tuo caso d'uso.

Funzionalità Autenticazione del database integrata Autenticazione IAM dei database
Metodo di autenticazione Password Token di autenticazione temporaneo
Crittografia del traffico di rete SSL non richiesto SSL obbligatorio
Gestione utenti Manuale Centralizzata tramite IAM

Autenticazione IAM dei database automatica e manuale

AlloyDB offre due metodi per l'autenticazione IAM dei database: automatica e manuale.

Autenticazione IAM dei database automatica

L'autenticazione IAM dei database automatica ti consente di delegare la richiesta e la gestione dei token di accesso a un connettore AlloyDB intermedio, come il proxy di autenticazione o uno dei connettori dei linguaggi.

Con l'autenticazione IAM dei database automatica, un'applicazione deve trasmettere solo il nome utente del database IAM in una richiesta di connessione dal client. Il connettore invia le informazioni del token di accesso per l'attributo della password per conto del client.

Autenticazione IAM dei database manuale

L'autenticazione IAM dei database manuale richiede che l'entità IAM trasmetta esplicitamente il token di accesso per l'attributo della password nella richiesta di connessione del client. Le entità devono prima accedere a Google Cloud e richiedere esplicitamente il token di accesso da IAM.

Per conservare i record di accesso ai dati, inclusi gli accessi, puoi utilizzare Cloud Audit Logs. Cloud Audit Logs è disattivato per impostazione predefinita. Attiva gli audit log di accesso ai dati per il monitoraggio degli accessi.

Autenticazione del gruppo IAM

L'autenticazione del gruppo IAM ti consente di gestire gli utenti AlloyDB a livello di gruppo. Un esempio di gruppo è un gruppo Cloud Identity. Questa funzionalità semplifica la gestione degli utenti del database. Puoi gestire i ruoli o le autorizzazioni PostgreSQL per più utenti IAM contemporaneamente anziché aggiornare ogni utente o account di servizio singolarmente. Puoi anche concedere e revocare i ruoli del database per un gruppo Cloud Identity. Tutti i nuovi account che aggiungi al gruppo Cloud Identity ereditano i privilegi e i ruoli di quel gruppo.

Utilizzando l'autenticazione del gruppo IAM, puoi:

  • Aggiungere un utente a un gruppo e fare in modo che l'utente erediti automaticamente i ruoli IAM e i privilegi del database.
  • Rimuovere un utente da un gruppo per rimuovere l'accesso e i privilegi del database dai cluster AlloyDB.
  • Concedere i privilegi di accesso o del database a un gruppo una sola volta anziché dover concedere gli stessi privilegi più volte a utenti diversi.
  • Rimuovere contemporaneamente le autorizzazioni di accesso o l'accesso a un oggetto database per un gruppo.

Anche se i ruoli e le autorizzazioni IAM vengono assegnati a livello di gruppo, gli utenti e i service account utilizzano i propri account e credenziali IAM individuali e non un account di gruppo condiviso per accedere. AlloyDB crea un account di database sul cluster per l'entità durante il primo accesso.

L'accesso individuale e l'attività del database per ogni utente o account di servizio vengono visualizzati in audit log. Ai fini dell'audit, puoi visualizzare quale account ha eseguito quale azione nel database.

Per ulteriori informazioni sull'utilizzo dei gruppi Cloud Identity, consulta Panoramica di Cloud Identity.

Quando aggiungi un utente o un account di servizio a un gruppo, in AlloyDB si verificano le seguenti modifiche:

  • Se hai già concesso le autorizzazioni di accesso IAM al gruppo, l'utente o il account di servizio può accedere al cluster AlloyDB perché appartiene al gruppo.
  • L'utente eredita automaticamente tutti i privilegi del database o i ruoli che sono stati concessi al gruppo.

Quando rimuovi un utente o un account di servizio dal gruppo, in AlloyDB si verificano le seguenti modifiche:

  • L'utente perde tutti i privilegi del database ereditati in precedenza in quanto membro del gruppo.
  • L'utente potrebbe comunque essere in grado di creare nuove sessioni se riceve le autorizzazioni di accesso IAM per il cluster AlloyDB tramite altre appartenenze a gruppi. Tuttavia, l'utente non avrà i privilegi del database dalla sua precedente appartenenza al gruppo dopo l'accesso.

Best practice

  • Quando revochi l'autorizzazione di accesso (alloydb.databaseUser) per un gruppo IAM in Cloud Identity, elimina il gruppo dal cluster AlloyDB.
  • Quando elimini un gruppo da Cloud Identity, elimina il gruppo dal cluster AlloyDB.
  • Utilizza i gruppi per configurare il controllo dell'accesso basato sui ruoli nel database. Concedi al gruppo i privilegi minimi richiesti.

Limitazioni

  • L'autenticazione del gruppo IAM è disponibile in anteprima per i nuovi cluster AlloyDB. Per abilitare questa funzionalità su un cluster esistente, contatta il team dedicato all'account Google Cloud.
  • L'autenticazione del gruppo IAM è supportata solo nella versione del database POSTGRES_15 e successive in anteprima.
  • Per supportare la sicurezza, gli accessi tramite l'autenticazione IAM dei database sono disponibili solo su una connessione SSL. Le connessioni non criptate vengono rifiutate.
  • Esiste una quota di accesso al minuto per ogni istanza, che include sia gli accessi riusciti che quelli non riusciti. Quando la quota viene superata, gli accessi non sono temporaneamente disponibili. Ti consigliamo di evitare accessi frequenti e di limitare gli accessi utilizzando le reti autorizzate.
  • Quando utilizzi l'autenticazione del gruppo IAM, se hai un cluster AlloyDB con repliche di lettura, accedi prima all'istanza principale prima di accedere all'istanza della replica di lettura. Dopo il primo accesso all'istanza principale, le informazioni utente del gruppo vengono replicate nelle repliche di lettura. Per gli accessi successivi, puoi accedere direttamente alla replica di lettura.
  • Puoi aggiungere un massimo di 200 gruppi IAM a un'istanza.
  • Non puoi aggiungere singoli utenti o service account IAM appartenenti a un gruppo nella stessa istanza. In altre parole, non puoi aggiungere un account con il tipo ALLOYDB_IAM_USER se esiste già un account identico con il tipo ALLOYDB_IAM_GROUP_USER o ALLOYDB_IAM_GROUP_SERVICE_ACCOUNT.
  • Se in un'istanza esiste già un account individuale con il tipo ALLOYDB_IAM_USER, non puoi utilizzare l'account per l'autenticazione del gruppo IAM. Questi tipi di utenti non ereditano i ruoli IAM e i privilegi del database da un gruppo. Per risolvere il problema e utilizzare l'account con l'autenticazione del gruppo IAM, rimuovi l'utente o account di servizio IAM individuale. Per ulteriori informazioni, consulta Un utente o un account di servizio IAM esistente non eredita i privilegi del database concessi al suo gruppo.

  • La propagazione delle modifiche all'iscrizione al gruppo Cloud Identity, ad esempio l'aggiunta di un account, richiede circa 15 minuti. Questo tempo si aggiunge a quello necessario per le modifiche IAM.

  • L'autenticazione del gruppo IAM non è supportata con il connection pooling gestito.

  • L'autenticazione del gruppo IAM non è supportata con le identità federate.

Passaggi successivi