[Pgsql-ayuda] cosas de privilegios

mplescano mplescano@nitcom.com
Mon, 1 Dec 2003 21:05:24 -0500


hola a todos:
aqui algunas comentarios mios.


Pasos para crear una base de datos restringida.

Crear tres grupos:
pgsql o postgres: el super usuario, nada que hablar aqui.

Grupo01 o user01: que va a tener el privilegios de crear objetos dentro de la 
base de datos. Crear esquemas y asignarles privilegios o otros grupo o 
usuarios.

Grupo02: que va a tener privilegios de crear objetos dentro de los esquemas, 
como tablas, tipos, vistas, funciones, triggers, etc y asignarles privilegios 
a otros usuarios o grupos dentro de su contexto.

Grupo03: que va a usar los recursos dentro de los esquemas qe se van a crear, 
pudienso ser lectura, escritura, borrado etc.


en los esquemas del sistema de la base de datos (no del sistema!!):
information_schema, pg_catalog: se eliminan los privilegios public y se 
adicionan con privilegios de U a los grupos respectivos (Es como un reemplazo 
de public con los grupos que deseamos). Se procede de la misma manera con las 
tablas con privilegio select, el de las funciones son muchas ahi los dejo. Es 
tarea tediosa, pero si se crea como una plantilla una base de datos, creo que 
seria de mucha utilidad.

Por ahora no he probado en produccion, para un suario del grupo tres que solo 
tendria acceso de:
select, update, delete, insert a las tablas y unas cuantas excepciones a las 
funciones como las secuencias serial, triggers y store procedures.

bueno, es un intento por emular lo que hace mysql con su sistema de 
privilegios.

y bueno en el archivo pg_hba.conf, solo se pone que todos se conecten a todas 
las base de datos y punto.

Alguna sugerencia?
Gracias.