Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » PostgreSQL »

Administración de roles y grupos (asignación de permisos)

Estas en el tema de Administración de roles y grupos (asignación de permisos) en el foro de PostgreSQL en Foros del Web. Que tal, quiero hacer un par de limitaciones a los muchos roles que tengo en unos servidores de Postgre, soy de usar mucho pgAdmin III, ...
  #1 (permalink)  
Antiguo 22/02/2012, 11:28
Avatar de FiruzzZ  
Fecha de Ingreso: diciembre-2007
Ubicación: en casa
Mensajes: 470
Antigüedad: 16 años, 11 meses
Puntos: 41
Pregunta Administración de roles y grupos (asignación de permisos)

Que tal, quiero hacer un par de limitaciones a los muchos roles que tengo en unos servidores de Postgre, soy de usar mucho pgAdmin III, ya que mi fuerte no es el DBA y tengo un par de dudas.
1. ¿Cuando creo un Rol, este automáticamente tiene acceso a toooodas las DDBB que hay en el servidor, cierto?
2.¿Como sería la forma mas rápida de limitar el acceso de un Rol a una sola DB, impidiendo cualquier tipo de DML y por supuesto DDL en otras DDBB?
3. Creo que los permisos se agregar por TABLA de una determinada DB y no a TODA una DB, cierto? Al menos así fue la única forma que conseguí de limitar a un Rol para que pueda realizar SELECT a una tabla y UPDATE en otra.

GRANT ALL ON TABLE productos_web TO postgres;
GRANT SELECT, UPDATE ON TABLE productos_web TO jgestion_web;

Esto surge porque unas desktop app (en Java), una muy grande, y otra media, van a ser distribuidas a distintas zonas geográficas y quiero tener estas limitaciones de acceso y manipulación lo mas justo y necesario posible.

Nota: lo que mas me pierde de PostgreSQL es que en la documentación dice que un User, Rol, o Group Rol son iguales. Entonces no se por donde empezar con esta jerarquía de usuarios que quiero armar
__________________
BadProgrammerException!

Última edición por FiruzzZ; 12/05/2012 a las 15:50 Razón: sigo sin saber estas cuestiones..
  #2 (permalink)  
Antiguo 12/05/2012, 15:52
Avatar de FiruzzZ  
Fecha de Ingreso: diciembre-2007
Ubicación: en casa
Mensajes: 470
Antigüedad: 16 años, 11 meses
Puntos: 41
Respuesta: Administración de roles y grupos (asignación de permisos)

Me podrían orientar?
__________________
BadProgrammerException!
  #3 (permalink)  
Antiguo 13/05/2012, 12:34
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 9 meses
Puntos: 360
Respuesta: Administración de roles y grupos (asignación de permisos)

Hola FiruZZZ

tambien se puede dar permisos a una BD
Código SQL:
Ver original
  1. GRANT { { CREATE | CONNECT | TEMPORARY | TEMP } [, ...] | ALL [ PRIVILEGES ] }
  2.     ON DATABASE database_name [, ...]
  3.     TO { [ GROUP ] role_name | PUBLIC } [, ...] [ WITH GRANT OPTION ]

De igual forma, con un poco de PL también puedes personalizar los permisos que tienen algunos usuarios sobre ciertos objetos.
Por ejemplo:
Código SQL:
Ver original
  1. DECLARE
  2. variable VARCHAR(8);
  3. BEGIN
  4. FOR cursor IN(SELECT username FROM pg_user) loop
  5.      EXECUTE immediate('revoke select on '||nombre_tabla||' from '||nombre_usuario);
  6. END loop;
  7. END;

El codigo no es perfecto, pero esa sería la idea.

saludos
__________________
Without data, You are another person with an opinion.
W. Edwads Deming

Etiquetas: grant, permisos, pgadmin
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:40.