Usuarios restringidos para Dependencias

Buenas Tardes:
Estamos trabajando en la migración a PostgreSQL y se nos presenta la siguiente situación:
Nuestra idea es disponer en PostgreSQL de un usuario “pampa” con las características que se detallan en los instructivos (o sea superusuario). Este usuario pertecería a Unidad Central.Para las dependencias queriamos lograr configurar un usuario que sea lo más restringido posible
por motivos de seguridad (al margen de las configuraciones recomendadas en el archivo pg_hba.conf). Para ello estamos investigando acerca de los permisos, usuarios y grupos. Este usuario de dependencia en principio debería ser no superusuario, y no podría conectarse a la base de Unidad Central (configurando los permisos para ello).
El tema es que para que la dependencia pueda trabajar sin problemas en estas condiciones, es necesario darle permisos totales para su propia base (esto es sin ser superusuario),para todos los esquemas y para todas las tablas, procedimientos, vistas ,etc de la misma, además de ser el propietario del esquema “acentral” (ya que de otra forma no permite realizar el envío de novedades correctamente) pero sabemos que durante la parcialización más exactamente las bases de las dependencias se borran y se vuelven a crear (con el usuario “pampa” de Unidad Central), osea que los permisos otorgados ya no se encuentran vigentes luego de la actualización (esto ocasionaría que con cada parcialización se deban volver a otorgar los permisos para el usuario de la dependencia). Por este motivo, no resulta ser viable nuestra idea inicial pero de todas formas queriamos consultarles si realmente no es posible que los usuarios de las dependencias no sean superusuarios para trabajar correctamente y evitar problemas futuros en lo que respecta al procesamiento del sistema.
Desde ya gracias por su respuesta.

Saludos
Claudia Molina
Universidad Nacional de Luján

Creo entender perfectamente lo que les sucede. Lo que no me queda claro es porque no lo pueden manejar desde el pg_hba.conf?

Los que les recomiendo es que tengan un superusuario para cada unidad academica (Ej: pampa_exac, pampa_econ,…). Al ser superusuario tendra permiso total sobre todas las bases. Por lo que si lo limitamos desde el pg_hba.conf, podemos hacer que solo se pueda conectar a una cierta base. Con lo que vamos a tener un usuario con permisos de superusuario pero sobre una sola base de datos.

Ejemplo de pg_hba.conf

TYPE DATABASE USER CIDR-ADDRESS METHOD

IPv4 local connections:

usuarios de Facultades

host rrhh_agro pampa_agro w.x.y.z1/z2 md5 #El usuario pampa_agro solo se conecta a la base rrhh_agro
host rrhh_arte pampa_arte w.x.y.z1/z2 md5
host rrhh_dere pampa_dere w.x.y.z1/z2 md5
host rrhh_econ pampa_econ w.x.y.z1/z2 md5
host rrhh_exac pampa_exac w.x.y.z1/z2 md5
host rrhh_huma pampa_huma w.x.y.z1/z2 md5

Espero que se entienda, sino cualquier cosa lo seguimos viendo.

Saludos,
Nico.

Hola Nicolás,
en realidad no es que no podemos configurar el pg_hba.conf, sino que nuestra intención era agregarle seguridad adicional (utilizando los permisos disponibles con postgreSQL) además de la restricción de acceso a las bases con dicho archivo de configuración, pero todas nuestras pruebas nos demostraban que esto no era viable (por lo que te comentaba en el mensaje anterior), y queriamos confirmalo con vos.
Muchisimas gracias por tu respuesta!
Saludos

Claudia Molina
Universidad Nacional de Luján

Restringiendo por medio del pg_hba.conf no van a necesitar seguridad adicional (en este caso).
Al poner el punto de seguridad en el pg_hba.conf se esta poniendo una barrera a nivel conexion al motor. Para realizar lo que vos queres, tendríamos que hacer los dumps sin owner. Para que luego el objeto restaurado tome como owner el usuario que lo restaura. Por el momento creo que no es algo necesario, pero, si realmente lo requieren, tendríamos que estudiar la factibilidad de adaptar el mecanismo.

Saludos,
Nico.

Nicolás,
Por nuestra parte al momento creemos que con esta configuración tenemos cubierta la seguridad de acceso a la base.
Saludos!