Crear usuarios en Azure Database for PostgreSQL - Hiperescala (Citus)
APLICABLE A:
Azure Database for PostgreSQL e Hiperescala (Citus)
La cuenta de administrador del servidor
El motor de PostgreSQL usa roles para controlar el acceso a los objetos de base de datos y un grupo de servidores de Hiperescala (Citus) recién creado incluye varios roles predefinidos:
- Roles predeterminados de PostgreSQL
azure_pg_adminpostgrescitus
Dado que Hiperescala (Citus) es un servicio PaaS administrado, solo Microsoft puede iniciar sesión con el postgresrol de superusuario. Para el acceso administrativo limitado, Hiperescala (Citus) proporciona el rol citus.
Permisos para el rol de citus:
- Leer todas las variables de configuración, incluso las variables que normalmente solo son visibles para los superusuarios.
- Leer todas las vistas de pg_stat_* y usar varias extensiones relacionadas con estadísticas, incluso las vistas o extensiones que normalmente solo son visibles para los superusuarios.
- Ejecutar funciones de supervisión que puedan tener bloqueos de uso compartido de acceso en tablas, potencialmente durante mucho tiempo.
- Crear extensiones de PostgreSQL (porque el rol es miembro de
azure_pg_admin).
En particular, el rol citus tiene algunas restricciones:
- No puede crear roles.
- No puede crear bases de datos.
Cómo crear roles de usuario adicionales
Como se ha mencionado, la cuenta de administrador citus carece de permiso para crear usuarios adicionales. Para agregar un usuario, use la interfaz de Azure Portal.
Vaya a la página Roles del grupo de servidores de Hiperescala (Citus) y seleccione + Agregar:
Introduzca el nombre y la contraseña del rol. Seleccione Guardar.
El usuario se creará en el nodo coordinador del grupo de servidores y se propagará a todos los nodos de trabajo. Los roles creados a través de Azure Portal tienen el atributo LOGIN, lo que significa que son verdaderos usuarios que pueden iniciar sesión en la base de datos.
Cómo modificar los privilegios para el rol de usuario
Los nuevos roles se usan comúnmente para proporcionar acceso a la base de datos con privilegios restringidos. Para modificar los privilegios de usuario, use los comandos estándar de PostgreSQL con una herramienta como PgAdmin o psql. (Vea Conectar a un grupo servidor Hiperescala (Citus)).
Por ejemplo, para permitir que db_user lea mytable, conceda el permiso:
GRANT SELECT ON mytable TO db_user;
Hiperescala (Citus) propaga las instrucciones GRANT de tabla única a través de todo el clúster y las aplica a todos los nodos de trabajo. También propaga instrucciones GRANT que están en todo el sistema (por ejemplo, para todas las tablas de un esquema):
-- applies to the coordinator node and propagates to workers
GRANT SELECT ON ALL TABLES IN SCHEMA public TO db_user;
Cómo eliminar un rol de usuario o cambiar su contraseña
Para actualizar un usuario, visite la página Roles del grupo de servidores de Hiperescala (Citus) y seleccione los puntos suspensivos ... junto al usuario. Los puntos suspensivos abrirán un menú para eliminar el usuario o restablecer su contraseña.
El rol citus tiene privilegios y no se puede eliminar.
Pasos siguientes
Abra el firewall para las direcciones IP de las máquinas de los nuevos usuarios para permitirles conectarse: Creación y administración de las reglas de firewall en Hiperescala (Citus) con Azure Portal.
Para más información sobre la gestión de usuarios de la base de datos, consulte la documentación del producto PostgreSQL: