Acerca de la administración de usuarios de bases de datos en AlloyDB para PostgreSQL

Para controlar el acceso a tus bases de datos de AlloyDB para PostgreSQL, puedes crear y administrar usuarios, roles y grupos de bases de datos con la autenticación integrada de PostgreSQL o la autenticación de Identity and Access Management (IAM).

Cómo funciona la administración de usuarios de bases de datos

AlloyDB comparte los mismos conceptos de roles, usuarios y grupos que PostgreSQL. Para obtener una explicación breve, consulta las siguientes descripciones:

  • Rol: Es la 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 en un clúster. Los roles proporcionan y restringen el acceso a los objetos de la base de datos, como tablas y funciones.

  • Usuario: Es el rol al que se le otorga el atributo LOGIN. Los usuarios pueden autenticarse y acceder a los clústeres de bases de datos de AlloyDB.

  • Grupo: Es el rol que se otorga a uno o más usuarios. El propósito 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 y acceder a tus clústeres de bases de datos de AlloyDB, tienes dos opciones:

  • Autenticación integrada basada en contraseñas de PostgreSQL: Para verificar la identidad del usuario, AlloyDB compara las credenciales proporcionadas con las contraseñas almacenadas con codificación hash. Los métodos admitidos incluyen md5, scram-sha-256 y password.
  • Autenticación de IAM: permite que los usuarios de la base de datos se autentiquen con IAM. Esto proporciona una seguridad mejorada y centraliza el control de acceso en otros servicios deGoogle Cloud .

Roles predefinidos

PostgreSQL proporciona roles predefinidos con varios privilegios. Además de estos roles predefinidos, AlloyDB proporciona varios roles de usuario y de grupo predefinidos más.

En la siguiente tabla, se enumeran los roles y los privilegios de rol que proporciona AlloyDB:

Nombre del rol Privilegios
alloydbsuperuser CREATEROLE, CREATEDB y LOGIN.
postgres CREATEROLE, CREATEDB y LOGIN.
alloydbadmin SUPERUSER (que incluye CREATEROLE, CREATEDB y LOGIN)
alloydbimportexport CREATEROLE y CREATEDB.
alloydbexport LOGIN y miembro de pg_read_all_data.
alloydbagent CREATEROLE y CREATEDB.
alloydbmetadata LOGIN. De forma predeterminada, este rol no tiene ningún privilegio adicional.
alloydbobservability LOGIN y miembro de pg_monitor.
alloydbreplica REPLICATION
alloydbiamuser De forma predeterminada, este rol no tiene ningún privilegio.
alloydbiamgroupuser De forma predeterminada, este rol no tiene ningún privilegio.

En las siguientes subsecciones, se explican los usos de estos roles.

Rol de grupo alloydbsuperuser

El rol 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
  • Crea activadores de eventos
  • Crea usuarios de replicación
  • Crea suscripciones y publicaciones de replicación

Como servicio administrado, AlloyDB no te permite otorgar a los usuarios el rol superuser de PostgreSQL. En cambio, puedes otorgar privilegios de superusuario de AlloyDB a cualquier usuario de la base de datos si le asignas el rol alloydbsuperuser.

Rol de usuario de postgres

El rol de usuario postgres es parte del rol alloydbsuperuser. Cuando creas un clúster de AlloyDB, puedes asignar una contraseña al usuario postgres para que puedas acceder a tu sistema con el usuario postgres y realizar tareas, como crear bases de datos o roles adicionales.

Rol de usuario de alloydbadmin

El rol alloydbadmin es un rol interno predefinido del sistema que configura el sistema de la base de datos, instala y actualiza extensiones, y realiza otras tareas internas de superusuario. El servicio de AlloyDB administra este rol, y no puedes usarlo para acceder ni otorgarlo de forma manual a las cuentas de base de datos.

Rol de usuario de alloydbimportexport

Cuando creas un clúster de AlloyDB, AlloyDB crea el usuario 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 usuario alloydbimportexport personalizado, el sistema usará el usuario alloydbimportexport predeterminado para las operaciones de importación y exportación.

El usuario alloydbimportexport es un usuario del sistema. Esto significa que no puedes usar directamente el usuario alloydbimportexport para acceder o realizar otras operaciones en tus bases de datos de PostgreSQL.

Rol de usuario de alloydbexport

El rol alloydbexport es un rol interno del sistema de AlloyDB con privilegios de pg_read_all_data que usan las operaciones de exportación internas. El servicio de AlloyDB administra este rol, y no puedes otorgarlo de forma manual a las cuentas de base de datos.

Rol de usuario de alloydbagent

El rol alloydbagent es un rol interno del sistema de AlloyDB. El servicio de AlloyDB administra el rol y no puedes otorgarlo de forma manual a las cuentas de base de datos. Esta administración ayuda a que la base de datos y sus funciones se ejecuten correctamente.

Rol de usuario de alloydbmetadata

El rol alloydbmetadata es un rol interno del sistema de AlloyDB con privilegios mínimos que se usa para administrar tablas de metadatos internas. El servicio de AlloyDB administra este rol, y no puedes otorgarlo de forma manual a las cuentas de base de datos.

Rol de usuario de alloydbobservability

El rol alloydbobservability es un rol interno del sistema de AlloyDB con privilegios pg_monitor que se usa para recopilar telemetría de la base de datos, estadísticas de consultas y métricas de observabilidad. El servicio de AlloyDB administra este rol, y no puedes otorgarlo de forma manual a las cuentas de base de datos.

Rol de usuario de alloydbreplica

El rol alloydbreplica es un rol interno del sistema de AlloyDB. El servicio de AlloyDB administra el rol y no puedes otorgarlo de forma manual a las cuentas de base de datos. Esta administración ayuda a que la base de datos y sus funciones se ejecuten correctamente.

Rol de grupo alloydbiamuser

Los usuarios de la base de datos dentro del grupo alloydbiamuser se autentican con una instancia de AlloyDB mediante IAM, en lugar de usar la autenticación basada en contraseñas integrada de PostgreSQL.

AlloyDB no te permite otorgar el rol alloydbiamuser a los usuarios con el comando GRANT de PostgreSQL ni métodos similares. En su lugar, puedes usar las herramientas administrativas de AlloyDB para crear y administrar usuarios de bases de datos basados en IAM. Para obtener más información, consulta Administra la autenticación de IAM.

Rol de grupo alloydbiamgroupuser

Los grupos de bases de datos y sus cuentas de miembros que usan la autenticación de grupos de IAM pertenecen al rol de grupo alloydbiamgroupuser. El servicio de AlloyDB administra este rol automáticamente cuando agregas un grupo de IAM a un clúster, y no puedes otorgarlo de forma manual con el comando GRANT de PostgreSQL. Para obtener más información sobre cómo otorgar privilegios de base de datos a los usuarios de IAM, consulta Administra la autenticación de IAM.

¿Qué sigue?