Questa pagina descrive come creare, gestire e rimuovere ruoli, utenti e gruppi PostgreSQL e AlloyDB per PostgreSQL utilizzando i metodi di autenticazione integrati PostgreSQL basati su password.
Crea utenti PostgreSQL in AlloyDB
Quando crei utenti PostgreSQL, questi iniziano solo con il privilegio LOGIN
.
Per ulteriori informazioni su questi privilegi, vedi
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 mostrano le attività comuni di gestione degli utenti utilizzando uno dei due metodi.
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 ruolo utente con i privilegi amministrativi appropriati
Per utilizzare la console Google Cloud o Google Cloud CLI per gestire gli utenti su un cluster, quest'ultimo deve avere un'istanza primaria. Se il tuo cluster non ha un'istanza primaria, devi crearne una prima di poter gestire gli utenti.
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, segui i passaggi descritti in questa sezione.
Per creare invece un utente di database che utilizza Identity and Access Management (IAM) per l'autenticazione, 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 saperne di più, consulta Gestire l'autenticazione IAM.
Inserisci un nome utente e una password per il nuovo utente.
Per assegnare all'utente ruoli diversi da quello predefinito
alloydbsuperuser
, segui questi passaggi:- Inserisci il nome del ruolo in Ruoli.
- Per aggiungere il ruolo, premi Invio o Tab.
Seleziona x per tutti i ruoli che vuoi rimuovere per l'utente.
Per saperne di più, consulta Ruoli predefiniti.
Fai clic su Aggiungi.
psql
CREATE USER USERNAME WITH PASSWORD PASSWORD;
Per ulteriori informazioni su come creare e definire gli utenti del database, vedi
CREATE USER
.
Dopo aver creato un utente, puoi modificarne i privilegi utilizzando il comando
ALTER ROLE
nel client psql
.
gcloud
Utilizza il seguente
comando gcloud alloydb users create
:
gcloud alloydb users create USERNAME \
--password=PASSWORD \
--cluster=CLUSTER_ID \
--region=REGION_ID
Sostituisci le seguenti variabili:
USERNAME
: il nome utente dell'utente.USERNAME
deve seguire le regole per gli identificatori SQL: senza caratteri speciali o racchiuso tra virgolette doppie. Ad esempio:db_user_1
.PASSWORD
: la password dell'utente. Per creare l'utente senza una password, ometti questo argomento.CLUSTER_ID
: l'ID del cluster a cui aggiungere l'utente.REGION_ID
: ID della regione in cui si trova 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 creazione. Per farlo, includi gli argomenti --db-roles
o --superuser
, come descritto nella sezione seguente.
Concedere 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
: il nome utente dell'utente.ROLE
: il ruolo da concedere all'utente. Ad esempio, per concedere all'utente i privilegi di superutente, concediglialloydbsuperuser
.
gcloud
Utilizza il seguente 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
: il 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 quelli nuovi.Per trovare l'elenco dei ruoli esistenti assegnati all'utente, esegui questo comando:
gcloud alloydb users list --cluster=CLUSTER_ID --region=REGION_ID
Sostituisci le seguenti variabili:
CLUSTER_ID
: l'ID del cluster che contiene l'utente.REGION_ID
: ID della regione in cui si trova il cluster. Ad esempio,us-central1
.
Per concedere a un utente i privilegi di superuser, puoi concedere manualmente a questo 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 che contiene l'utente.REGION_ID
: ID della regione in cui si trova 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 password per l'autenticazione. Per maggiori informazioni, vedi Connettiti 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, digita la password 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 saperne di più su come modificare la password di un utente, vedi
ALTER ROLE
.
gcloud
Utilizza il seguente 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
: il nome utente dell'utente.PASSWORD
: la nuova password da assegnare all'utente.CLUSTER_ID
: l'ID del cluster a cui appartiene l'utente.REGION_ID
: ID della regione in cui si trova il cluster. Ad esempio,us-central1
.
Revocare un ruolo da un utente del database
Console
Per revocare i ruoli di un utente, utilizza psql
o gcloud CLI,
anziché la console Google Cloud .
psql
Puoi revocare i privilegi concessi in precedenza a uno o più ruoli o revocare l'appartenenza di un utente a un ruolo, come mostrato di seguito:
REVOKE ROLE FROM USERNAME;
Per rimuovere i privilegi di superutente di un utente, revoca il ruolo alloydbsuperuser
per quell'utente.
gcloud
Per revocare un ruolo con Google Cloud CLI, utilizza il seguente comando
gcloud alloydb users set-roles
per specificare tutti i ruoli che vuoi che l'utente possieda e per omettere
i ruoli da revocare all'utente:
gcloud alloydb users set-roles USERNAME \
--db-roles=ROLES \
--cluster=CLUSTER_ID \
--region=REGION_ID
Sostituisci le seguenti variabili:
USERNAME
: il 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 quelli nuovi.Per trovare l'elenco dei ruoli esistenti assegnati all'utente, esegui questo comando:
gcloud alloydb users list --cluster=CLUSTER_ID --region=REGION_ID
CLUSTER_ID
: l'ID del cluster che contiene l'utente.REGION_ID
: ID della regione in cui si trova il cluster. Ad esempio,us-central1
.
Per revocare i privilegi di superuser, 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
Utilizza il seguente comando \du
per stampare una tabella di tutti gli utenti del database,
inclusi i membri del gruppo:
\du
gcloud
Utilizza il seguente 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
: ID della regione in cui si trova il cluster. Ad esempio,us-central1
.
Eliminazione di un utente di database
Console
Vai alla pagina Cluster.
Fai clic sul nome del cluster che contiene 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. Utilizza quanto segue:
DROP ROLE USERNAME;
gcloud
Utilizza il seguente
comando gcloud alloydb users delete
:
gcloud alloydb users delete USERNAME \
--cluster=CLUSTER_ID \
--region=REGION_ID
Sostituisci quanto segue:
USERNAME
: il nome utente dell'utente.CLUSTER_ID
: l'ID del cluster a cui appartiene l'utente.REGION_ID
: ID della regione in cui si trova il cluster. Ad esempio,us-central1
.