Hola todos!.
Actualmente el Departamento de Desarrollo de Aplicaciones en la empresa
donde trabajo esta teniendo algunas discusiones con el Departamento de
Servidores sobre las polÃticas de conexión a la base de datos en
nuestras aplicaciones.
Ellos no estan de acuerdo en que nuestra aplicación en Rails se conecte
a la base de datos con un único usuario, tal como se define en el
database.yml, alegando motivos de seguridad (y otros detalles como logs
de base de datos, etc)
El detalle es el siguiente:
-
La aplicación autentica a los usuarios contra el Active Directory de
la corporación (cuya contraseña es cambiada por los usuarios desde
Windows cada cierto tiempo por polÃticas de la empresa). -
La base de datos utilizada es PostgreSQL, pero la autenticación de sus
usuarios NO es mediante LDAP. -
El problema es que estan exigiendo que cada usuario de la aplicación
(teóricamente cualquier usuario del directorio de la empresa) tenga su
propio usuario en la base de datos y la aplicación cambie la conexión
apropiadamente en cada request. Esto es simple, un before_filter que
cambie la conexión según el usuario de sesión (verificado previamente
contra el directorio). -
La duda o pregunta es, como hacer que la contraseña de esos usuarios
de base de datos sea segura?, ya que para cambiar la conexión a la base
de datos directamente desde un before_filter necesito especificar cierto
password que no tengo de donde obtenerlo, es decir, la contraseña
siempre tendrÃa un patrón, lo cual pienso es menos seguro. -
Adicionalmente, la misma aplicación es la que debe crear los usuarios
de base de datos con los permisos adecuados ya que, como dije antes, la
Base de datos no se autentica mediante LDAP.
¿Que opinan ustedes? particularmente no creo que sea mas seguro tener
alrededor de 3000 usuarios de base de datos con un password que tiene el
mismo patrón para todos (y con otro usuario listado en el database.yml
que pueda crearlos) que un único usuario en el database.yml que sea
usuado siempre (modelo tradicional de Rails.)
Agradezco sus comentarios, gracias!