Questa pagina descrive come creare, gestire e rimuovere i ruoli, gli utenti e i gruppi di PostgreSQL e AlloyDB per PostgreSQL utilizzando i metodi di autenticazione standard di PostgreSQL basati su password.
Creare utenti PostgreSQL in AlloyDB
Quando crei utenti PostgreSQL, questi iniziano solo con il privilegio LOGIN
.
Per ulteriori informazioni su questi privilegi, consulta
CREATE USER
.
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.
Gestisci utenti
Puoi creare e gestire gli utenti AlloyDB con Google Cloud CLI o utilizzando i comandi PostgreSQL. Le sezioni seguenti illustrano le attività comuni di gestione degli utenti utilizzando entrambi i metodi.
Prima di iniziare
Per utilizzare i comandi PostgreSQL per gestire gli utenti in un cluster, devi disporre di quanto segue:
- Accesso al cliente
psql
- Accesso all'utente del database
postgres
o a un altro ruolo utente con i privilegi amministrativi appropriati
Per utilizzare la console Google Cloud o Google Cloud CLI per gestire gli utenti in un cluster, il cluster deve avere un'istanza principale. Se il tuo cluster non ha un'istanza principale, devi crearne una prima di poter gestire gli utenti.
Crea un utente di database
Per creare un utente di database che si autentica direttamente nel database utilizzando un nome utente e una password, nota anche come autenticazione integrata, segui i passaggi descritti in questa sezione.
Per creare un utente di database che utilizzi Identity and Access Management (IAM) per autenticarsi, consulta Gestire l'autenticazione IAM.
Console
Vai alla pagina Cluster.
Fai clic sul nome del cluster a cui vuoi aggiungere un utente.
Fai clic su Utenti.
Fai clic su Aggiungi account utente.
Lascia selezionata l'opzione Autenticazione integrata.
Se vuoi utilizzare IAM per autenticarti e accedere ai tuoi cluster di database, devi completare ulteriori passaggi per preparare il progetto e concedere le autorizzazioni appropriate al nuovo utente. Per ulteriori informazioni, consulta Gestire l'autenticazione IAM.
Inserisci un nome utente e una password per il nuovo utente.
Fai clic su Aggiungi.
psql
CREATE USER USERNAME WITH PASSWORD PASSWORD;
Per ulteriori informazioni su come creare e definire gli utenti del database, consulta
CREATE USER
.
Dopo aver creato un utente, puoi modificarne i privilegi utilizzando il comando
ALTER ROLE
nel client psql
.
gcloud
Utilizza il comando gcloud alloydb users create
.
gcloud alloydb users create USERNAME \
--password=PASSWORD \
--cluster=CLUSTER_ID \
--region=REGION_ID
Sostituisci le seguenti variabili:
USERNAME
: nome utente dell'utente.USERNAME
deve seguire le regole per gli identificatori SQL: senza caratteri speciali o tra virgolette doppie. Ad esempio:db_user_1
.PASSWORD
: password dell'utente. Per creare l'utente senza password, ometti questo argomento.CLUSTER_ID
: l'ID del cluster a cui aggiungere l'utente.REGION_ID
: l'ID della regione in cui risiede il cluster. Ad esempio,us-central1
.
Dopo aver creato un utente, puoi modificarne i privilegi utilizzando il comando
gcloud alloydb users set-roles
.
Inoltre, puoi concedere ruoli o privilegi di superutente a un utente durante la sua creazione. Per farlo, includi gli argomenti --db-roles
o --superuser
, come descritto nella sezione seguente.
Concedi ruoli a un utente del database
Console
Per concedere ruoli a un utente del database, utilizza psql
o gcloud CLI anziché la console Google Cloud.
psql
GRANT ROLE to USERNAME;
Sostituisci le seguenti variabili:
USERNAME
: nome utente dell'utente.ROLE
: ruolo da concedere all'utente. Ad esempio, per assegnare all'utente i privilegi di superutente, concedialloydbsuperuser
.
gcloud
Utilizza il comando gcloud alloydb users set-roles
per specificare tutti i ruoli che vuoi che l'utente possieda.
gcloud alloydb users set-roles USERNAME \
--db-roles=ROLES \
--cluster=CLUSTER_ID \
--region=REGION_ID
Sostituisci le seguenti variabili:
USERNAME
: nome utente dell'utente.ROLES
: elenco separato da virgole di tutti i ruoli che vuoi che l'utente possieda. Assicurati di elencare tutti i ruoli, inclusi quelli esistenti e nuovi.Per trovare l'elenco dei ruoli esistenti assegnati all'utente, esegui il seguente comando:
gcloud alloydb list users --cluster=CLUSTER_ID --region=REGION_ID
Sostituisci le seguenti variabili:
CLUSTER_ID
: l'ID del cluster contenente l'utente.REGION_ID
: l'ID della regione in cui risiede il cluster. Ad esempio,us-central1
.
Per concedere a un utente i privilegi di superutente, puoi assegnare manualmente all'utente il ruolo
alloydbsuperuser
utilizzandopsql
oppure puoi eseguire il comandogcloud alloydb users set-superuser
con l'argomento--superuser=true
:gcloud alloydb users set-superuser USERNAME \ --superuser=true \ --cluster=CLUSTER_ID \ --region=REGION_ID
Sostituisci le seguenti variabili:
CLUSTER_ID
: l'ID del cluster contenente l'utente.REGION_ID
: l'ID della regione in cui risiede il cluster. Ad esempio,us-central1
.
Modificare la password di un utente del database
Per impostare una nuova password per un utente del database PostgreSQL standard, segui i passaggi in questa sezione.
Non puoi modificare o impostare la password di un utente basato su IAM perché gli utenti IAM non utilizzano le password per l'autenticazione. Per maggiori informazioni, consulta Eseguire la connessione utilizzando un account IAM.
Console
Vai alla pagina Cluster.
Fai clic sul nome del cluster che contiene l'utente del database.
Fai clic su Utenti.
Nella riga che rappresenta l'utente, fai clic su
Apri le azioni per questo utente.Seleziona Cambia password.
Specifica una password:
Per impostare una nuova password per questo utente, digitala nel campo Password.
Per non impostare alcuna password per questo utente, seleziona la casella di controllo Nessuna password.
Fai clic su OK.
psql
ALTER USER USERNAME WITH PASSWORD PASSWORD;
Per ulteriori informazioni sulla modifica della password di un utente, consulta
ALTER ROLE
.
gcloud
Utilizza il comando gcloud alloydb users set-password
:
gcloud alloydb users set-password USERNAME \
--password=PASSWORD \
--cluster=CLUSTER_ID \
--region=REGION_ID
Sostituisci le seguenti variabili:
USERNAME
: nome utente dell'utente.PASSWORD
: nuova password da assegnare all'utente.CLUSTER_ID
: l'ID del cluster a cui appartiene l'utente.REGION_ID
: l'ID della regione in cui risiede il cluster. Ad esempio,us-central1
.
Revocare un ruolo da un utente di database
Console
Per revocare i ruoli a un utente, utilizza psql
o gcloud CLI,
invece della console Google Cloud.
psql
Puoi revocare i privilegi concessi in precedenza da uno o più ruoli o la partecipazione di un utente a un ruolo.
REVOKE ROLE FROM USERNAME;
Per rimuovere i privilegi di superutente di un utente, revoca il ruolo alloydbsuperuser
dall'utente.
gcloud
Per revocare un ruolo con Google Cloud CLI, utilizza il comando
gcloud alloydb users set-roles
per specificare tutti i ruoli che vuoi che l'utente possieda, omettendo
i ruoli da revocare dall'utente.
gcloud alloydb users set-roles USERNAME \
--db-roles=ROLES \
--cluster=CLUSTER_ID \
--region=REGION_ID
Sostituisci le seguenti variabili:
USERNAME
: nome utente dell'utente.ROLES
: elenco separato da virgole di tutti i ruoli che vuoi che l'utente possieda. Assicurati di elencare tutti i ruoli, inclusi quelli esistenti e nuovi.Per trovare l'elenco dei ruoli esistenti assegnati all'utente, esegui il seguente comando:
gcloud alloydb list users --cluster=CLUSTER_ID --region=REGION_ID
CLUSTER_ID
: ID del cluster contenente l'utente.REGION_ID
: l'ID della regione in cui risiede il cluster. Ad esempio,us-central1
.
Per revocare i privilegi di superutente, puoi rimuovere manualmente il ruolo alloydbsuperuser
di un utente utilizzando psql
oppure puoi eseguire il comando gcloud alloydb users set-superuser
con l'argomento --superuser=false
.
Visualizzare un elenco di utenti del database
Console
Vai alla pagina Cluster.
Fai clic sul nome del cluster di cui vuoi visualizzare gli utenti.
Fai clic su Utenti.
psql
Il comando \du
stampa una tabella di tutti gli utenti del database, inclusi i relativi appartenenze ai gruppi.
\du
gcloud
Utilizza il comando gcloud alloydb users list
.
gcloud alloydb users list \
--cluster=CLUSTER_ID \
--region=REGION_ID
Sostituisci quanto segue:
CLUSTER_ID
: l'ID del cluster contenente gli utenti.REGION_ID
: l'ID della regione in cui risiede il cluster. Ad esempio,us-central1
.
Eliminazione di un utente di database
Console
Vai alla pagina Cluster.
Fai clic sul nome del cluster contenente l'utente.
Fai clic su Utenti.
Nella riga che rappresenta l'utente, fai clic su
Apri le azioni per questo utente.Seleziona Rimuovi.
Nella finestra di dialogo Rimuovere l'account utente?, fai clic su Rimuovi.
psql
Prima di eliminare un utente, devi eliminare o riassegnare tutti gli oggetti di sua proprietà e revocare tutti i privilegi che gli sono stati concessi su altri oggetti.
DROP ROLE USERNAME;
gcloud
Utilizza il comando gcloud alloydb users delete
.
gcloud alloydb users delete USERNAME \
--cluster=CLUSTER_ID \
--region=REGION_ID
Sostituisci quanto segue:
USERNAME
: nome utente dell'utente.CLUSTER_ID
: l'ID del cluster a cui appartiene l'utente.REGION_ID
: l'ID della regione in cui risiede il cluster. Ad esempio,us-central1
.