Descripción del rol rds_superuser
En PostgreSQL, un rol puede definir un usuario, un grupo o un conjunto de permisos específicos concedidos a un grupo o usuario para varios objetos de la base de datos. Comandos de PostgreSQL para CREATE USER y CREATE GROUP se han sustituidos por los más generales, CREATE ROLE con propiedades específicas para distinguir a los usuarios de bases de datos. Un usuario de base de datos se puede concebir como un rol con el privilegio LOGIN.
nota
Los comandos CREATE USER y CREATE GROUP se pueden seguir utilizando. Para obtener más información, consulte Roles de base de datos
El usuario postgres es el usuario de base de datos más privilegiado de la instancia de base de datos de RDS for PostgreSQL. Tiene las características definidas mediante la siguiente instrucción CREATE ROLE.
CREATE ROLE postgres WITH LOGIN NOSUPERUSER INHERIT CREATEDB CREATEROLE NOREPLICATION VALID UNTIL 'infinity'Las propiedades NOSUPERUSER, NOREPLICATION, INHERIT y VALID UNTIL 'infinity' son las opciones predeterminadas de CREATE ROLE, a menos que se especifique lo contrario.
De forma predeterminada, postgres tiene privilegios otorgados al rol rds_superuser y permisos para crear roles y bases de datos. El rol rds_superuser permite al usuario postgres hacer lo siguiente:
-
Añadir extensiones que estén disponibles para el uso con Amazon RDS. Para obtener más información, consulte Uso de las características de PostgreSQL admitidas por Amazon RDS para PostgreSQL
-
Cree roles para los usuarios y conceder privilegios a los usuarios. Para obtener más información, consulte CREATE ROLE
y GRANT en la documentación de PostgreSQL. -
Creación de bases de datos Para obtener más información, consulte CREATE DATABASE
en la documentación de PostgreSQL. -
Conceder privilegios de
rds_superusera los roles de usuario que no tengan estos privilegios y revocarlos según sea necesario. Le recomendamos que conceda este rol solo a los usuarios que realizan tareas de superusuario. En otras palabras, puede conceder este rol a los administradores de bases de datos (DBA) o a los administradores del sistema. -
Conceda (y revoque) el rol
rds_replicationa usuarios de bases de datos que no tengan el rolrds_superuser. -
Conceder (y revocar) el rol
rds_passworda usuarios de bases de datos que no tengan el rolrds_superuser. -
Obtener información de estado sobre todas las conexiones de base de datos mediante la vista
pg_stat_activity. Cuando sea necesario,rds_superuserpuede detener cualquier conexión mediantepg_terminate_backendopg_cancel_backend.
En la instrucción CREATE ROLE postgres..., se puede ver que el rol de usuario postgres no permite específicamente permisos superuser de PostgreSQL. RDS for PostgreSQL es un servicio administrado, por lo que no puede acceder al sistema operativo host y no puede conectarse con la cuenta superuser de PostgreSQL. Muchas de las tareas que requieren acceso superuser en un PostgreSQL independiente se administra automáticamente mediante Amazon RDS.
Para obtener más información sobre la concesión de privilegios, consulte GRANT
El rol rds_superuser es uno de varios roles predefinidos en un Instancia de base de datos RDS for PostgreSQL.
nota
En PostgreSQL 13 y versiones anteriores, los roles predefinidos se denominan roles predeterminados.
En la siguiente lista encontrará algunos de los otros roles predefinidos que se crean automáticamente para un nuevo Instancia de base de datos RDS para PostgreSQL Los roles predefinidos y sus privilegios no se pueden cambiar. No se pueden eliminar, cambiar de nombre ni modificar los privilegios de estos roles predefinidos. Intentar realizar una de estas operaciones producirá un error.
-
rds_password: rol que puede cambiar las contraseñas y configurar restricciones de contraseña para los usuarios de bases de datos. Al rol
rds_superuserse le otorga este rol de forma predeterminada y puede otorgarlo a los usuarios de la base de datos. Para obtener más información, consulte Control del acceso de los usuarios a la base de datos de PostgreSQL.-
En las versiones de RDS para PostgreSQL anteriores a la 14, el rol
rds_passwordpuede cambiar las contraseñas y establecer restricciones de contraseña para los usuarios de la base de datos y los usuarios con el rolrds_superuser. A partir de la versión 14 de RDS para PostgreSQL, el rolrds_passwordpuede cambiar las contraseñas y establecer restricciones de contraseña solo para los usuarios de la base de datos. Solo los usuarios con el rolrds_superuserpueden realizar estas acciones en otros usuarios con el rolrds_superuser.
-
-
rdsadmin: rol creado para administrar muchas de las tareas de administración que el administrador con privilegios de
superuserrealizaría en una base de datos PostgreSQL independiente. Este rol lo utiliza internamente RDS for PostgreSQLpara muchas tareas de administración. -
rdstopmgr: rol que Amazon RDS utiliza internamente para admitir implementaciones multi-AZ.
-
rds_reserved: función que Amazon RDS utiliza internamente para reservar conexiones a bases de datos.