On Mon, 10 Feb 2014 14:30:22 -0500
Jaime Casanova <[email protected]> wrote:

> 2014-02-10 14:09 GMT-05:00 Jorge Alberto Aquino Andrade
> <[email protected]>:
> > Ese usuario de aplicación tiene asignado roles y los roles los privilegios,
> 
> Es decir que haces algo como esto?
> 
> 1) conectar con un usuario desde la aplicación
> 2) validar un usuario en una tabla
> 3) SET ROLE TO usuario;

No lo creo. Sospecho que es el clásico esquema de aplicación web en el que
la aplicación dispone de sus propios usuarios, contraseñas y permisos, y
accede a la base de datos con un único usuario (por ejemplo y si no me equivoco,
la mayoría de los CMS).

> De hecho, puedes decirle a Postgres que verifique el usuario en el LDAP

De acuerdo con mis notas,

Lo único que tenemos que hacer es retocar el fichero pg_hba.conf añadiéndole 
una línea parecida a ésta:

host all all 127.0.0.1/32 ldap\
   ldap://servidor ldap/base dn;prefijo;sufijo"

El base dn es la base sobre la que se hace la búsqueda. El prefijo es lo que se 
añadirá a la izquierda del nombre de usuario para crear el nombre cualificado 
con el que se hará el login. Normalmente será cn=. Y el sufijo es lo que se 
añade por la derecha, incluyendo una coma de separación si fuera necesario. 
Así, si nuestro sevidor es ldap.ejemplo.com y los usuarios autorizados a 
desarrollar en la base de datos testing se ubican en 
ou=Developers,dc=ejemplo,dc=com, la línea necesaria será

host testing all 192.168.1.0/24 ldap \
    
ldap://ldap.ejemplo.com/ou=Developers,dc=ejemplo,dc=com;cn=;,ou=Developers,dc=ejemplo,dc=com";

Para cada usuario autorizado habrá que lanzar el comando CREATE USER y los 
GRANT que correspondan.

-- 
Alberto Cabello Sánchez <[email protected]>

-
Enviado a la lista de correo pgsql-es-ayuda ([email protected])
Para cambiar tu suscripción:
http://www.postgresql.org/mailpref/pgsql-es-ayuda

Responder a