Skip site navigation (1) Skip section navigation (2)

Re: ACCESO A LOS USUARIOS

From: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
To: MIGUEL CANCHAS <mcanchas(at)tsr(dot)com(dot)pe>
Cc: "'pgsql-es-ayuda(at)postgresql(dot)org'" <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: ACCESO A LOS USUARIOS
Date: 2007-08-22 17:25:11
Message-ID: 20070822172511.GB26038@alvh.no-ip.org (view raw or flat)
Thread:
Lists: pgsql-es-ayuda
MIGUEL CANCHAS escribió:
> Por favor ayudenme con esto :
>  
> Como controlo los accesos a los usuarios con respecto a las tablas ?

Puedes usar GRANT y REVOKE para dar y restringir permisos a los objetos
en la BD.  Si creas roles para cada "nivel" de acceso, y le asignas
privilegios sobre las tablas/vistas a esos roles, entonces puedes
otorgarle roles a tus usuarios, y entonces los usuarios tendran acceso a
las tablas/vistas segun los privilegios de los roles que tengan.

Por ej.

create role contabilidad;
create role gerente_general;

create table empleados( ... );

-- es necesario quitar los permisos de PUBLIC porque los permisos por
-- omision son que todo el mundo puede acceder a las tablas
revoke all on table empleados from public;

-- ahora damos permisos a los roles que creamos arriba
grant all on table emplados to gerente_general;
grant select on table empleados to contabilidad;

-- ahora creamos un usuario
create user juan_perez;

-- si juan_perez es el contador, entonces:
grant role contabilidad to juan_perez;

-- tiempo despues, juan perez asciende a gerente general:
grant role gerente_general to juan_perez;


Et cetera.  Asi cada usuario tiene acceso exactamente a lo que necesita,
nada mas ni nada menos.

Es posible que la sintaxis este un poco pifiada porque lo hice de
memoria sin probarlo, pero espero que la idea se entienda.  De todas
formas, echale una buena leida a la documentacion de GRANT y REVOKE
(asegurate de leer la documentacion de la version de Postgres que estas
usando, porque ha cambiado un poco recientemente).

-- 
Alvaro Herrera                                http://www.CommandPrompt.com/
The PostgreSQL Company - Command Prompt, Inc.

In response to

pgsql-es-ayuda by date

Next:From: Alvaro HerreraDate: 2007-08-22 17:25:57
Subject: Re: Cambiar en cascada propietario de tablas
Previous:From: Luis Eduardo VillarruelDate: 2007-08-22 17:20:12
Subject: Re: Cambiar en cascada propietario de tablas

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group