En esta página se ofrece una descripción general sobre cómo gestionar usuarios de bases de datos en AlloyDB para PostgreSQL y habilitar la autenticación de gestión de identidades y accesos (IAM) para esos usuarios de bases de datos.
Cómo funciona la gestión de usuarios de bases de datos
AlloyDB comparte los mismos conceptos de roles, usuarios y grupos que PostgreSQL. Para ver una breve explicación, consulta las siguientes descripciones:
Rol: designación de nivel superior que describe tanto a los usuarios de la base de datos como a los grupos de usuarios de la base de datos de un clúster. Los roles proporcionan y restringen el acceso a objetos de la base de datos, como tablas y funciones.
Usuario: el rol que tiene el atributo
LOGIN
. Los usuarios pueden autenticarse e iniciar sesión en clústeres de bases de datos de AlloyDB.Grupo: el rol que se asigna a uno o varios usuarios. El objetivo de los grupos es controlar los privilegios que tienen muchos usuarios en conjunto.
Cómo funciona la autenticación de la base de datos
Para autenticarte e iniciar sesión en tus clústeres de bases de datos de AlloyDB, tienes dos opciones:
- Autenticación basada en contraseñas de PostgreSQL integrada:
para verificar la identidad del usuario, AlloyDB compara las credenciales proporcionadas con las contraseñas cifradas almacenadas. Los métodos admitidos son
md5
,scram-sha-256
ypassword
. - Autenticación de gestión de identidades y accesos: permite a los usuarios de la base de datos autenticarse mediante gestión de identidades y accesos. Esto proporciona una seguridad mejorada y centraliza el control de acceso en otros servicios deGoogle Cloud .
Funciones predefinidas
PostgreSQL proporciona roles predefinidos con varios privilegios. Además de estos roles predefinidos, AlloyDB proporciona otros roles de usuario y de grupo predefinidos.
En las siguientes tablas se enumeran los roles y los privilegios de los roles que proporciona AlloyDB:
Nombre de rol | Privilegios |
---|---|
alloydbsuperuser |
CREATEROLE , CREATEDB y LOGIN . |
postgres |
CREATEROLE , CREATEDB y LOGIN . |
alloydbimportexport |
CREATEROLE y CREATEDB . |
alloydbagent |
CREATEROLE y CREATEDB . |
alloydbreplica |
REPLICATION |
alloydbiamuser |
De forma predeterminada, este rol no tiene ningún privilegio. |
En las siguientes subsecciones se explica el uso de estos roles.
Rol de grupo alloydbsuperuser
alloydbsuperuser
te permite configurar tu sistema de base de datos y realizar otras tareas de superusuario. Este rol tiene los siguientes privilegios:
- Crear extensiones que requieran privilegios de superusuario
- Crear activadores de eventos
- Crear usuarios de replicación
- Crear publicaciones y suscripciones de replicación
Al ser un servicio gestionado, AlloyDB no te permite conceder a los usuarios el rol superuser
de PostgreSQL. En su lugar, puedes dar privilegios de superusuario de AlloyDB a cualquier usuario de la base de datos si le asignas el rol alloydbsuperuser
.
postgres
rol de usuario
El rol de usuario postgres
forma parte de alloydbsuperuser
. Cuando creas un clúster de AlloyDB, asignas una contraseña a postgres
. A continuación, inicia sesión en el sistema con postgres
para realizar tareas como crear bases de datos o roles adicionales.
alloydbimportexport
rol de usuario
Cuando creas un clúster de AlloyDB, AlloyDB crea alloydbimportexport
con el conjunto mínimo de privilegios que necesita para las operaciones de importación y exportación.
Puedes crear tus propios usuarios para realizar estas operaciones. Si no creas un alloydbimportexport
usuario personalizado, el sistema usará el alloydbimportexport
usuario predeterminado para las operaciones de importación y exportación.
alloydbimportexport
es un usuario del sistema. Esto significa que no puedes usar directamente el usuario alloydbimportexport
para iniciar sesión o realizar otras operaciones en tus bases de datos de PostgreSQL.
alloydbagent
rol de usuario
El rol alloydbagent
es un rol de sistema interno de AlloyDB. El servicio AlloyDB gestiona el rol y no puedes concederlo manualmente a cuentas de base de datos. Esta gestión asegura que la base de datos y sus funciones funcionen correctamente.
alloydbreplica
rol de usuario
El rol alloydbreplica
es un rol de sistema interno de AlloyDB. El servicio AlloyDB gestiona el rol y no puedes concederlo manualmente a cuentas de base de datos. Esta gestión asegura que la base de datos y sus funciones funcionen correctamente.
Rol de grupo alloydbiamuser
Los usuarios de la base de datos del grupo alloydbiamuser
se autentican en una instancia de AlloyDB mediante IAM, en lugar de usar la autenticación basada en contraseñas integrada de PostgreSQL.
AlloyDB no te permite conceder alloydbiamuser
a los usuarios
mediante el comando GRANT
de PostgreSQL ni métodos similares. En su lugar, puede usar las herramientas administrativas de AlloyDB para crear y gestionar usuarios de bases de datos basados en la gestión de identidades y accesos. Para obtener más información, consulta Gestionar la autenticación de IAM.
Siguientes pasos
Consulta cómo gestionar roles, usuarios y grupos de PostgreSQL en AlloyDB mediante la autenticación integrada.
Consulta cómo gestionar la autenticación de gestión de identidades y accesos.