Esta página describe cómo habilitar y utilizar la autenticación integrada de Cloud SQL.
Para obtener una descripción general, consulte Autenticación de base de datos integrada de Cloud SQL .Antes de crear usuarios
- Cree una instancia de Cloud SQL. Para obtener más información, consulte Crear instancias .
- Habilite las políticas de contraseñas para la instancia. Para obtener más información, consulte Políticas de contraseñas de instancia .
Si planea utilizar el cliente administrativo de su base de datos para administrar usuarios, haga lo siguiente:
Conecte el cliente a su instancia. Consulte Opciones de conexión para aplicaciones externas .
Configure el usuario predeterminado en la instancia estableciendo la contraseña. Consulte Establecer la contraseña para la cuenta de usuario predeterminada .
Establecer la contraseña para la cuenta de usuario predeterminada
Cuando crea una nueva instancia de Cloud SQL, debe establecer una contraseña para la cuenta de usuario predeterminada antes de poder conectarse a la instancia.
Para Cloud SQL para PostgreSQL, el usuario predeterminado espostgres
. Consola
En el Google Cloud consola, vaya a la página Instancias de Cloud SQL .
- Para abrir la página Descripción general de una instancia, haga clic en el nombre de la instancia.
- Seleccione Usuarios en el menú de navegación de SQL.
- Busque el usuario
postgres
y seleccione Cambiar contraseña en el menú de más acciones.
- Proporcione una contraseña segura que pueda recordar y haga clic en Aceptar .
nube g
Utilice el comando gcloud sql users set-password
de la siguiente manera para establecer la contraseña del usuario predeterminado.
Reemplace INSTANCE_NAME con el nombre de la instancia antes de ejecutar el comando.
gcloud sql users set-password postgres \ --instance=INSTANCE_NAME \ --prompt-for-password
REST versión 1
Para actualizar la contraseña de la cuenta de usuario predeterminada, utilice una solicitud PUT con el método users:update .
Antes de utilizar cualquiera de los datos solicitados, realice las siguientes sustituciones:
- project-id : Su ID de proyecto
- instance-id : El ID de instancia deseado
- user-id : El 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 su solicitud, expanda una de estas opciones:
Debería 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": "[email protected]", "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, utilice una solicitud PUT con el método users:update .
Antes de utilizar cualquiera de los datos solicitados, realice las siguientes sustituciones:
- project-id : Su ID de proyecto
- instance-id : El ID de instancia deseado
- 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" }
Para enviar su solicitud, expanda una de estas opciones:
Debería 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": "[email protected]", "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 , puede crear otros usuarios.
Consola
En el Google Cloud consola, vaya a la página Instancias de Cloud SQL .
- Para abrir la página Descripción general de una instancia, haga clic en el nombre de la instancia.
- Seleccione Usuarios en el menú de navegación de SQL.
- Haga clic en Agregar cuenta de usuario .
En la página Agregar una cuenta de usuario a la instancia instance_name , puede elegir si el usuario se autentica con el método de base de datos integrado (nombre de usuario y contraseña) o como un usuario IAM .
- Seleccione Autenticación incorporada (predeterminada) y agregue la siguiente información:
- Un nombre de usuario .
- Opcional. Una contraseña . Proporciona una contraseña segura y fácil de recordar.
- Haga clic en Agregar .
A los usuarios creados en instancias que utilizan el método de autenticación de Cloud SQL se les otorga automáticamente el rol cloudsqlsuperuser
y tienen los siguientes privilegios asociados con 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
. Las excepciones incluyen los roles NOSUPERUSER
y NOREPLICATION
.
nube g
Para crear un usuario, utilice el comando gcloud sql users create
.
Reemplace lo siguiente:
- USER_NAME : El nombre del 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
A los usuarios creados en instancias que utilizan el método de autenticación de Cloud SQL se les otorga automáticamente el rol cloudsqlsuperuser
y tienen los siguientes privilegios asociados con 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
. Las excepciones incluyen los roles NOSUPERUSER
y NOREPLICATION
.
Los límites de longitud del nombre de usuario son los mismos para Cloud SQL que para PostgreSQL local.
Cuando crea un usuario, puede agregar parámetros de política de contraseña de usuario .
Terraformar
Para crear un usuario, utilice un recurso de Terraform .
Aplicar los cambios
Para aplicar su configuración de Terraform en un Google Cloud proyecto, complete los pasos de las siguientes secciones.
Preparar Cloud Shell
- Inicie Cloud Shell .
Establecer el valor predeterminado Google Cloud Proyecto donde desea aplicar sus configuraciones de Terraform.
Solo necesitas ejecutar este comando una vez por proyecto y puedes ejecutarlo en cualquier directorio.
export GOOGLE_CLOUD_PROJECT=PROJECT_ID
Las variables de entorno se anulan si establece 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 , cree un directorio y un nuevo archivo dentro de él. El nombre del archivo debe tener la extensión
.tf
; por ejemplo,main.tf
En este tutorial, el archivo se denominamain.tf
mkdir DIRECTORY && cd DIRECTORY && touch main.tf
Si está siguiendo un tutorial, puede copiar el código de muestra en cada sección o paso.
Copie el código de muestra en el
main.tf
recién creado.Opcionalmente, copie el código de GitHub. Esto se recomienda cuando el fragmento de Terraform forma parte de una solución integral.
- Revise y modifique los parámetros de muestra para aplicarlos a su entorno.
- Guarde sus cambios.
- Inicialice Terraform. Solo necesita hacerlo una vez por directorio.
terraform init
Opcionalmente, para utilizar la última versión del proveedor de Google, incluya la opción
-upgrade
:terraform init -upgrade
Aplicar los cambios
- Revise la configuración y verifique que los recursos que Terraform va a crear o actualizar coincidan con sus expectativas:
terraform plan
Realice correcciones en la configuración según sea necesario.
- Aplique la configuración de Terraform ejecutando el siguiente comando e ingresando
yes
en el indicador:terraform apply
Espere hasta que Terraform muestre el mensaje "¡Aplicación completada!"
- Abre tu Google Cloud proyecto para ver los resultados. En el Google Cloud consola, navegue a sus recursos en la interfaz de usuario para asegurarse de que Terraform los haya creado o actualizado.
Eliminar los cambios
Para eliminar sus cambios, haga lo siguiente:
- Para deshabilitar la protección contra eliminación, en el archivo de configuración de Terraform configure el argumento
deletion_protection
enfalse
.deletion_protection = "false"
- Aplique la configuración actualizada de Terraform ejecutando el siguiente comando e ingresando
yes
en el mensaje:terraform apply
Elimine los recursos aplicados previamente con su configuración de Terraform ejecutando el siguiente comando e ingresando
yes
en el mensaje:terraform destroy
REST versión 1
Para crear un usuario, utilice una solicitud POST con el método users:insert .
Antes de utilizar cualquiera de los datos solicitados, realice las siguientes sustituciones:
- project-id : Su ID de proyecto
- instance-id : El ID de instancia deseado
- user-id : El 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 su solicitud, expanda una de estas opciones:
Debería 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": "[email protected]", "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" }
A los usuarios creados en instancias que utilizan el método de autenticación de Cloud SQL se les otorga automáticamente el rol cloudsqlsuperuser
y tienen los siguientes privilegios asociados con 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
. Las excepciones incluyen los roles NOSUPERUSER
y NOREPLICATION
.
Los límites de longitud del nombre de usuario son los mismos para Cloud SQL que para PostgreSQL local.
Cuando crea un usuario, puede agregar parámetros de política de contraseña de usuario .
REST v1beta4
Para crear un usuario, utilice una solicitud POST con el método users:insert .
Antes de utilizar cualquiera de los datos solicitados, realice las siguientes sustituciones:
- project-id : Su ID de proyecto
- instance-id : El ID de instancia deseado
- user-id : El 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 su solicitud, expanda una de estas opciones:
Debería 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": "[email protected]", "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" }
A los usuarios creados en instancias que utilizan el método de autenticación de Cloud SQL se les otorga automáticamente el rol cloudsqlsuperuser
y tienen los siguientes privilegios asociados con 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
. Las excepciones incluyen los roles NOSUPERUSER
y NOREPLICATION
.
Los límites de longitud del nombre de usuario son los mismos para Cloud SQL que para PostgreSQL local.
Cuando crea un usuario, puede agregar parámetros de política de contraseña de usuario .
Cliente psql
- En el indicador
psql
, cree el usuario:CREATE USER USER_NAME WITH PASSWORD PASSWORD ATTRIBUTE1 ATTRIBUTE2...;
Introduzca la contraseña cuando se le solicite.
Para obtener más información sobre los atributos de rol, consulte la documentación de PostgreSQL .
- Puede confirmar la creación del usuario mostrando la tabla de usuarios:
SELECT * FROM pg_roles;
Establecer una política de contraseñas de usuario
Puede establecer una política de contraseñas con el tipo de autenticación incorporado.
nube g
Para establecer la política de contraseña de usuario, utilice el comando gcloud sql users set-password-policy
.
Reemplace lo siguiente:
- USER_NAME : El nombre del usuario.
- INSTANCE_NAME : El nombre de la instancia.
- HOST : El nombre de host del usuario como una dirección IP específica, un rango de direcciones o cualquier host (
%
). - PASSWORD_POLICY_ALLOWED_FAILED_ATTEMPTS : Opcional: El número de veces que un usuario puede intentar la contraseña incorrectamente antes de que se bloquee la cuenta. Use
--password-policy-enable-failed-attempts-check
para habilitar la verificación y--no-password-policy-enable-failed-attempts-check
para deshabilitarla. - PASSWORD_POLICY_PASSWORD_EXPIRATION_DURATION : Opcional: especifica el número de días después de los cuales la contraseña caduca 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 eliminar una política de contraseña de usuario, utilice 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 usuario, consulte Listar usuarios .
REST versión 1
Para establecer una política de contraseña de usuario, utilice una solicitud PUT con el método users:update .
Antes de utilizar cualquiera de los datos solicitados, realice las siguientes sustituciones:
- PROJECT_ID : su ID de proyecto
- INSTANCE_ID : el ID de la instancia
- USER_ID : el ID del usuario
- PASSWORD : la contraseña del usuario
- FAILED_ATTEMPTS_CHECK : configúrelo como
true
para habilitar una verificación de la cantidad de intentos fallidos de inicio de sesión después de los cuales se bloquea la cuenta - NUMBER_OF_ATTEMPTS : la cantidad de intentos fallidos de inicio de sesión después de los cuales se bloquea la cuenta
- PASSWORD_EXPIRATION_DURATION : el número de días después de los cuales la contraseña expira y el usuario necesita 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 su solicitud, expanda una de estas opciones:
Debería recibir una respuesta JSON similar a la siguiente:
Para ver la política de contraseñas de usuario, consulte Listar usuarios .
REST v1beta4
Para establecer una política de contraseña de usuario, utilice una solicitud PUT con el método users:update .
Antes de utilizar cualquiera de los datos solicitados, realice las siguientes sustituciones:
- PROJECT_ID : su ID de proyecto
- INSTANCE_ID : el ID de la instancia
- USER_ID : el ID del usuario
- PASSWORD : la contraseña del usuario
- FAILED_ATTEMPTS_CHECK : configúrelo como
true
para habilitar una verificación de la cantidad de intentos fallidos de inicio de sesión después de los cuales se bloquea la cuenta - NUMBER_OF_ATTEMPTS : la cantidad de intentos fallidos de inicio de sesión después de los cuales se bloquea la cuenta
- PASSWORD_EXPIRATION_DURATION : el número de días después de los cuales la contraseña expira y el usuario necesita 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 su solicitud, expanda una de estas opciones:
Debería recibir una respuesta JSON similar a la siguiente:
Para ver la política de contraseñas de usuario, consulte Listar usuarios .
Lista de usuarios
Consola
En el Google Cloud consola, vaya a la página Instancias de Cloud SQL .
- Para abrir la página Descripción general de una instancia, haga clic en el nombre de la instancia.
- Seleccione Usuarios en el menú de navegación de SQL.
nube g
Utilice 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
, Host
y Type
de autenticación de cada usuario.
Además, para el tipo de autenticación integrada, se devuelven la configuración 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 versión 1
Para enumerar los usuarios definidos para una instancia, utilice una solicitud GET con el método users:list .
Antes de utilizar cualquiera de los datos solicitados, realice las siguientes sustituciones:
- project-id : Su ID de proyecto
- instance-id : El ID de instancia deseado
Método HTTP y URL:
GET https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id/users
Para enviar su solicitud, expanda una de estas opciones:
Debería 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 estableció una política de contraseñas de usuario , la sección items
de la respuesta incluye una sección passwordPolicy
. El siguiente ejemplo de código muestra la sección passwordPolicy
.
{ ... "passwordValidationUserPolicy" : { { "enableFailedAttemptsCheck" : true, "allowedFailedAttempts" : 8, "passwordExpirationDuration" : "7d" } }, ... }
REST v1beta4
Para enumerar los usuarios definidos para una instancia, utilice una solicitud GET con el método users:list .
Antes de utilizar cualquiera de los datos solicitados, realice las siguientes sustituciones:
- project-id : Su ID de proyecto
- instance-id : El ID de instancia deseado
Método HTTP y URL:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/users
Para enviar su solicitud, expanda una de estas opciones:
Debería 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 estableció una política de contraseñas de usuario , la sección items
de la respuesta incluye una sección passwordPolicy
. El siguiente ejemplo de código muestra la sección passwordPolicy
.
{ ... "passwordValidationUserPolicy" : { { "enableFailedAttemptsCheck" : true, "allowedFailedAttempts" : 8, "passwordExpirationDuration" : "7d" } }, ... }
Cliente psql
En el indicador psql
, enumere los usuarios de PostgreSQL:
SELECT * FROM pg_roles;
Cambiar una contraseña de usuario
Las contraseñas de usuario se pueden cambiar de una de las siguientes maneras.
Consola
En el Google Cloud consola, vaya a la página Instancias de Cloud SQL .
- Para abrir la página Descripción general de una instancia, haga clic en el nombre de la instancia.
- Seleccione Usuarios en el menú de navegación de SQL.
- Haga clic en más acciones
para el usuario que desea actualizar.
- Seleccione Cambiar contraseña .
- Especifique una nueva contraseña.
- Haga clic en Aceptar .
nube g
Utilice el comando gcloud sql users set-password
para cambiar una contraseña.
Reemplace lo siguiente:
- USER_NAME : El nombre del usuario.
- INSTANCE_NAME : El nombre de la instancia.
gcloud sql users set-password USER_NAME \ --instance=INSTANCE_NAME \ --prompt-for-password
REST versión 1
Para cambiar una contraseña de usuario, utilice 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 utilizar cualquiera de los datos solicitados, realice las siguientes sustituciones:
- project-id : Su ID de proyecto
- instance-id : El ID de instancia deseado
- user-id : El ID del usuario
- password : La nueva contraseña para el 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 su solicitud, expanda una de estas opciones:
Debería 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": "[email protected]", "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 una contraseña de usuario, utilice 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 utilizar cualquiera de los datos solicitados, realice las siguientes sustituciones:
- project-id : Su ID de proyecto
- instance-id : El ID de instancia deseado
- user-id : El ID del usuario
- password : La nueva contraseña para el 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 su solicitud, expanda una de estas opciones:
Debería 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": "[email protected]", "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 el indicadorpsql
, ejecute el comando ALTER USER .- Desbloquear al usuario.
ALTER USER USER_NAME WITH LOGIN;
- Cambie la contraseña e introdúzcala cuando se le solicite.
ALTER USER USER_NAME WITH PASSWORD PASSWORD;
Si un usuario queda bloqueado debido a la configuración de la política de contraseñas, cámbiela para desbloquearlo. Asegúrese de que, al cambiarlas, las contraseñas cumplan con la política de contraseñas.
Eliminar una política de contraseña de usuario
Puede eliminar una política de contraseña de un usuario que tenga el tipo de autenticación incorporado.
nube g
Para eliminar la política de contraseña de usuario, utilice el comando gcloud sql users set-password-policy
y el parámetro --clear-password-policy
.
Reemplace lo siguiente:
- 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 rango de direcciones o cualquier host (
%
)
gcloud sql users set-password-policy USER_NAME \ --instance=INSTANCE_NAME \ --host=HOST \ --clear-password-policy
REST versión 1
Para eliminar una política de contraseña de usuario, utilice una solicitud PUT con el método users:update .
Antes de utilizar cualquiera de los datos solicitados, realice las siguientes sustituciones:
- PROJECT_ID : su ID de proyecto
- INSTANCE_ID : el ID de la 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 su solicitud, expanda una de estas opciones:
Debería recibir una respuesta JSON similar a la siguiente:
REST v1beta4
Para eliminar una política de contraseña de usuario, utilice una solicitud PUT con el método users:update .
Antes de utilizar cualquiera de los datos solicitados, realice las siguientes sustituciones:
- PROJECT_ID : su ID de proyecto
- INSTANCE_ID : el ID de la 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 su solicitud, expanda una de estas opciones:
Debería recibir una respuesta JSON similar a la siguiente:
Eliminar un usuario
El usuario predeterminado puede eliminar usuarios.
Antes de eliminar un usuario, debe eliminar todos los objetos que posee o reasignar su propiedad y revocar cualquier privilegio que se le haya otorgado al rol sobre otros objetos.
Consola
En el Google Cloud consola, vaya a la página Instancias de Cloud SQL .
- Para abrir la página Descripción general de una instancia, haga clic en el nombre de la instancia.
- Seleccione Usuarios en el menú de navegación de SQL.
- Haga clic en más acciones
para el usuario que desea eliminar.
- Seleccione Eliminar y luego seleccione Eliminar nuevamente.
nube g
Utilice el comando gcloud sql users delete
para eliminar un usuario.
Reemplace lo siguiente:
- USER_NAME : El nombre del usuario.
- INSTANCE_NAME : El nombre de la instancia.
gcloud sql users delete USER_NAME \ --instance=INSTANCE_NAME
REST versión 1
La siguiente solicitud utiliza el método users:delete para eliminar la cuenta de usuario especificada.
Antes de utilizar cualquiera de los datos solicitados, realice las siguientes sustituciones:
- PROJECT_ID : Su ID de proyecto
- INSTANCE_ID : El ID de instancia deseado
- USERNAME : La dirección de correo electrónico del usuario o 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 su solicitud, expanda una de estas opciones:
Debería 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": "[email protected]", "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 siguiente solicitud utiliza el método users:delete para eliminar la cuenta de usuario especificada.
Antes de utilizar cualquiera de los datos solicitados, realice las siguientes sustituciones:
- PROJECT_ID : Su ID de proyecto
- INSTANCE_ID : El ID de instancia deseado
- USERNAME : La dirección de correo electrónico del usuario o 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 su solicitud, expanda una de estas opciones:
Debería 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": "[email protected]", "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 el indicador
psql
, elimine el usuario:DROP ROLE USER_NAME;
Para obtener más información sobre la declaración
DROP ROLE
, consulte la documentación de PostgreSQL .
Actualizar las propiedades del usuario
Para actualizar las propiedades del usuario, como los atributos, debe usar el clientepsql
. Para más información, consulte Roles de base de datos en la documentación de PostgreSQL.¿Qué sigue?
- Obtenga más información sobre cómo funciona Cloud SQL con los usuarios .
- Lea la documentación de PostgreSQL sobre la creación de roles .
- Obtenga información sobre cómo conectarse a instancias .