Informazioni sulla gestione degli utenti del database in AlloyDB per PostgreSQL

Per controllare l'accesso ai tuoi database AlloyDB per PostgreSQL, puoi creare e gestire utenti, ruoli e gruppi di database utilizzando l'autenticazione PostgreSQL integrata o l'autenticazione Identity and Access Management (IAM).

Come funziona la gestione degli utenti del database

AlloyDB condivide gli stessi concetti di ruoli, utenti e gruppi di PostgreSQL. Per una breve spiegazione, consulta le seguenti descrizioni:

  • Ruolo: la designazione di primo livello che descrive sia gli utenti del database sia i gruppi di utenti del database in un cluster. I ruoli forniscono e limitano l'accesso agli oggetti del database, come tabelle e funzioni.

  • Utente: il ruolo a cui viene assegnato l'attributo LOGIN. Gli utenti possono autenticarsi e accedere ai cluster di database AlloyDB.

  • Gruppo:il ruolo concesso a uno o più utenti. Lo scopo dei gruppi è controllare i privilegi di molti utenti nel loro insieme.

Come funziona l'autenticazione del database

Per autenticarti e accedere ai cluster di database AlloyDB, hai due opzioni:

  • Autenticazione integrata basata su password di PostgreSQL: per verificare l'identità dell'utente, AlloyDB confronta le credenziali fornite con le password archiviate e sottoposte ad hashing. I metodi supportati includono md5, scram-sha-256 e password.
  • Autenticazione IAM: consente agli utenti del database di autenticarsi utilizzando IAM. In questo modo, la sicurezza è maggiore e controllo dell'accesso è centralizzato in altri serviziGoogle Cloud .

Ruoli predefiniti

PostgreSQL fornisce ruoli predefiniti con vari privilegi. Oltre a questi ruoli predefiniti, AlloyDB fornisce diversi altri ruoli utente e di gruppo predefiniti.

La tabella seguente elenca i ruoli e i privilegi dei ruoli forniti da AlloyDB:

Nome ruolo Privilegi
alloydbsuperuser CREATEROLE, CREATEDB e LOGIN.
postgres CREATEROLE, CREATEDB e LOGIN.
alloydbadmin SUPERUSER (che include CREATEROLE, CREATEDB e LOGIN).
alloydbimportexport CREATEROLE e CREATEDB.
alloydbexport LOGIN e membro di pg_read_all_data.
alloydbagent CREATEROLE e CREATEDB.
alloydbmetadata LOGIN. Per impostazione predefinita, questo ruolo non dispone di privilegi aggiuntivi.
alloydbobservability LOGIN e membro di pg_monitor.
alloydbreplica REPLICATION.
alloydbiamuser Per impostazione predefinita, questo ruolo non dispone di privilegi.
alloydbiamgroupuser Per impostazione predefinita, questo ruolo non dispone di privilegi.

Le sezioni seguenti spiegano gli utilizzi di questi ruoli.

Ruolo gruppo alloydbsuperuser

Il ruolo alloydbsuperuser ti consente di configurare il sistema di database ed eseguire altre attività di super utente. Questo ruolo ha i seguenti privilegi:

  • Creare estensioni che richiedono privilegi di super utente
  • Crea trigger di eventi
  • Crea utenti di replica
  • Crea pubblicazioni e sottoscrizioni di replica

In quanto servizio gestito, AlloyDB non consente di concedere agli utenti il ruolo PostgreSQL superuser. Puoi invece concedere a qualsiasi utente del database i privilegi di super utente AlloyDB se gli assegni il ruolo alloydbsuperuser.

Ruolo utente postgres

Il ruolo utente postgres fa parte del ruolo alloydbsuperuser. Quando crei un cluster AlloyDB, puoi assegnare una password all'utente postgres in modo da poter accedere al sistema utilizzando l'utente postgres per eseguire attività come la creazione di database o ruoli aggiuntivi.

Ruolo utente alloydbadmin

Il ruolo alloydbadmin è un ruolo di sistema interno predefinito che configura il sistema di database, installa e aggiorna le estensioni ed esegue altre attività interne del super utente. Il servizio AlloyDB gestisce questo ruolo e non puoi utilizzarlo per accedere o concederlo manualmente agli account del database.

Ruolo utente alloydbimportexport

Quando crei un cluster AlloyDB, AlloyDB crea l'utente alloydbimportexport con l'insieme minimo di privilegi richiesti per le operazioni di importazione ed esportazione.

Puoi creare i tuoi utenti per eseguire queste operazioni. Se non crei un utente alloydbimportexport personalizzato, il sistema utilizza l'utente alloydbimportexport predefinito per le operazioni di importazione ed esportazione.

L'utente alloydbimportexport è un utente di sistema. Ciò significa che non puoi utilizzare direttamente l'utente alloydbimportexport per accedere o eseguire altre operazioni nei tuoi database PostgreSQL.

Ruolo utente alloydbexport

Il ruolo alloydbexport è un ruolo di sistema AlloyDB interno con privilegi pg_read_all_data utilizzato dalle operazioni di esportazione interne. Questo ruolo è gestito dal servizio AlloyDB e non può essere concesso manualmente agli account del database.

Ruolo utente alloydbagent

Il ruolo alloydbagent è un ruolo di sistema interno di AlloyDB. Il servizio AlloyDB gestisce il ruolo e non puoi concederlo manualmente agli account del database. Questa gestione aiuta il database e le sue funzionalità a funzionare correttamente.

Ruolo utente alloydbmetadata

Il ruolo alloydbmetadata è un ruolo di sistema AlloyDB interno con privilegi minimi utilizzato per gestire le tabelle dei metadati interni. Questo ruolo è gestito dal servizio AlloyDB e non può essere concesso manualmente agli account del database.

Ruolo utente alloydbobservability

Il ruolo alloydbobservability è un ruolo di sistema AlloyDB interno con privilegi pg_monitor utilizzati per raccogliere dati di telemetria del database, Query Insights e metriche di osservabilità. Il servizio AlloyDB gestisce questo ruolo e non puoi concederlo manualmente agli account del database.

Ruolo utente alloydbreplica

Il ruolo alloydbreplica è un ruolo di sistema interno di AlloyDB. Il servizio AlloyDB gestisce il ruolo e non puoi concederlo manualmente agli account del database. Questa gestione aiuta il database e le sue funzionalità a funzionare correttamente.

Ruolo gruppo alloydbiamuser

Gli utenti del database all'interno del gruppo alloydbiamuser si autenticano con un'istanza AlloyDB utilizzando IAM, anziché l'autenticazione basata su password integrata di PostgreSQL.

AlloyDB non consente di concedere il ruolo alloydbiamuser agli utenti utilizzando il comando PostgreSQL GRANT o metodi simili. Puoi invece utilizzare gli strumenti amministrativi di AlloyDB per creare e gestire gli utenti del database basati su IAM. Per saperne di più, consulta Gestisci l'autenticazione IAM.

Ruolo gruppo alloydbiamgroupuser

I gruppi di database e i relativi account membro che utilizzano l'autenticazione dei gruppi IAM appartengono al ruolo del gruppo alloydbiamgroupuser. Il servizio AlloyDB gestisce questo ruolo automaticamente quando aggiungi un gruppo IAM a un cluster e non puoi concederlo manualmente utilizzando il comando PostgreSQL GRANT. Per saperne di più sulla concessione dei privilegi del database agli utenti IAM, consulta Gestisci l'autenticazione IAM.

Passaggi successivi