Re: Buen dia

From: Fernando Hevia <fhevia(at)gmail(dot)com>
To: Jorge Alberto Aquino Andrade <jorge(dot)aquino(dot)andrade(at)gmail(dot)com>
Cc: Ayuda <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Buen dia
Date: 2013-03-19 17:59:49
Message-ID: CAGYT1XT4Q4KOQcw2ikNr8-Dt0KiCKyW9AD0huUAKuP1PinovRg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

2013/3/19 Jorge Alberto Aquino Andrade <jorge(dot)aquino(dot)andrade(at)gmail(dot)com>

> 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 respuesta a esta pregunta depende un poco de la naturaleza de la
aplicación:
Si es una aplicación de n capas o web, entonces a la base sólo otorgarás
acceso desde el servidor. Esto lo controlas desde el archivo de
configuración pg_hba.conf. En cambio, si la aplicación es cliente servidor
entonces si tendrás el escenario donde los usuarios necesitarán conectarse
directamente a la base desde sus puestos, pero quiero pensar que ellos no
tendrán usuarios propios en la base de datos sino de la aplicación. Por lo
tanto, no tendrán como loguearse con pgAdmin.

> 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???
>

La clave de administrador es una cosa, y que nadie más que el/los
administradores deben conocer. Además tendrás que tener un usuario en la
base para el sistema, y ese usuario tendrá visibilidad sobre todos los
objetos de la aplicación. Adicionalmente, si necesitaras usuarios
personales para correr reportes sql por ejemplo, allí deberás ser cuidadoso
sobre qué permisos otorgas a esos usuarios. La idea es que sólo puedan ver
las vistas o tablas que necesitan consultar.

> Postgres soporta esa cantidad maxima de usuarios (3000 es el maximo
> ahorita pero al implementar el proyecto puede ser que sea la minima)
>

Ojo, no confundir cantidad de usuarios con conexiones a la base. Tener 3000
conexiones simultáneas no es razonable con ninguna base de datos y tampoco
con Postgres. Pero nuevamente tienes que tener clara la arquitectura de tu
aplicación para entender cuál es la relación usuario-conexión. Por ejemplo,
si usas un app server seguramente podrás implementar pool de conexiones a
ese nivel, sino puedes hacerlo sobre el propio Postgres con un producto
como pgbouncer. Dependiendo de la arquitectura de la aplicación podrías
apuntar a tener decenas de miles de usuarios con no más de 50 conexiones
simultáneas a la base.

> 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)
>

Saludos,
Fernando.

In response to

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

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Jorge Alberto Aquino Andrade 2013-03-19 18:01:03 Re: Buen dia
Previous Message Martín Marqués 2013-03-19 17:34:22 Re: Buen dia