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-256epassword. - 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
Scopri come gestire ruoli, utenti e gruppi PostgreSQL per AlloyDB utilizzando l'autenticazione integrata.
Scopri come gestire l'autenticazione IAM.