Questa pagina descrive l'autenticazione del database Identity and Access Management (IAM) individuale e di gruppo, che utilizzi per gestire l'accesso ai tuoi database AlloyDB per PostgreSQL.
L'autenticazione database IAM offre le seguenti opzioni:
- Autenticazione IAM individuale: aggiungi utenti specifici o service account al cluster.
- Autenticazione del gruppo IAM: 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 per accedere a un'istanza AlloyDB non viene concessa direttamente all'utente finale. Le autorizzazioni sono invece raggruppate in ruoli, che vengono concessi alle entità. Per saperne di più, 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 loro istanze utilizzando le policy IAM.
I criteri IAM coinvolgono le seguenti entità:
Dirigenti scolastici. In AlloyDB, puoi utilizzare un account utente o un account di servizio per le applicazioni. Per saperne di più, consulta Entità di servizio.
Ruoli. Per l'autenticazione del database IAM, un'entità richiede l'autorizzazione alloydb.instances.login. Questa autorizzazione è inclusa nel ruolo Client AlloyDB (
roles/alloydb.client). Per ottenere questa autorizzazione, associa l'utente, il account di servizio o il gruppo al ruolo predefinito o a un ruolo personalizzato che include l'autorizzazione. Per saperne di più, consulta Autorizzazioni e ruoli.Risorsa. Le risorse a cui accedono le entità sono i cluster AlloyDB. I binding delle policy IAM vengono applicati a livello di progetto, in modo che le entità ricevano le autorizzazioni del ruolo per tutte le istanze AlloyDB nel progetto. Per saperne di più, consulta Risorse.
Confrontare le opzioni di autenticazione del database
Utilizza la seguente tabella per decidere quale metodo di autenticazione è più adatto al tuo caso d'uso.
| Funzionalità | Autenticazione del database integrata | Autenticazione database IAM |
|---|---|---|
| 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 automatica del database IAM
L'autenticazione automatica del database IAM ti consente di trasferire 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 sul token di accesso per l'attributo password per conto del cliente.
Autenticazione IAM dei database manuale
L'autenticazione manuale del database IAM richiede che l'entità IAM trasmetta esplicitamente il token di accesso per l'attributo password nella richiesta di connessione 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 dei gruppi IAM consente di gestire gli utenti AlloyDB a livello di gruppo. Un esempio di gruppo include 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 di 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:
- Aggiungi un utente a un gruppo e fai in modo che erediti automaticamente i ruoli IAM e i privilegi del database.
- Rimuovi un utente da un gruppo per rimuovere il suo accesso di accesso e i privilegi del database dai cluster AlloyDB.
- Concedi i privilegi di accesso o al database a un gruppo una sola volta, anziché dover concedere gli stessi privilegi più volte a utenti diversi.
- Rimuovi le autorizzazioni di accesso o l'accesso a un oggetto di database per un gruppo contemporaneamente.
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 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 nei log di controllo. Ai fini del controllo, puoi visualizzare l'account che ha eseguito quale azione nel tuo database.
Per saperne di più su come lavorare con i gruppi Cloud Identity, consulta la 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 acquisisce la possibilità di accedere al cluster AlloyDB perché appartiene al gruppo.
- L'utente eredita automaticamente tutti i privilegi di 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 di database ereditati in precedenza in quanto membro del gruppo.
- L'utente potrebbe comunque essere in grado di creare nuove sessioni se riceve autorizzazioni di accesso IAM per il cluster AlloyDB tramite altre appartenenze a gruppi. Tuttavia, l'utente non disporrà dei privilegi di database della sua precedente appartenenza al gruppo al momento dell'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 tuo database. Fornisci al gruppo i privilegi minimi richiesti.
Limitazioni
- L'autenticazione del gruppo IAM è disponibile in anteprima per i nuovi cluster AlloyDB. Per attivare 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_15e successive in Anteprima. - Per supportare la sicurezza, gli accessi che utilizzano l'autenticazione database IAM sono disponibili solo su una connessione SSL. Le connessioni non criptate vengono rifiutate.
- Per ogni istanza è prevista una quota di accesso al minuto, 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 reti autorizzate.
- Il nome principale abbreviato di un account di servizio, ovvero l'indirizzo email
senza il suffisso
.gserviceaccount.com, non deve superare i 63 caratteri. PostgreSQL tronca i nomi dei ruoli più lunghi di 63 caratteri nel catalogo del database, il che causa l'errore dell'autenticazione IAM. Se non riesci ad abbreviare il nome delaccount di serviziot, consulta la soluzione alternativa per la simulazione dell'identità del service account. - 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 di 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 IAM o service account che appartengono a un gruppo sulla stessa istanza. In altre parole, non puoi aggiungere un account di tipo
ALLOYDB_IAM_USERse esiste già un account identico di tipoALLOYDB_IAM_GROUP_USERoALLOYDB_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 ruoli IAM e privilegi di database da un gruppo. Per risolvere il problema e utilizzare l'account con l'autenticazione del gruppo IAM, rimuovi il singolo utente IAM o account di servizio. Per maggiori informazioni, consulta Un utente IAM o un account di servizio 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 in aggiunta al tempo necessario per le modifiche IAM.
L'autenticazione del gruppo IAM non è supportata con il pool di connessioni gestito.
L'autenticazione del gruppo IAM non è supportata con le identità federate.