Questa pagina descrive come attivare e utilizzare l'autenticazione integrata di Cloud SQL.
Per una panoramica, consulta Autenticazione del database integrata di Cloud SQL.Prima di creare gli utenti
- Creare un'istanza di Cloud SQL. Per maggiori informazioni, consulta Creare istanze.
- Abilita i criteri relativi alle password per l'istanza. Per ulteriori informazioni, consulta Criteri per le password delle istanze.
Se prevedi di utilizzare il client di amministrazione del database per gestire gli utenti, segui questi passaggi:
Connetti il client all'istanza. Vedi Opzioni di connessione per le applicazioni esterne.
Configura l'utente predefinito nell'istanza impostando la password. Vedi Impostare la password per l'account utente predefinito.
Impostare la password per l'account utente predefinito
Quando crei una nuova istanza Cloud SQL, devi impostare una password per l'account utente predefinito prima di poterti connettere all'istanza.
Per Cloud SQL per PostgreSQL, l'utente predefinito èpostgres
.
Console
-
Nella console Google Cloud, vai alla pagina Istanze Cloud SQL.
- Per aprire la pagina Panoramica di un'istanza, fai clic sul nome dell'istanza.
- Seleziona Utenti dal menu di navigazione SQL.
- Trova l'utente
postgres
e seleziona Cambia password dal menu Altre azioni . - Fornisci una password efficace facile da ricordare e fai clic su OK.
gcloud
Utilizza il comando
gcloud sql users set-password
come segue per impostare la password per l'utente predefinito.
Sostituisci INSTANCE_NAME con il nome dell'istanza prima di eseguire il comando.
gcloud sql users set-password postgres \ --instance=INSTANCE_NAME \ --prompt-for-password
REST v1
Per aggiornare la password dell'account utente predefinito, utilizza una richiesta PUT con il metodo users:update.
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- project-id: il tuo ID progetto
- instance-id: l'ID istanza desiderato
- user-id: l'ID dell'utente
- password: la password dell'utente
Metodo HTTP e URL:
PUT https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id/users?name=user-id
Corpo JSON della richiesta:
{ "name": "user-id", "password": "password" }
Per inviare la richiesta, espandi una di queste opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id", "status": "DONE", "user": "user@example.com", "insertTime": "2020-02-07T22:38:41.217Z", "startTime": "2020-02-07T22:38:41.217Z", "endTime": "2020-02-07T22:38:44.801Z", "operationType": "UPDATE_USER", "name": "operation-id", "targetId": "instance-id", "selfLink": "https://sqladmin.googleapis.com/v1/projects/project-id/operations/operation-id", "targetProject": "project-id" }
REST v1beta4
Per aggiornare la password dell'account utente predefinito, utilizza una richiesta PUT con il metodo users:update.
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- project-id: il tuo ID progetto
- instance-id: l'ID istanza desiderato
- user-id: l'ID dell'utente
- password: la password dell'utente
Metodo HTTP e URL:
PUT https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/users?name=user-id
Corpo JSON della richiesta:
{ "name": "user-id", "password": "password" }
Per inviare la richiesta, espandi una di queste opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id", "status": "DONE", "user": "user@example.com", "insertTime": "2020-02-07T22:38:41.217Z", "startTime": "2020-02-07T22:38:41.217Z", "endTime": "2020-02-07T22:38:44.801Z", "operationType": "UPDATE_USER", "name": "operation-id", "targetId": "instance-id", "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/operations/operation-id", "targetProject": "project-id" }
Crea un utente
Dopo aver configurato l'account utente predefinito, puoi creare altri utenti.
Console
-
Nella console Google Cloud, vai alla pagina Istanze Cloud SQL.
- Per aprire la pagina Panoramica di un'istanza, fai clic sul nome dell'istanza.
- Seleziona Utenti dal menu di navigazione SQL.
- Fai clic su Aggiungi account utente.
Nella pagina Aggiungi un account utente all'istanza instance_name, puoi scegliere se l'utente deve eseguire l'autenticazione con il metodo del database integrato (nome utente e password) o come utente IAM.
- Seleziona Autenticazione integrata (impostazione predefinita) e aggiungi le seguenti informazioni:
- Un nome utente.
- Facoltativo. Una password. Fornisci una password efficace che sia facile da ricordare.
- Fai clic su Aggiungi.
Agli utenti creati nelle istanze utilizzando il metodo di autenticazione di Cloud SQL viene concesso automaticamente il ruolo cloudsqlsuperuser
e dispongono dei seguenti privilegi associati a questo ruolo: CREATEROLE
, CREATEDB
e LOGIN
.
Se devi modificare gli attributi per questi utenti, utilizza il comando ALTER ROLE nel client psql
. Non tutti gli attributi possono essere
modificati con ALTER ROLE
. Le eccezioni includono i ruoli NOSUPERUSER
e NOREPLICATION
.
gcloud
Per creare un utente, utilizza il comando
gcloud sql users create
.
Sostituisci quanto segue:
- USER_NAME: il nome utente.
- INSTANCE_NAME: il nome dell'istanza.
- PASSWORD: la password dell'utente.
gcloud sql users create USER_NAME \ --instance=INSTANCE_NAME \ --password=PASSWORD
Agli utenti creati nelle istanze utilizzando il metodo di autenticazione di Cloud SQL viene concesso automaticamente il ruolo cloudsqlsuperuser
e dispongono dei seguenti privilegi associati a questo ruolo: CREATEROLE
, CREATEDB
e LOGIN
.
Se devi modificare gli attributi per questi utenti, utilizza il comando ALTER ROLE nel client psql
. Non tutti gli attributi possono essere
modificati con ALTER ROLE
. Le eccezioni includono i ruoli NOSUPERUSER
e NOREPLICATION
.
I limiti di lunghezza dei nomi utente sono gli stessi per Cloud SQL e per PostgreSQL on-premise.
Quando crei un utente, puoi aggiungere parametri dei criteri relativi alle password utente.
Terraform
Per creare un utente, utilizza una risorsa Terraform.
Applica le modifiche
Per applicare la configurazione Terraform in un progetto Google Cloud, completa i passaggi nelle sezioni seguenti.
prepara Cloud Shell
- Avvia Cloud Shell.
-
Imposta il progetto Google Cloud predefinito a cui vuoi applicare le configurazioni Terraform.
Devi eseguire questo comando una sola volta per progetto e puoi eseguirlo in qualsiasi directory.
export GOOGLE_CLOUD_PROJECT=PROJECT_ID
Se imposti valori espliciti nel file di configurazione Terraform, le variabili di ambiente vengono sostituite.
Prepara la directory
Ogni file di configurazione Terraform deve avere una propria directory (detta anche modulo principale).
-
In Cloud Shell, crea una directory e un nuovo file al suo interno. Il nome del file deve avere l'estensione
.tf
, ad esempiomain.tf
. In questo tutorial, il file è indicato comemain.tf
.mkdir DIRECTORY && cd DIRECTORY && touch main.tf
-
Se stai seguendo un tutorial, puoi copiare il codice campione in ogni sezione o passaggio.
Copia il codice campione nel file
main.tf
appena creato.Se vuoi, copia il codice da GitHub. Questa opzione è consigliata se lo snippet Terraform fa parte di una soluzione end-to-end.
- Esamina e modifica i parametri di esempio da applicare al tuo ambiente.
- Salva le modifiche.
-
Inizializza Terraform. Devi eseguire questa operazione una sola volta per directory.
terraform init
Facoltativamente, per utilizzare la versione più recente del provider Google, includi l'opzione
-upgrade
:terraform init -upgrade
Applica le modifiche
-
Rivedi la configurazione e verifica che le risorse che Terraform creerà o aggiornerà corrispondano alle tue aspettative:
terraform plan
Apporta le correzioni necessarie alla configurazione.
-
Applica la configurazione Terraform eseguendo il comando seguente e inserendo
yes
al prompt:terraform apply
Attendi finché Terraform non visualizza il messaggio "Applicazione completata".
- Apri il progetto Google Cloud per visualizzare i risultati. Nella console Google Cloud, vai alle risorse nell'interfaccia utente per assicurarti che Terraform le abbia create o aggiornate.
Elimina le modifiche
Per eliminare le modifiche:
- Per disabilitare la protezione dall'eliminazione, nel file di configurazione Terraform imposta
l'argomento
deletion_protection
sufalse
.deletion_protection = "false"
- Applica la configurazione Terraform aggiornata eseguendo il comando seguente e inserendo
yes
al prompt:terraform apply
-
Rimuovi le risorse applicate in precedenza con la tua configurazione Terraform eseguendo il comando seguente e inserendo
yes
al prompt:terraform destroy
REST v1
Per creare un utente, utilizza una richiesta POST con il metodo users:insert.
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- project-id: il tuo ID progetto
- instance-id: l'ID istanza desiderato
- user-id: l'ID dell'utente
- password: la password dell'utente
Metodo HTTP e URL:
POST https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id/users
Corpo JSON della richiesta:
{ "name": "user-id", "password": "password" }
Per inviare la richiesta, espandi una di queste opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id", "status": "DONE", "user": "user@example.com", "insertTime": "2020-02-07T22:44:16.656Z", "startTime": "2020-02-07T22:44:16.686Z", "endTime": "2020-02-07T22:44:20.437Z", "operationType": "CREATE_USER", "name": "operation-id", "targetId": "instance-id", "selfLink": "https://sqladmin.googleapis.com/v1/projects/project-id/operations/operation-id", "targetProject": "project-id" }
Agli utenti creati nelle istanze utilizzando il metodo di autenticazione di Cloud SQL viene concesso automaticamente il ruolo cloudsqlsuperuser
e dispongono dei seguenti privilegi associati a questo ruolo: CREATEROLE
, CREATEDB
e LOGIN
.
Se devi modificare gli attributi per questi utenti, utilizza il comando ALTER ROLE nel client psql
. Non tutti gli attributi possono essere
modificati con ALTER ROLE
. Le eccezioni includono i ruoli NOSUPERUSER
e NOREPLICATION
.
I limiti di lunghezza dei nomi utente sono gli stessi per Cloud SQL e per PostgreSQL on-premise.
Quando crei un utente, puoi aggiungere parametri dei criteri relativi alle password utente.
REST v1beta4
Per creare un utente, utilizza una richiesta POST con il metodo users:insert.
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- project-id: il tuo ID progetto
- instance-id: l'ID istanza desiderato
- user-id: l'ID dell'utente
- password: la password dell'utente
Metodo HTTP e URL:
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/users
Corpo JSON della richiesta:
{ "name": "user-id", "password": "password" }
Per inviare la richiesta, espandi una di queste opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id", "status": "DONE", "user": "user@example.com", "insertTime": "2020-02-07T22:44:16.656Z", "startTime": "2020-02-07T22:44:16.686Z", "endTime": "2020-02-07T22:44:20.437Z", "operationType": "CREATE_USER", "name": "operation-id", "targetId": "instance-id", "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/operations/operation-id", "targetProject": "project-id" }
Agli utenti creati nelle istanze utilizzando il metodo di autenticazione di Cloud SQL viene concesso automaticamente il ruolo cloudsqlsuperuser
e dispongono dei seguenti privilegi associati a questo ruolo: CREATEROLE
, CREATEDB
e LOGIN
.
Se devi modificare gli attributi per questi utenti, utilizza il comando ALTER ROLE nel client psql
. Non tutti gli attributi possono essere
modificati con ALTER ROLE
. Le eccezioni includono i ruoli NOSUPERUSER
e NOREPLICATION
.
I limiti di lunghezza dei nomi utente sono gli stessi per Cloud SQL e per PostgreSQL on-premise.
Quando crei un utente, puoi aggiungere parametri dei criteri relativi alle password utente.
Client psql
- Al prompt di
psql
, crea l'utente:CREATE USER USER_NAME WITH PASSWORD PASSWORD ATTRIBUTE1 ATTRIBUTE2...;
Inserisci la password quando richiesto.
Per ulteriori informazioni sugli attributi dei ruoli, consulta la documentazione di PostgreSQL.
- Puoi confermare la creazione dell'utente visualizzando la tabella utenti:
SELECT * FROM pg_roles;
Impostare un criterio per le password utente
Puoi impostare un criterio per le password con il tipo di autenticazione integrato.
gcloud
Per impostare i criteri relativi alle password utente, utilizza il comando
gcloud sql users set-password-policy
.
Sostituisci quanto segue:
- USER_NAME: il nome utente.
- INSTANCE_NAME: il nome dell'istanza.
- HOST: il nome host dell'utente come indirizzo IP, intervallo di indirizzi
o qualsiasi host (
%
) specifico. - PASSWORD_POLICY_ALLOWED_FAILED_ATTEMPTS: facoltativo: il numero di volte in cui un utente può provare a inserire la password in modo errato prima che l'account venga bloccato. Usa
--password-policy-enable-failed-attempts-check
per abilitare e--no-password-policy-enable-failed-attempts-check
per disabilitare il controllo. - PASSWORD_POLICY_PASSWORD_EXPIRATION_DURATION (Facoltativo) Specifica il numero di giorni dopo il quale la password scade e l'utente deve crearne una nuova.
gcloud sql users set-password-policy USER_NAME \ --instance=INSTANCE_NAME \ --host=HOST \ --password-policy-enable-failed-attempts-check \ --password-policy-allowed-failed-attempts=PASSWORD_POLICY_ALLOWED_FAILED_ATTEMPTS \ --password-policy-password-expiration-duration=PASSWORD_POLICY_PASSWORD_EXPIRATION_DURATION
Per rimuovere un criterio relativo alle password utente, utilizza il parametro --clear-password-policy
.
gcloud sql users set-password-policy USER_NAME \ --instance=INSTANCE_NAME \ --host=HOST \ --clear-password-policy
Per visualizzare i criteri relativi alle password utente, consulta Elencare gli utenti.
REST v1
Per impostare un criterio per le password utente, usa una richiesta PUT con il metodo users:update.
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- PROJECT_ID: il tuo ID progetto
- INSTANCE_ID: l'ID istanza
- USER_ID: l'ID dell'utente
- PASSWORD: la password dell'utente
- FAILED_ATTEMPTS_CHECK: impostato su
true
per abilitare un controllo del numero di tentativi di accesso non riusciti dopo i quali l'account è stato bloccato - NUMBER_OF_ATTEMPTS: il numero di tentativi di accesso non riusciti dopo i quali l'account è stato bloccato
- PASSWORD_EXPIRATION_DURATION: il numero di giorni dopo il quale la password scade e l'utente deve crearne una nuova
Metodo HTTP e URL:
PUT https://sqladmin.googleapis.com/sql/v1/projects/PROJECT_ID/instances/INSTANCE_ID/users?name=USER_ID
Corpo JSON della richiesta:
{ "name": "USER_ID", "password": "PASSWORD", "data": { "passwordValidationUserPolicy" : { { "enableFailedAttemptsCheck" : "FAILED_ATTEMPTS_CHECK", "allowedFailedAttempts" : "NUMBER_OF_ATTEMPTS", "passwordExpirationDuration" : "PASSWORD_EXPIRATION_DURATION" } }, } }
Per inviare la richiesta, espandi una di queste opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
Per visualizzare i criteri relativi alle password utente, consulta Elencare gli utenti.
REST v1beta4
Per impostare un criterio per le password utente, usa una richiesta PUT con il metodo users:update.
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- PROJECT_ID: il tuo ID progetto
- INSTANCE_ID: l'ID istanza
- USER_ID: l'ID dell'utente
- PASSWORD: la password dell'utente
- FAILED_ATTEMPTS_CHECK: impostato su
true
per abilitare un controllo del numero di tentativi di accesso non riusciti dopo i quali l'account è stato bloccato - NUMBER_OF_ATTEMPTS: il numero di tentativi di accesso non riusciti dopo i quali l'account è stato bloccato
- PASSWORD_EXPIRATION_DURATION: il numero di giorni dopo il quale la password scade e l'utente deve crearne una nuova
Metodo HTTP e URL:
PUT https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID/users?name=USER_ID
Corpo JSON della richiesta:
{ "name": "USER_ID", "password": "PASSWORD", "data": { "passwordValidationUserPolicy" : { { "enableFailedAttemptsCheck" : "FAILED_ATTEMPTS_CHECK", "allowedFailedAttempts" : "NUMBER_OF_ATTEMPTS", "passwordExpirationDuration" : "PASSWORD_EXPIRATION_DURATION" } }, } }
Per inviare la richiesta, espandi una di queste opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
Per visualizzare i criteri relativi alle password utente, consulta Elencare gli utenti.
Elenca utenti
Console
-
Nella console Google Cloud, vai alla pagina Istanze Cloud SQL.
- Per aprire la pagina Panoramica di un'istanza, fai clic sul nome dell'istanza.
- Seleziona Utenti dal menu di navigazione SQL.
gcloud
Utilizza il comando gcloud sql users list per elencare gli utenti di questa istanza:
gcloud sql users list \ --instance=INSTANCE_NAME
Il comando restituisce Name
, Host
e
l'autenticazione Type
per ogni utente.
Inoltre, per il tipo di autenticazione integrato, vengono restituiti lo stato e le impostazioni dei criteri relativi alle password. Ad esempio:
NAME HOST TYPE PASSWORD_POLICY user1 BUILT_IN {'allowedFailedAttempts': 2, 'enableFailedAttemptsCheck': True, 'passwordExpirationDuration': '7d', 'status': { 'locked': True, 'passwordExpirationTime': '2022-07-01T19:53:45.822742904Z' } }
REST v1
Per elencare gli utenti definiti per un'istanza, utilizza una richiesta GET con il metodo users:list.
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- project-id: il tuo ID progetto
- instance-id: l'ID istanza desiderato
Metodo HTTP e URL:
GET https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id/users
Per inviare la richiesta, espandi una di queste opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
{ "kind": "sql#usersList", "items": [ { "kind": "sql#user", "etag": "--redacted--", "name": "sqlserver", "host": "", "instance": "instance-id", "project": "project-id", "sqlserverUserDetails": { "serverRoles": [ "CustomerDbRootRole" ] } }, { "kind": "sql#user", "etag": "--redacted--", "name": "user-id-1", "host": "", "instance": "instance-id", "project": "project-id", "sqlserverUserDetails": { "serverRoles": [ "CustomerDbRootRole" ] } }, { "kind": "sql#user", "etag": "--redacted--", "name": "user-id-2", "host": "", "instance": "instance-id", "project": "project-id", "sqlserverUserDetails": { "serverRoles": [ "CustomerDbRootRole" ] } }, { ... }, { ... } ] }
Se è stato impostato un criterio relativo alle password utente, la sezione items
della risposta include una sezione passwordPolicy
. Il seguente esempio di codice mostra la sezione passwordPolicy
.
{ ... "passwordValidationUserPolicy" : { { "enableFailedAttemptsCheck" : true, "allowedFailedAttempts" : 8, "passwordExpirationDuration" : "7d" } }, ... }
REST v1beta4
Per elencare gli utenti definiti per un'istanza, utilizza una richiesta GET con il metodo users:list.
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- project-id: il tuo ID progetto
- instance-id: l'ID istanza desiderato
Metodo HTTP e URL:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/users
Per inviare la richiesta, espandi una di queste opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
{ "kind": "sql#usersList", "items": [ { "kind": "sql#user", "etag": "--redacted--", "name": "sqlserver", "host": "", "instance": "instance-id", "project": "project-id", "sqlserverUserDetails": { "serverRoles": [ "CustomerDbRootRole" ] } }, { "kind": "sql#user", "etag": "--redacted--", "name": "user-id-1", "host": "", "instance": "instance-id", "project": "project-id", "sqlserverUserDetails": { "serverRoles": [ "CustomerDbRootRole" ] } }, { "kind": "sql#user", "etag": "--redacted--", "name": "user-id-2", "host": "", "instance": "instance-id", "project": "project-id", "sqlserverUserDetails": { "serverRoles": [ "CustomerDbRootRole" ] } }, { ... }, { ... } ] }
Se è stato impostato un criterio relativo alle password utente, la sezione items
della risposta include una sezione passwordPolicy
. Il seguente esempio di codice mostra la sezione passwordPolicy
.
{ ... "passwordValidationUserPolicy" : { { "enableFailedAttemptsCheck" : true, "allowedFailedAttempts" : 8, "passwordExpirationDuration" : "7d" } }, ... }
Client psql
Al prompt psql
, elenca gli utenti PostgreSQL:
SELECT * FROM pg_roles;
Modificare la password di un utente
Le password utente possono essere modificate in uno dei seguenti modi.
Console
-
Nella console Google Cloud, vai alla pagina Istanze Cloud SQL.
- Per aprire la pagina Panoramica di un'istanza, fai clic sul nome dell'istanza.
- Seleziona Utenti dal menu di navigazione SQL.
- Fai clic su Altre azioni per l'utente che vuoi aggiornare.
- Seleziona Cambia password.
- Specifica una nuova password.
- Fai clic su Ok.
gcloud
Utilizza il comando
gcloud sql users set-password
per cambiare una password.
Sostituisci quanto segue:
- USER_NAME: il nome utente.
- INSTANCE_NAME: il nome dell'istanza.
gcloud sql users set-password USER_NAME \ --instance=INSTANCE_NAME \ --prompt-for-password
REST v1
Per modificare la password di un utente, usa una richiesta PUT con il metodo users:update.
La seguente richiesta aggiorna la password dell'account utente
user_name
.
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- project-id: il tuo ID progetto
- instance-id: l'ID istanza desiderato
- user-id: l'ID dell'utente
- password: la password dell'utente
Metodo HTTP e URL:
PUT https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id/users?name=user-id
Corpo JSON della richiesta:
{ "name": "user-id", "password": "password", "retainedPassword" : "dual-password" }
Per inviare la richiesta, espandi una di queste opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id", "status": "DONE", "user": "user@example.com", "insertTime": "2020-02-07T22:38:41.217Z", "startTime": "2020-02-07T22:38:41.217Z", "endTime": "2020-02-07T22:38:44.801Z", "operationType": "UPDATE_USER", "name": "operation-id", "targetId": "instance-id", "selfLink": "https://sqladmin.googleapis.com/v1/projects/project-id/operations/operation-id", "targetProject": "project-id" }
REST v1beta4
Per modificare la password di un utente, usa una richiesta PUT con il metodo users:update.
La seguente richiesta aggiorna la password dell'account utente
user_name
.
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- project-id: il tuo ID progetto
- instance-id: l'ID istanza desiderato
- user-id: l'ID dell'utente
- password: la password dell'utente
Metodo HTTP e URL:
PUT https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/users?name=user-id
Corpo JSON della richiesta:
{ "name": "user-id", "password": "password", "retainedPassword" : "dual-password" }
Per inviare la richiesta, espandi una di queste opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id", "status": "DONE", "user": "user@example.com", "insertTime": "2020-02-07T22:38:41.217Z", "startTime": "2020-02-07T22:38:41.217Z", "endTime": "2020-02-07T22:38:44.801Z", "operationType": "UPDATE_USER", "name": "operation-id", "targetId": "instance-id", "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/operations/operation-id", "targetProject": "project-id" }
Client psql
Al promptpsql
, esegui il comando ALTER USER.
- Sbloccare l'utente.
ALTER USER USER_NAME WITH LOGIN;
- Cambia la password e inseriscila quando richiesto.
ALTER USER USER_NAME WITH PASSWORD PASSWORD;
Se un utente viene bloccato a causa delle impostazioni dei criteri relativi alle password, modifica la password per sbloccarlo. Assicurati che le password, quando vengono modificate, rispettino i criteri relativi alle password.
Rimuovere un criterio per le password utente
Puoi rimuovere un criterio relativo alle password da un utente con il tipo di autenticazione integrato.
gcloud
Per rimuovere i criteri relativi alle password utente, utilizza il comando
gcloud sql users set-password-policy
e il parametro --clear-password-policy
.
Sostituisci quanto segue:
- USER_NAME: il nome utente
- INSTANCE_NAME: il nome dell'istanza
- HOST: il nome host dell'utente come indirizzo IP, intervallo di indirizzi
o qualsiasi host (
%
) specifico
gcloud sql users set-password-policy USER_NAME \ --instance=INSTANCE_NAME \ --host=HOST \ --clear-password-policy
REST v1
Per rimuovere un criterio per le password utente, utilizza una richiesta PUT con il metodo users:update.
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- PROJECT_ID: il tuo ID progetto
- INSTANCE_ID: l'ID istanza
- USER_ID: l'ID dell'utente
- PASSWORD: la password dell'utente
Metodo HTTP e URL:
PUT https://sqladmin.googleapis.com/sql/v1/projects/PROJECT_ID/instances/INSTANCE_ID/users?name=USER_ID
Corpo JSON della richiesta:
{ "name": "USER_ID", "password": "PASSWORD", "data": { "passwordValidationUserPolicy" : {} } }
Per inviare la richiesta, espandi una di queste opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
REST v1beta4
Per rimuovere un criterio per le password utente, utilizza una richiesta PUT con il metodo users:update.
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- PROJECT_ID: il tuo ID progetto
- INSTANCE_ID: l'ID istanza
- USER_ID: l'ID dell'utente
- PASSWORD: la password dell'utente
Metodo HTTP e URL:
PUT https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID/users?name=USER_ID
Corpo JSON della richiesta:
{ "name": "USER_ID", "password": "PASSWORD", "data": { "passwordValidationUserPolicy" : {} } }
Per inviare la richiesta, espandi una di queste opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
Rimuovere un utente
L'utente predefinito può rimuovere gli utenti.
Prima di rimuovere un utente, devi eliminare tutti gli oggetti di sua proprietà o riassegnarne la proprietà e revocare gli eventuali privilegi concessi dal ruolo per altri oggetti.
Console
-
Nella console Google Cloud, vai alla pagina Istanze Cloud SQL.
- Per aprire la pagina Panoramica di un'istanza, fai clic sul nome dell'istanza.
- Seleziona Utenti dal menu di navigazione SQL.
- Fai clic su Altre azioni per l'utente che vuoi rimuovere.
- Seleziona Rimuovi, quindi di nuovo Rimuovi.
gcloud
Utilizza il comando
gcloud sql users delete
per rimuovere un utente.
Sostituisci quanto segue:
- USER_NAME: il nome utente.
- INSTANCE_NAME: il nome dell'istanza.
gcloud sql users delete USER_NAME \ --instance=INSTANCE_NAME
REST v1
La richiesta seguente utilizza il metodo users:delete per eliminare l'account utente specificato.
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- PROJECT_ID: il tuo ID progetto
- INSTANCE_ID: l'ID istanza desiderato
- USERNAME: l'indirizzo email dell'account utente o di servizio
Metodo HTTP e URL:
DELETE https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID/users?host=&name=USERNAME
Per inviare la richiesta, espandi una di queste opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID", "status": "DONE", "user": "user@example.com", "insertTime": "2020-02-07T22:38:41.217Z", "startTime": "2020-02-07T22:38:41.217Z", "endTime": "2020-02-07T22:38:44.801Z", "operationType": "DELETE_USER", "name": "OPERATION_ID", "targetId": "INSTANCE_ID", "selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/operations/OPERATION_ID", "targetProject": "PROJECT_ID" }
REST v1beta4
La richiesta seguente utilizza il metodo users:delete per eliminare l'account utente specificato.
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- PROJECT_ID: il tuo ID progetto
- INSTANCE_ID: l'ID istanza desiderato
- USERNAME: l'indirizzo email dell'account utente o di servizio
Metodo HTTP e URL:
DELETE https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID/users?host=&name=USERNAME
Per inviare la richiesta, espandi una di queste opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID", "status": "DONE", "user": "user@example.com", "insertTime": "2020-02-07T22:38:41.217Z", "startTime": "2020-02-07T22:38:41.217Z", "endTime": "2020-02-07T22:38:44.801Z", "operationType": "DELETE_USER", "name": "OPERATION_ID", "targetId": "INSTANCE_ID", "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/operations/OPERATION_ID", "targetProject": "PROJECT_ID" }
Client psql
- Al prompt di
psql
, elimina l'utente:DROP ROLE USER_NAME;
Per ulteriori informazioni sull'istruzione
DROP ROLE
, consulta la documentazione di PostgreSQL.
Aggiorna le proprietà utente
Per aggiornare le proprietà utente come gli attributi, devi utilizzare il clientpsql
.
Per ulteriori informazioni, consulta Ruoli database nella documentazione di PostgreSQL.
Passaggi successivi
- Scopri di più su come funziona Cloud SQL con gli utenti.
- Leggi la documentazione di PostgreSQL sulla creazione dei ruoli.
- Scopri di più sulla connessione alle istanze.