Descripción de los roles de servidor de Azure Database for PostgreSQL integrados
PostgreSQL administra el acceso a la base de datos mediante roles. Un rol puede ser un usuario de base de datos o un grupo de usuarios. Los roles pueden:
- Objetos de base de datos propios, como tablas o funciones.
- Asigne privilegios sobre esos objetos a otros roles.
- Conceder pertenencia a otro rol, lo que permite que el rol de miembro tenga sus privilegios.
El servidor de Azure Database for PostgreSQL se crea con tres roles predeterminados:
- azure_pg_admin
- azuresu
- su usuario administrador de servidor, parte del rol azure_pg_admin
Para ver todos los roles de servidor, ejecute la consulta siguiente:
SELECT * FROM pg_roles;
Nota
Azure Database for PostgreSQL es un servicio PaaS administrado y solo los usuarios de Microsoft tienen el rol azuresu (superusuario).
Al crear el servidor, también se creó un usuario administrador del servidor. Este usuario se convirtió automáticamente en miembro del rol de azure_pg_admin. El usuario administrador del servidor de Azure Database for PostgreSQL tiene los siguientes privilegios: LOGIN, NOSUPERUSER, INHERIT, CREATEDB, CREATEROLE, REPLICATION
Ahora, la cuenta de usuario de administrador del servidor que creó cuando se creó el servidor, puede:
- Cree más usuarios y asigne a esos usuarios el rol de azure_pg_admin.
- Cree usuarios y roles con menos privilegios que tengan acceso a bases de datos y esquemas individuales.
PostgreSQL incluye algunos roles predeterminados que se pueden asignar a los usuarios. Estos incluyen privilegios necesarios habitualmente para el acceso:
- pg_read_all_settings
- pg_signal_backend
- pg_read_server_files
- pg_write_server_files
- pg_execute_server_program
También hay más roles especializados:
- pg_monitor
- pg_read_all_stats
- pg_stat_scan_tables
- replicación
Creación de usuarios administradores en Azure Database for PostgreSQL
- En Azure Data Studio (o su herramienta de cliente preferida), conéctese al servidor de Azure Database for PostgreSQL con las credenciales de inicio de sesión de administrador.
- Edite el siguiente código SQL reemplazando los marcadores de posición por el nombre de usuario y la contraseña:
CREATE ROLE <new_user> WITH LOGIN NOSUPERUSER INHERIT CREATEDB CREATEROLE NOREPLICATION PASSWORD '<StrongPassword!>';
GRANT azure_pg_admin TO <new_user>;