En esta página, se describe cómo crear, administrar y quitar roles, usuarios y grupos de PostgreSQL y AlloyDB para PostgreSQL con los métodos de autenticación integrados de PostgreSQL basados en contraseñas.
Crea usuarios de PostgreSQL en AlloyDB
Cuando creas usuarios de PostgreSQL, solo comienzan con el privilegio LOGIN.
Para obtener más información sobre estos privilegios, consulta
CREATE USER.
Puedes cambiar los privilegios de cualquier usuario con el
ALTER ROLE
comando. Si creas un usuario nuevo con el cliente psql, puedes asociarlo con una función diferente o asignarle privilegios diferentes.
Administra usuarios
Puedes crear y administrar usuarios de AlloyDB con Google Cloud CLI o con comandos de PostgreSQL. En las siguientes secciones, se muestran tareas comunes de administración de usuarios con cualquiera de los métodos.
Antes de comenzar
Para usar comandos de PostgreSQL para administrar usuarios en un clúster, necesitas lo siguiente:
- Acceso a el cliente
psql - Acceso al usuario de la base de datos
postgreso a otro rol de usuario con los privilegios administrativos adecuados
Para usar la Google Cloud consola o Google Cloud CLI para administrar usuarios en un clúster, ese clúster debe tener una instancia principal. Si tu clúster no tiene una instancia principal, debes crear una antes de poder administrar usuarios.
Crea un usuario de la base de datos
Para crear un usuario de la base de datos que se autentique directamente con la base de datos con un nombre de usuario y una contraseña, también conocida como autenticación integrada, sigue los pasos de esta sección.
Para crear un usuario de la base de datos que use Identity and Access Management (IAM) para autenticarse, consulta Administra la autenticación de IAM.
Console
Ve a la página Clústeres.
Haz clic en el nombre del clúster en el que deseas agregar un usuario.
Haz clic en Usuarios.
Haz clic en Agregar cuenta de usuario.
Deja seleccionada la opción Autenticación integrada.
Si deseas usar IAM para autenticarte y acceder a tus clústeres de bases de datos, debes completar pasos adicionales para preparar tu proyecto y otorgar los permisos adecuados a tu usuario nuevo. Para obtener más información, consulta Administra la autenticación de IAM.
Ingresa un nombre de usuario y una contraseña para el usuario nuevo.
Para asignar roles que no sean el
alloydbsuperuserpredeterminado al usuario, sigue estos pasos:- Ingresa el nombre del rol en Roles.
- Para agregar el rol, presiona Intro o Tab.
Selecciona x para cualquier rol que desees quitar para ese usuario.
Para obtener más información, consulta Roles predefinidos.
Haz clic en Agregar.
psql
CREATE USER USERNAME WITH PASSWORD PASSWORD;
Para obtener más información sobre cómo crear y definir usuarios de la base de datos, consulta
CREATE USER.
Después de crear un usuario, puedes cambiar sus privilegios con el
ALTER ROLE
comando en el psql cliente.
gcloud
Usa el siguiente
gcloud alloydb users create comando:
gcloud alloydb users create USERNAME \
--password=PASSWORD \
--cluster=CLUSTER_ID \
--region=REGION_IDReemplaza las siguientes variables:
USERNAME: Nombre de usuario del usuarioUSERNAMEdebe seguir las reglas para los identificadores de SQL: sin caracteres especiales o entre comillas dobles. Por ejemplo,db_user_1.PASSWORD: Contraseña del usuario Para crear el usuario sin contraseña, omite este argumento.CLUSTER_ID: Es el ID del clúster al que se agregará el usuario.REGION_ID: Es el ID de la región en la que reside el clúster. Por ejemplo,us-central1.
Después de crear un usuario, puedes cambiar sus privilegios con el
gcloud alloydb users set-roles
comando.
Además, puedes otorgar roles o privilegios de superusuario a un usuario mientras lo creas. Para ello, incluye los argumentos --db-roles o --superuser, como se describe en la siguiente sección.
Otorga roles a un usuario de la base de datos
Console
Para otorgar roles a un usuario de la base de datos, usa psql o gcloud CLI,
en lugar de la Google Cloud consola.
psql
GRANT ROLE to USERNAME;
Reemplaza las siguientes variables:
USERNAME: Nombre de usuario del usuarioROLE: Rol para otorgar al usuario Por ejemplo, para otorgar privilegios de superusuario al usuario, otórgalealloydbsuperuser.
gcloud
Usa el siguiente gcloud alloydb users set-roles
comando para especificar todos los roles que deseas que tenga el usuario:
gcloud alloydb users set-roles USERNAME \
--db-roles=ROLES \
--cluster=CLUSTER_ID \
--region=REGION_IDReemplaza las siguientes variables:
USERNAME: Nombre de usuario del usuarioROLES: Lista separada por comas de todos los roles que deseas que tenga el usuario Asegúrate de enumerar todos los roles, incluidos los existentes y los nuevos.Para encontrar la lista de roles existentes asignados al usuario, ejecuta el siguiente comando:
gcloud alloydb users list --cluster=CLUSTER_ID --region=REGION_IDReemplaza las siguientes variables:
CLUSTER_ID: Es el ID del clúster que contiene al usuario.REGION_ID: Es el ID de la región en la que reside el clúster. Por ejemplo,us-central1.
Para otorgar privilegios de superusuario a un usuario, puedes otorgarle manualmente el rol
alloydbsuperuserconpsqlo ejecutar elgcloud alloydb users set-superusercomando con el argumento--superuser=true:gcloud alloydb users set-superuser USERNAME \ --superuser=true \ --cluster=CLUSTER_ID \ --region=REGION_IDReemplaza las siguientes variables:
CLUSTER_ID: Es el ID del clúster que contiene al usuario.REGION_ID: Es el ID de la región en la que reside el clúster. Por ejemplo,us-central1.
Cambia la contraseña de un usuario de la base de datos
Para establecer una contraseña nueva para un usuario estándar de la base de datos de PostgreSQL, sigue los pasos de esta sección.
No puedes cambiar ni establecer la contraseña de un usuario basado en IAM porque los usuarios de IAM no usan contraseñas para autenticarse. Para obtener más información, consulta Conéctate con una cuenta de IAM.
Console
Ve a la página Clústeres.
Haz clic en el nombre del clúster que contiene el usuario de la base de datos.
Haz clic en Usuarios.
En la fila que representa al usuario, haz clic en Abrir acciones para este usuario.
Selecciona Cambiar contraseña.
Especifica una contraseña:
Para establecer una contraseña nueva para este usuario, ingresa la contraseña en el campo Contraseña.
Para no establecer una contraseña para este usuario, selecciona la casilla de verificación Sin contraseña.
Haz clic en Aceptar.
psql
ALTER USER USERNAME WITH PASSWORD PASSWORD;
Para obtener más información sobre cómo cambiar la contraseña de un usuario, consulta
ALTER ROLE.
gcloud
Usa el siguiente gcloud alloydb users set-password
comando:
gcloud alloydb users set-password USERNAME \
--password=PASSWORD \
--cluster=CLUSTER_ID \
--region=REGION_IDReemplaza las siguientes variables:
USERNAME: Nombre de usuario del usuarioPASSWORD: Contraseña nueva para asignar al usuarioCLUSTER_ID: Es el ID del clúster al que pertenece el usuario.REGION_ID: Es el ID de la región en la que reside el clúster. Por ejemplo,us-central1.
Revoca un rol de un usuario de la base de datos
Console
Para revocar roles de un usuario, usa psql o gcloud CLI,
en lugar de la Google Cloud consola.
psql
Puedes revocar los privilegios otorgados anteriormente de uno o más roles o revocar la membresía de un usuario en un rol, como se muestra a continuación:
REVOKE ROLE FROM USERNAME;
Para quitar los privilegios de superusuario de un usuario, revoca el rol alloydbsuperuser de ese usuario.
gcloud
Para revocar un rol con Google Cloud CLI, usa el siguiente
gcloud alloydb users set-roles comando
para especificar todos los roles que deseas que tenga el usuario y omitir
roles que se revocarán del usuario:
gcloud alloydb users set-roles USERNAME \
--db-roles=ROLES \
--cluster=CLUSTER_ID \
--region=REGION_IDReemplaza las siguientes variables:
USERNAME: Nombre de usuario del usuarioROLES: Lista separada por comas de todos los roles que deseas que tenga el usuario Asegúrate de enumerar todos los roles, incluidos los existentes y los nuevos.Para encontrar la lista de roles existentes asignados al usuario, ejecuta el siguiente comando:
gcloud alloydb users list --cluster=CLUSTER_ID --region=REGION_IDCLUSTER_ID: Es el ID del clúster que contiene al usuario.REGION_ID: Es el ID de la región en la que reside el clúster. Por ejemplo,us-central1.
Para revocar los privilegios de superusuario, puedes quitar manualmente el rol
alloydbsuperuser de un usuario con psql, o ejecutar el comando
gcloud alloydb users set-superuser
con el argumento --superuser=false.
Visualiza una lista de usuarios de la base de datos
Console
Ve a la página Clústeres.
Haz clic en el nombre del clúster cuyos usuarios deseas ver.
Haz clic en Usuarios.
psql
Usa el siguiente comando \du para imprimir una tabla de todos los usuarios de la base de datos, que incluye sus membresías de grupo:
\du
gcloud
Usa el siguiente gcloud alloydb users list
comando:
gcloud alloydb users list \
--cluster=CLUSTER_ID \
--region=REGION_IDReemplaza lo siguiente:
CLUSTER_ID: Es el ID del clúster que contiene a los usuarios.REGION_ID: Es el ID de la región en la que reside el clúster. Por ejemplo,us-central1.
Borrar un usuario de la base de datos
Console
Ve a la página Clústeres.
Haz clic en el nombre del clúster que contiene al usuario.
Haz clic en Usuarios.
En la fila que representa al usuario, haz clic en Abrir acciones para este usuario.
Selecciona Quitar.
En el cuadro de diálogo ¿Quitar cuenta de usuario?, haz clic en Quitar.
psql
Antes de borrar un usuario, debes quitar o reasignar todos los objetos que posee y revocar todos los privilegios que se le hayan otorgado al usuario en otros objetos. Para ello, usa los siguientes recursos:
DROP ROLE USERNAME;
gcloud
Usa el siguiente
gcloud alloydb users delete comando:
gcloud alloydb users delete USERNAME \
--cluster=CLUSTER_ID \
--region=REGION_IDReemplaza lo siguiente:
USERNAME: Nombre de usuario del usuarioCLUSTER_ID: Es el ID del clúster al que pertenece el usuario.REGION_ID: Es el ID de la región en la que reside el clúster. Por ejemplo,us-central1.