En esta página se describe cómo habilitar y usar la autenticación integrada de Cloud SQL.
Para obtener una descripción general, consulta Autenticación de bases de datos integrada de Cloud SQL.Antes de crear usuarios
- Crea una instancia de Cloud SQL. Para obtener más información, consulta Crear instancias.
- Habilita las políticas de contraseñas en la instancia. Para obtener más información, consulta las políticas de contraseñas de instancias.
Si tienes previsto usar el cliente administrativo de tu base de datos para gestionar usuarios, sigue estos pasos:
Conecta el cliente a tu instancia. Consulta Opciones de conexión para aplicaciones externas.
Configura el usuario predeterminado de la instancia definiendo la contraseña. Consulta Establecer la contraseña de la cuenta de usuario predeterminada.
Definir la contraseña de la cuenta de usuario predeterminada
Cuando creas una instancia de Cloud SQL, debes definir una contraseña para la cuenta de usuario predeterminada antes de poder conectarte a la instancia.
En Cloud SQL para PostgreSQL, el usuario predeterminado espostgres
.
Consola
-
En la Google Cloud consola, ve a la página Instancias de Cloud SQL.
- Para abrir la página Overview (Resumen) de una instancia, haz clic en su nombre.
- En el menú de navegación de SQL, selecciona Usuarios.
- Busca el usuario
postgres
y selecciona Cambiar contraseña en el menú de más acciones.
- Introduce una contraseña segura que puedas recordar y haz clic en Aceptar.
gcloud
Usa el comando
gcloud sql users set-password
de la siguiente manera para definir la contraseña del usuario predeterminado.
Sustituye INSTANCE_NAME por el nombre de la instancia antes de ejecutar el comando.
gcloud sql users set-password postgres \ --instance=INSTANCE_NAME \ --prompt-for-password
REST v1
Para actualizar la contraseña de la cuenta de usuario predeterminada, usa una solicitud PUT con el método users:update.
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- project-id: tu ID de proyecto
- instance-id: el ID de instancia que quieras
- user-id: ID del usuario.
- password: la contraseña del usuario
Método HTTP y URL:
PUT https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id/users?name=user-id
Cuerpo JSON de la solicitud:
{ "name": "user-id", "password": "password" }
Para enviar tu solicitud, despliega una de estas opciones:
Deberías recibir una respuesta JSON similar a la siguiente:
{ "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
Para actualizar la contraseña de la cuenta de usuario predeterminada, usa una solicitud PUT con el método users:update.
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- project-id: tu ID de proyecto
- instance-id: el ID de instancia que quieras
- user-id: ID del usuario.
- password: la contraseña del usuario
Método HTTP y URL:
PUT https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/users?name=user-id
Cuerpo JSON de la solicitud:
{ "name": "user-id", "password": "password" }
Para enviar tu solicitud, despliega una de estas opciones:
Deberías recibir una respuesta JSON similar a la siguiente:
{ "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" }
Crear un usuario
Después de configurar la cuenta de usuario predeterminada, puedes crear otros usuarios.
Consola
-
En la Google Cloud consola, ve a la página Instancias de Cloud SQL.
- Para abrir la página Overview (Resumen) de una instancia, haz clic en su nombre.
- En el menú de navegación de SQL, selecciona Usuarios.
- Haz clic en Añadir cuenta de usuario.
En la página Añadir una cuenta de usuario a la instancia instance_name, puedes elegir si el usuario se autentica con el método de base de datos integrado (nombre de usuario y contraseña) o como usuario de IAM.
- Selecciona Autenticación integrada (opción predeterminada) y añade la siguiente información:
- Un nombre de usuario.
- Opcional. Una contraseña. Proporciona una contraseña segura que puedas recordar.
- Haz clic en Añadir.
Los usuarios creados en instancias que usan el método de autenticación de Cloud SQL tienen asignado automáticamente el rol cloudsqlsuperuser
y los siguientes privilegios asociados a este rol: CREATEROLE
, CREATEDB
y LOGIN
.
Si necesita cambiar los atributos de estos usuarios, utilice el comando ALTER ROLE en el cliente psql
. No todos los atributos se pueden modificar con ALTER ROLE
. Entre las excepciones se incluyen los roles NOSUPERUSER
y NOREPLICATION
.
gcloud
Para crear un usuario, usa el comando
gcloud sql users create
.
Haz los cambios siguientes:
- USER_NAME: nombre de usuario.
- INSTANCE_NAME: el nombre de la instancia.
- PASSWORD: la contraseña del usuario.
gcloud sql users create USER_NAME \ --instance=INSTANCE_NAME \ --password=PASSWORD
Los usuarios creados en instancias que usan el método de autenticación de Cloud SQL tienen asignado automáticamente el rol cloudsqlsuperuser
y los siguientes privilegios asociados a este rol: CREATEROLE
, CREATEDB
y LOGIN
.
Si necesita cambiar los atributos de estos usuarios, utilice el comando ALTER ROLE en el cliente psql
. No todos los atributos se pueden modificar con ALTER ROLE
. Entre las excepciones se incluyen los roles NOSUPERUSER
y NOREPLICATION
.
Los límites de longitud de los nombres de usuario son los mismos en Cloud SQL que en PostgreSQL local.
Cuando creas un usuario, puedes añadir parámetros de política de contraseñas de usuario.
Terraform
Para crear un usuario, usa un recurso de Terraform.
Aplica los cambios
Para aplicar la configuración de Terraform en un proyecto, sigue los pasos que se indican en las siguientes secciones. Google Cloud
Preparar Cloud Shell
- Abre Cloud Shell.
-
Define el Google Cloud proyecto Google Cloud predeterminado en el que quieras aplicar tus configuraciones de Terraform.
Solo tiene que ejecutar este comando una vez por proyecto y puede hacerlo en cualquier directorio.
export GOOGLE_CLOUD_PROJECT=PROJECT_ID
Las variables de entorno se anulan si defines valores explícitos en el archivo de configuración de Terraform.
Preparar el directorio
Cada archivo de configuración de Terraform debe tener su propio directorio (también llamado módulo raíz).
-
En Cloud Shell, crea un directorio y un archivo nuevo en ese directorio. El nombre del archivo debe tener la extensión
.tf
. Por ejemplo,main.tf
. En este tutorial, nos referiremos al archivo comomain.tf
.mkdir DIRECTORY && cd DIRECTORY && touch main.tf
-
Si estás siguiendo un tutorial, puedes copiar el código de ejemplo de cada sección o paso.
Copia el código de ejemplo en el archivo
main.tf
que acabas de crear.También puedes copiar el código de GitHub. Se recomienda cuando el fragmento de Terraform forma parte de una solución integral.
- Revisa y modifica los parámetros de ejemplo para aplicarlos a tu entorno.
- Guarda los cambios.
-
Inicializa Terraform. Solo tienes que hacerlo una vez por directorio.
terraform init
Si quieres usar la versión más reciente del proveedor de Google, incluye la opción
-upgrade
:terraform init -upgrade
Aplica los cambios
-
Revisa la configuración y comprueba que los recursos que va a crear o actualizar Terraform se ajustan a tus expectativas:
terraform plan
Haga las correcciones necesarias en la configuración.
-
Aplica la configuración de Terraform ejecutando el siguiente comando e introduciendo
yes
en la petición:terraform apply
Espera hasta que Terraform muestre el mensaje "Apply complete!".
- Abre tu Google Cloud proyecto para ver los resultados. En la Google Cloud consola, ve a tus recursos en la interfaz de usuario para asegurarte de que Terraform los ha creado o actualizado.
Eliminar los cambios
Para eliminar los cambios, sigue estos pasos:
- Para inhabilitar la protección contra la eliminación, en el archivo de configuración de Terraform, asigna el valor
false
al argumentodeletion_protection
.deletion_protection = "false"
- Aplica la configuración de Terraform actualizada ejecutando el siguiente comando e introduciendo
yes
en la petición:terraform apply
-
Para quitar los recursos que se hayan aplicado anteriormente con tu configuración de Terraform, ejecuta el siguiente comando e introduce
yes
en la petición:terraform destroy
REST v1
Para crear un usuario, usa una solicitud POST con el método users:insert.
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- project-id: tu ID de proyecto
- instance-id: el ID de instancia que quieras
- user-id: ID del usuario.
- password: la contraseña del usuario
Método HTTP y URL:
POST https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id/users
Cuerpo JSON de la solicitud:
{ "name": "user-id", "password": "password" }
Para enviar tu solicitud, despliega una de estas opciones:
Deberías recibir una respuesta JSON similar a la siguiente:
{ "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" }
Los usuarios creados en instancias que usan el método de autenticación de Cloud SQL tienen asignado automáticamente el rol cloudsqlsuperuser
y los siguientes privilegios asociados a este rol: CREATEROLE
, CREATEDB
y LOGIN
.
Si necesita cambiar los atributos de estos usuarios, utilice el comando ALTER ROLE en el cliente psql
. No todos los atributos se pueden modificar con ALTER ROLE
. Entre las excepciones se incluyen los roles NOSUPERUSER
y NOREPLICATION
.
Los límites de longitud de los nombres de usuario son los mismos en Cloud SQL que en PostgreSQL local.
Cuando creas un usuario, puedes añadir parámetros de política de contraseñas de usuario.
REST v1beta4
Para crear un usuario, usa una solicitud POST con el método users:insert.
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- project-id: tu ID de proyecto
- instance-id: el ID de instancia que quieras
- user-id: ID del usuario.
- password: la contraseña del usuario
Método HTTP y URL:
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/users
Cuerpo JSON de la solicitud:
{ "name": "user-id", "password": "password" }
Para enviar tu solicitud, despliega una de estas opciones:
Deberías recibir una respuesta JSON similar a la siguiente:
{ "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" }
Los usuarios creados en instancias que usan el método de autenticación de Cloud SQL tienen asignado automáticamente el rol cloudsqlsuperuser
y los siguientes privilegios asociados a este rol: CREATEROLE
, CREATEDB
y LOGIN
.
Si necesita cambiar los atributos de estos usuarios, utilice el comando ALTER ROLE en el cliente psql
. No todos los atributos se pueden modificar con ALTER ROLE
. Entre las excepciones se incluyen los roles NOSUPERUSER
y NOREPLICATION
.
Los límites de longitud de los nombres de usuario son los mismos en Cloud SQL que en PostgreSQL local.
Cuando creas un usuario, puedes añadir parámetros de política de contraseñas de usuario.
Cliente psql
- En la petición
psql
, crea el usuario:CREATE USER USER_NAME WITH PASSWORD PASSWORD ATTRIBUTE1 ATTRIBUTE2...;
Introduce la contraseña cuando se te solicite.
Para obtener más información sobre los atributos de los roles, consulta la documentación de PostgreSQL.
- Puedes confirmar la creación del usuario mostrando la tabla de usuario:
SELECT * FROM pg_roles;
Definir una política de contraseñas de usuario
Puedes definir una política de contraseñas con el tipo de autenticación integrado.
gcloud
Para definir la política de contraseñas de usuario, usa el comando
gcloud sql users set-password-policy
.
Haz los cambios siguientes:
- USER_NAME: nombre de usuario.
- INSTANCE_NAME: el nombre de la instancia.
- HOST: el nombre de host del usuario como una dirección IP específica, un intervalo de direcciones o cualquier host (
%
). - PASSWORD_POLICY_ALLOWED_FAILED_ATTEMPTS: Opcional: número de veces que un usuario puede probar la contraseña incorrectamente antes de que se bloquee la cuenta. Usa
--password-policy-enable-failed-attempts-check
para habilitar y--no-password-policy-enable-failed-attempts-check
para inhabilitar la comprobación. - PASSWORD_POLICY_PASSWORD_EXPIRATION_DURATION: opcional. Especifica el número de días tras los cuales caduca la contraseña y el usuario debe crear una nueva.
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
Para quitar una política de contraseñas de usuario, usa el parámetro --clear-password-policy
.
gcloud sql users set-password-policy USER_NAME \ --instance=INSTANCE_NAME \ --host=HOST \ --clear-password-policy
Para ver la política de contraseñas de los usuarios, consulta Lista de usuarios.
REST v1
Para definir una política de contraseñas de usuario, usa una solicitud PUT con el método users:update.
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- PROJECT_ID: tu ID de proyecto
- INSTANCE_ID: el ID de instancia
- USER_ID: el ID del usuario
- PASSWORD: la contraseña del usuario
- FAILED_ATTEMPTS_CHECK: se define como
true
para habilitar una comprobación del número de intentos fallidos de inicio de sesión tras los cuales se bloquea la cuenta. - NUMBER_OF_ATTEMPTS: el número de intentos fallidos de inicio de sesión tras los cuales se bloquea la cuenta
- PASSWORD_EXPIRATION_DURATION: el número de días tras los cuales caduca la contraseña y el usuario tiene que crear una nueva.
Método HTTP y URL:
PUT https://sqladmin.googleapis.com/sql/v1/projects/PROJECT_ID/instances/INSTANCE_ID/users?name=USER_ID
Cuerpo JSON de la solicitud:
{ "name": "USER_ID", "password": "PASSWORD", "data": { "passwordValidationUserPolicy" : { { "enableFailedAttemptsCheck" : "FAILED_ATTEMPTS_CHECK", "allowedFailedAttempts" : "NUMBER_OF_ATTEMPTS", "passwordExpirationDuration" : "PASSWORD_EXPIRATION_DURATION" } }, } }
Para enviar tu solicitud, despliega una de estas opciones:
Deberías recibir una respuesta JSON similar a la siguiente:
Para ver la política de contraseñas de los usuarios, consulta Lista de usuarios.
REST v1beta4
Para definir una política de contraseñas de usuario, usa una solicitud PUT con el método users:update.
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- PROJECT_ID: tu ID de proyecto
- INSTANCE_ID: el ID de instancia
- USER_ID: el ID del usuario
- PASSWORD: la contraseña del usuario
- FAILED_ATTEMPTS_CHECK: se define como
true
para habilitar una comprobación del número de intentos fallidos de inicio de sesión tras los cuales se bloquea la cuenta. - NUMBER_OF_ATTEMPTS: el número de intentos fallidos de inicio de sesión tras los cuales se bloquea la cuenta
- PASSWORD_EXPIRATION_DURATION: el número de días tras los cuales caduca la contraseña y el usuario tiene que crear una nueva.
Método HTTP y URL:
PUT https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID/users?name=USER_ID
Cuerpo JSON de la solicitud:
{ "name": "USER_ID", "password": "PASSWORD", "data": { "passwordValidationUserPolicy" : { { "enableFailedAttemptsCheck" : "FAILED_ATTEMPTS_CHECK", "allowedFailedAttempts" : "NUMBER_OF_ATTEMPTS", "passwordExpirationDuration" : "PASSWORD_EXPIRATION_DURATION" } }, } }
Para enviar tu solicitud, despliega una de estas opciones:
Deberías recibir una respuesta JSON similar a la siguiente:
Para ver la política de contraseñas de los usuarios, consulta Lista de usuarios.
Lista de usuarios
Consola
-
En la Google Cloud consola, ve a la página Instancias de Cloud SQL.
- Para abrir la página Overview (Resumen) de una instancia, haz clic en su nombre.
- En el menú de navegación de SQL, selecciona Usuarios.
gcloud
Usa el comando gcloud sql users list para enumerar los usuarios de esta instancia:
gcloud sql users list \ --instance=INSTANCE_NAME
El comando devuelve el Name
, el Host
y la
autenticación Type
de cada usuario.
Además, en el caso del tipo de autenticación integrada, se devuelven los ajustes y el estado de la política de contraseñas. Por ejemplo:
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
Para enumerar los usuarios definidos en una instancia, usa una solicitud GET con el método users:list.
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- project-id: tu ID de proyecto
- instance-id: el ID de instancia que quieras
Método HTTP y URL:
GET https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id/users
Para enviar tu solicitud, despliega una de estas opciones:
Deberías recibir una respuesta JSON similar a la siguiente:
{ "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" ] } }, { ... }, { ... } ] }
Si se ha definido una política de contraseñas de usuario, la sección items
de la respuesta incluye una sección passwordPolicy
. En el siguiente código de ejemplo se muestra la sección passwordPolicy
.
{ ... "passwordValidationUserPolicy" : { { "enableFailedAttemptsCheck" : true, "allowedFailedAttempts" : 8, "passwordExpirationDuration" : "7d" } }, ... }
REST v1beta4
Para enumerar los usuarios definidos en una instancia, usa una solicitud GET con el método users:list.
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- project-id: tu ID de proyecto
- instance-id: el ID de instancia que quieras
Método HTTP y URL:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/users
Para enviar tu solicitud, despliega una de estas opciones:
Deberías recibir una respuesta JSON similar a la siguiente:
{ "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" ] } }, { ... }, { ... } ] }
Si se ha definido una política de contraseñas de usuario, la sección items
de la respuesta incluye una sección passwordPolicy
. En el siguiente código de ejemplo se muestra la sección passwordPolicy
.
{ ... "passwordValidationUserPolicy" : { { "enableFailedAttemptsCheck" : true, "allowedFailedAttempts" : 8, "passwordExpirationDuration" : "7d" } }, ... }
Cliente psql
En la petición psql
, enumera los usuarios de PostgreSQL:
SELECT * FROM pg_roles;
Cambiar la contraseña de un usuario
Las contraseñas de los usuarios se pueden cambiar de una de las siguientes formas.
Consola
-
En la Google Cloud consola, ve a la página Instancias de Cloud SQL.
- Para abrir la página Overview (Resumen) de una instancia, haz clic en su nombre.
- En el menú de navegación de SQL, selecciona Usuarios.
- Haz clic en más acciones
junto al usuario que quieras actualizar.
- Selecciona Cambiar contraseña.
- Especifica una nueva contraseña.
- Haz clic en Aceptar.
gcloud
Usa el comando
gcloud sql users set-password
para cambiar una contraseña.
Haz los cambios siguientes:
- USER_NAME: nombre de usuario.
- INSTANCE_NAME: el nombre de la instancia.
gcloud sql users set-password USER_NAME \ --instance=INSTANCE_NAME \ --prompt-for-password
REST v1
Para cambiar la contraseña de un usuario, usa una solicitud PUT con el método users:update.
La siguiente solicitud actualiza la contraseña de la cuenta de usuario
user_name
.
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- project-id: tu ID de proyecto
- instance-id: el ID de instancia que quieras
- user-id: ID del usuario.
- password: la nueva contraseña del usuario
Método HTTP y URL:
PUT https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id/users?name=user-id
Cuerpo JSON de la solicitud:
{ "name": "user-id", "password": "password" }
Para enviar tu solicitud, despliega una de estas opciones:
Deberías recibir una respuesta JSON similar a la siguiente:
{ "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
Para cambiar la contraseña de un usuario, usa una solicitud PUT con el método users:update.
La siguiente solicitud actualiza la contraseña de la cuenta de usuario
user_name
.
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- project-id: tu ID de proyecto
- instance-id: el ID de instancia que quieras
- user-id: ID del usuario.
- password: la nueva contraseña del usuario
Método HTTP y URL:
PUT https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/users?name=user-id
Cuerpo JSON de la solicitud:
{ "name": "user-id", "password": "password" }
Para enviar tu solicitud, despliega una de estas opciones:
Deberías recibir una respuesta JSON similar a la siguiente:
{ "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" }
Cliente psql
En la peticiónpsql
, ejecuta el comando ALTER USER.
- Desbloquea al usuario.
ALTER USER USER_NAME WITH LOGIN;
- Cambia la contraseña e introdúcela cuando se te solicite.
ALTER USER USER_NAME WITH PASSWORD PASSWORD;
Si un usuario no puede acceder a su cuenta debido a la configuración de la política de contraseñas, cambia la contraseña para desbloquearla. Asegúrate de que las contraseñas, cuando se cambien, cumplan la política de contraseñas.
Quitar una política de contraseñas de usuario
Puedes quitar una política de contraseñas a un usuario que tenga el tipo de autenticación integrado.
gcloud
Para quitar la política de contraseñas de usuario, usa el comando
gcloud sql users set-password-policy
y el parámetro --clear-password-policy
.
Haz los cambios siguientes:
- USER_NAME: el nombre de usuario
- INSTANCE_NAME: el nombre de la instancia
- HOST: el nombre de host del usuario como una dirección IP específica, un intervalo de direcciones o cualquier host (
%
)
gcloud sql users set-password-policy USER_NAME \ --instance=INSTANCE_NAME \ --host=HOST \ --clear-password-policy
REST v1
Para quitar una política de contraseñas de usuario, usa una solicitud PUT con el método users:update.
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- PROJECT_ID: tu ID de proyecto
- INSTANCE_ID: el ID de instancia
- USER_ID: el ID del usuario
- PASSWORD: la contraseña del usuario
Método HTTP y URL:
PUT https://sqladmin.googleapis.com/sql/v1/projects/PROJECT_ID/instances/INSTANCE_ID/users?name=USER_ID
Cuerpo JSON de la solicitud:
{ "name": "USER_ID", "password": "PASSWORD", "data": { "passwordValidationUserPolicy" : {} } }
Para enviar tu solicitud, despliega una de estas opciones:
Deberías recibir una respuesta JSON similar a la siguiente:
REST v1beta4
Para quitar una política de contraseñas de usuario, usa una solicitud PUT con el método users:update.
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- PROJECT_ID: tu ID de proyecto
- INSTANCE_ID: el ID de instancia
- USER_ID: el ID del usuario
- PASSWORD: la contraseña del usuario
Método HTTP y URL:
PUT https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID/users?name=USER_ID
Cuerpo JSON de la solicitud:
{ "name": "USER_ID", "password": "PASSWORD", "data": { "passwordValidationUserPolicy" : {} } }
Para enviar tu solicitud, despliega una de estas opciones:
Deberías recibir una respuesta JSON similar a la siguiente:
Quitar un usuario
El usuario predeterminado puede quitar usuarios.
Antes de eliminar un usuario, debe eliminar todos los objetos que le pertenezcan o reasignar su propiedad, así como revocar todos los privilegios que se le hayan concedido en otros objetos.
Consola
-
En la Google Cloud consola, ve a la página Instancias de Cloud SQL.
- Para abrir la página Overview (Resumen) de una instancia, haz clic en su nombre.
- En el menú de navegación de SQL, selecciona Usuarios.
- Haz clic en más acciones
junto al usuario que quieras quitar.
- Selecciona Quitar y, a continuación, vuelve a seleccionar Quitar.
gcloud
Usa el comando
gcloud sql users delete
para quitar un usuario.
Haz los cambios siguientes:
- USER_NAME: nombre de usuario.
- INSTANCE_NAME: el nombre de la instancia.
gcloud sql users delete USER_NAME \ --instance=INSTANCE_NAME
REST v1
La solicitud que se muestra a continuación usa el método users:delete para eliminar la cuenta de usuario especificada.
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- PROJECT_ID: tu ID de proyecto
- INSTANCE_ID: el ID de instancia que quieras
- USERNAME: la dirección de correo del usuario o de la cuenta de servicio
Método HTTP y URL:
DELETE https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID/users?host=&name=USERNAME
Para enviar tu solicitud, despliega una de estas opciones:
Deberías recibir una respuesta JSON similar a la siguiente:
{ "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 solicitud que se muestra a continuación usa el método users:delete para eliminar la cuenta de usuario especificada.
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- PROJECT_ID: tu ID de proyecto
- INSTANCE_ID: el ID de instancia que quieras
- USERNAME: la dirección de correo del usuario o de la cuenta de servicio
Método HTTP y URL:
DELETE https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID/users?host=&name=USERNAME
Para enviar tu solicitud, despliega una de estas opciones:
Deberías recibir una respuesta JSON similar a la siguiente:
{ "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" }
Cliente psql
- En la petición
psql
, elimina al usuario:DROP ROLE USER_NAME;
Para obtener más información sobre la instrucción
DROP ROLE
, consulta la documentación de PostgreSQL.
Actualizar propiedades de usuario
Para actualizar las propiedades de usuario, como los atributos, debe usar el clientepsql
.
Para obtener más información, consulta Roles de base de datos en la documentación de PostgreSQL.
Siguientes pasos
- Obtén más información sobre cómo funciona Cloud SQL con los usuarios.
- Consulta la documentación de PostgreSQL sobre la creación de roles.
- Aprende a conectarte a las instancias.