Oltre agli utenti e ai ruoli predefiniti forniti con PostgreSQL, puoi creare altri utenti o ruoli PostgreSQL. Questi utenti hanno lo stesso insieme di
privilegi dell'utente postgres
:
CREATE ROLE
,
CREATEDB
e LOGIN
. Per saperne di più su questi
privilegi, consulta CREATE ROLE
.
Puoi modificare i privilegi di qualsiasi utente utilizzando il comando ALTER ROLE
. Se crei un nuovo utente con il client psql
, puoi
scegliere di associarlo a un ruolo diverso o assegnare privilegi diversi.
Prima di iniziare
Per utilizzare i comandi PostgreSQL per gestire gli utenti su un cluster, devi disporre di quanto segue:
- Accesso al client
psql
- Accesso all'utente del database
postgres
o a un altro utente con i privilegi amministrativi appropriati
Crea un utente del database
Per creare un utente del database che esegue l'autenticazione direttamente con il database utilizzando un nome utente e una password, nota anche come autenticazione integrata, utilizza il seguente comando:
CREATE USER USERNAME WITH PASSWORD 'PASSWORD';
Sostituisci quanto segue:
USERNAME
: il nome utente del ruolo utente.PASSWORD
: La nuova password da assegnare al ruolo utente.
Per creare un utente del database che utilizza Identity and Access Management per l'autenticazione, consulta Gestire l'autenticazione IAM.
Per ulteriori informazioni su come creare e definire gli utenti del database, vedi CREATE
USER
.
Dopo aver creato un utente o un ruolo, puoi modificarne i privilegi utilizzando il comando ALTER
ROLE
nel client psql
.
Concedere ruoli a un utente del database
Per concedere ruoli a un utente del database, utilizza questo comando:
GRANT ROLE to USERNAME;
Sostituisci quanto segue:
ROLE
: il ruolo da concedere all'utente del database.PASSWORD
: La nuova password da assegnare al ruolo utente.
Per concedere a un utente i privilegi di superutente, assegna il ruolo alloydbsuperuser
.
Modificare la password di un utente del database
Per impostare una nuova password per un utente del database PostgreSQL standard, utilizza il seguente comando:
ALTER USER USERNAME WITH PASSWORD 'PASSWORD';
Sostituisci quanto segue:
USERNAME
: il nome utente dell'utente del database.PASSWORD
: La nuova password da assegnare al ruolo utente.
Non puoi modificare o impostare la password di un utente basato su IAM, perché gli utenti basati su IAM non utilizzano password per l'autenticazione. Per maggiori informazioni, consulta Connettersi utilizzando un account IAM.
Per ulteriori informazioni sulla modifica della password di un utente, vedi ALTER ROLE
.
Revocare un ruolo da un utente del database
Per revocare un privilegio concesso in precedenza a uno o più ruoli o per revocare l'appartenenza di un utente a un ruolo, utilizza il seguente comando:
REVOKE ROLE FROM USERNAME;
Per rimuovere i privilegi di superutente di un utente, revoca il ruolo alloydbsuperuser
per quell'utente.
Visualizzare un elenco di utenti del database
Per visualizzare una tabella di tutti gli utenti del database e le loro appartenenze ai gruppi, utilizza il seguente comando:
\du
Eliminazione di un utente di database
Prima di eliminare un utente, devi eliminare tutti gli oggetti di sua proprietà o riassegnarne la proprietà e revocare tutti i privilegi concessi al ruolo su altri oggetti.
Per eliminare un utente, utilizza il seguente comando:
DROP ROLE USERNAME;