Re: Buen dia

From: Alejandro Carrillo <fasterzip(at)yahoo(dot)es>
To: Jorge Alberto Aquino Andrade <jorge(dot)aquino(dot)andrade(at)gmail(dot)com>, Ayuda <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Buen dia
Date: 2013-03-20 12:56:57
Message-ID: 1363784217.46571.YahooMailNeo@web172202.mail.ir2.yahoo.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Particularmente prefiero Debian a Ubuntu (el papá por lo general es más estable que el hijo)
Por otro lado, normalmente lo que se hace en una aplicación es usar una tabla usuarios con pass (md5 o sha1) para efectuar el tema del logueo a la aplicación. Esto debe ser independiente de los usuarios que existan en la BD. 
Normalmente para esto se crea 1 usuario de BD con permisos de no superusuario, no replicacion, no asignacion de roles, no crear BD; se usa para establecer la conexion a la BD (o a las BD) y se accede a los datos usando functions de pgplsql con security definer (quien crea las functions debe ser un usuario que tenga acceso a las tablas y a las BD's), toca tener en cuenta que si es necesario crear functions que hagan SQL dinámico, debe ejecutar las consultas con Execute ...Using (más info leer http://www.postgresql.org/docs/9.1/static/plpgsql-statements.html). 
Todo lo anterior quiere decir que:
1) Solo 1 usuario de BD va a acceder a la BD y va a obtener los datos ÚNICAMENTE  a través de las functions ya creadas, es decir ese usuario ni siquiera debe poder hacer select directo a una tabla.
2) Normalmente, el tema de conexiones se maneja en la aplicación, desconectando la conexión después de ejecutar las functions de pgplsql. Sin embargo, si llegas a tener problemas de conexiones limitadas o no te gusta desconectar de la BD (por tiempo de conexion y desconexión), puedes usar algún pool de conexiones como pgpool (http://linuxsilo.net/articles/postgresql-pgpool.html este funciona también para replicación y alta disponibilidad) o pgBouncer (http://wiki.postgresql.org/wiki/PgBouncer que es un ligero pooler de conexiones)

>________________________________
> De: Jorge Alberto Aquino Andrade <jorge(dot)aquino(dot)andrade(at)gmail(dot)com>
>Para: Ayuda <pgsql-es-ayuda(at)postgresql(dot)org>
>Enviado: Martes 19 de marzo de 2013 10:51
>Asunto: [pgsql-es-ayuda] Buen dia
>
>
>Estoy en un proyecto en el cual estaran conectadas aproximadamente 300 dependencias o agencias en las cuales cada dependencia tendrá unos 10 empleados por lo que existe la posibilidad que esten conectados 3000 usuarios en algún momento del día a una base centralizada, la pregunta es como puedo hacer para que los usuarios externos no puedan accesar la base desde el pgadmin u otra herramienta administrativa de la base????
>La clave de adminsitrador de la base es suficiente con que solo una parte del personal la sepa y con eso basta para que no ingresen otros o tengo que hacer algo mas por la seguridad???
>Postgres soporta esa cantidad maxima de usuarios (3000 es el maximo ahorita pero al implementar el proyecto puede ser que sea la minima)
>Por favor hacer los comentarios sobre mis consultas.
>Trabajo con Postgresql 9.2.1 y se piensa montar la base en Ubuntu (la version mas estable)
>
>
>

In response to

  • Buen dia at 2013-03-19 15:51:28 from Jorge Alberto Aquino Andrade

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Fernando Paz 2013-03-20 16:39:56 Transaccionaildad de una función postgresql en una excepción java
Previous Message Martín Marqués 2013-03-20 11:48:02 Re: numero maximo de conexiones en Postgres.