Descripción de los roles de servidor de Azure Database for PostgreSQL integrados

Completado

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:

  • Poseer objetos de base de datos, como tablas o funciones.
  • Asignar a otros roles privilegios sobre esos objetos.
  • 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 del 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 tiene el rol azuresu (superusuario).

Cuando creó el servidor, también se creó un usuario administrador del servidor. Este usuario se convirtió automáticamente en miembro del rol azure_pg_admin. El usuario administrador del servidor de Azure Database for PostgreSQL tiene estos privilegios: LOGIN, NOSUPERUSER, INHERIT, CREATEDB, CREATEROLE, REPLICATION

Ahora, la cuenta de usuario administrador del servidor que creó cuando se creó el servidor puede hacer lo siguiente:

  • Crear más usuarios y concederles el rol azure_pg_admin.
  • Crear usuarios con menos privilegios y roles que tengan acceso a esquemas y base de datos individuales.

PostgreSQL incluye algunos roles predeterminados que se pueden asignar a los usuarios. Estos incluyen privilegios comunes necesarios 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 roles más especializados:

  • pg_monitor
  • pg_read_all_stats
  • pg_stat_scan_tables
  • La replicación

Creación de usuarios administradores en Azure Database for PostgreSQL

  1. En Azure Data Studio (o su herramienta cliente preferida), conéctese al servidor de Azure Database for PostgreSQL con las credenciales de inicio de sesión de administrador.
  2. Edite el código SQL siguiente 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>;