Usuarios bd y aplicaciones

Hola Sindimad, nuevamente molestándote.
Tengo una pregunta que va relacionada en algo con la anterior, esta vez es sobre los usuarios.
Te explico un poco: al comienzo se crean programas y los usuarios para ésto se crean en la bd de datos, cada uno tiene su propio esquema, el cuál obviamente se encuentra vacío. Todas las tablas se encuentran en el esquema SISPRIN. Los usuarios tienen roles para ello.
Posteriormente, viene la otra persona y decide que los programas se conecten a la base de datos, sólo a través del usuario del programa, es decir el esquema SISVEN. Y ese es el usuario que utiliza para las conexiones. Los usuarios del programa los maneja internamente en una tabla y por código.
Pareciera que el primer caso es mejor, sin embargo de igual forma quisiera estandarizarlo, y saber qué es lo más óptimo... No sé si es que exista algo mejor para la creación y utilización de los usuarios para la base de datos.
Muy aparte del diseño de la creación de los usuarios en la BD, nos hablaron de un pool de conexiones, que al día de hoy no lo tenemos, pero lo necesitamos, no sé dónde pueda hallar al respecto, sobre todo ejemplos del tema, y qué opinas para la implementación del mismo.
Muchas gracias por tu tiempo.
Maripili :)

1 respuesta

Respuesta
1
Todo tiene sus buenas y cosas malas.
Si se hace creando usuarios vacíos de oracle que leen las tablas de un esquema estableces la política de seguridad desde oracle y de la otra forma tendrías que crearte tu política de seguridad dentro de la aplicación en cuanto a permisos de objetos de BBDD. Si se hiciese de la otra forma, con un esquema y usuarios de aplicación en una tabla, quizá pudiera ser más inseguro pero se podría ganar en mantenimiento, puesto que se podría hacer una administración de los usuarios de la aplicación desde el propio programa y lo podría hacer incluso alguien si conocimientos de Oracle con una pantalla hecha para ello.
La pregunta que te tienes que hacer es si el cambio te va a ofrece una verdadera mejora.
Gracias por tu respuesta.
Sobre lo que me explicas de las dos opciones que tenemos, tengo que:
Usuarios en esquema Usuarios en programa
  Gano seguridad gano en mantenimiento
En cuanto a performance, ¿qué es mejor? En estos momentos, estoy con una indecisión terrible, a pesar que la seguridad es un factor que pesa bastante, el mantenimiento no se queda de lado. Un compañero genera las cuentas en la BD a través de querys y les asigna los roles, intuyo que cambios de contraseña se puede hacer de la misma forma. No sé si tendrás otros factores a favor y en contra de emplear una u otra opción.
Tal vez me puedes sugerir lo del pool de conexiones, nos hablaron de ello, más no estoy segura dónde puedo encontrar al respecto y qué tan práctico y beneficioso es. Intuyo que se utiliza en el primer caso. (Usuarios en esquema)
Muchas gracias por tu tiempo y ayuda!
Maripili :)
Creo que en cuanto a performance no habría mucha diferencia, pero no te lo puedo asegurar.
Lo que si te puedo decir es lo que he visto allá en todos los sitios donde he estado:
1- Un esquema de bbdd por perfil de usuarios de aplicación y lo usuarios de aplicación en tabla.
2- Cada esquema en sus tablespaces; separando datos de inidices cada uno en su tablespace, y al poder ser en diferentes discos. Las tablas de procesos concurrentes del mismo esquema en tablespaces también separados y a poder ser en discos diferentes.
3- En algunos casos un usuario sin tablas y con vistas que acceden al anterior esquema de bbdd para establecer política de seguridad en cuanto a campos visibles, siendo este usuario con el que realmente se accede desde la aplicación. En otros casos en lugar de vistas este usuario solo tiene permisos de ejecución de procedimientos y paquetes que son los que devuelven los datos.
Que esté en muchos sitios no quiere decir que sea lo mejor. Puesto que en muchos casos me he encontrado que la tabla de usuarios de la aplicación tenia las password en blanco o cosas parecidas.
Lo que quería decir en la anterior respuesta es que los usuarios oracle ya tiene hecha un sistema de seguridad que funciona y en la aplicación quizá tengas que mejorarlo o depurarlo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas