Seguridad en SQL

05/07/2007 - 20:24 por Antonio Belmonte | Informe spam
Tenemos unos programas hechos en VB6 contra Access y los estamos migrando a
SQL server 2005 Express (como entorno de pruebas, el año que viene creo que
el jefe nos concederá sql 2005 para 20 usuarios). El entorno es Windows
2003 server con Active Directory. Hay 100 usuarios, aunque apenas hay 50
transacciones diarias y nunca trabajan más de 10 usuarios simultáneos (las
bases de datos, con los históricos de 10 años, no llegan a los 100Mb)
De momento, la migración de bases de datos y el acceso desde el programa
está resuelto y funciona bien, pero tengo muchas dudas respecto a cómo
organizar la seguridad de accesos.
Me gustaría que a las bases de datos sólo pudieran acceder los programas y
el administrador del sistema (con el SQL Manager), pues los programas,
dependiendo del usuario, ya mapean qué tablas, campos o porciones de
registros puede ver o modificar cada uno (hay programas bastante complejos,
con 11 perfiles de usuario, cada uno de los cuales accede a tablas o campos
específicos).
Lo he conseguido poniendo en SQL server el modo de autenticación Mixto,
poniendo contraseña al usuario sa, y pasando dicho usuario y contraseña en
las cadenas de conexión ADO del programa. Pero en el manual, Microsoft
desaconseja el uso de la autenticación mixta, recomendando sólo el uso del
modo de autenticación de Windows.
Hay un posible problema añadido: el año que viene, en nuestra corporación,
todas las contraseñas (incluidas las de administrador) van a caducar cada 45
días. Si utilizo la autenticación de windows igual tengo problemas para
acceder a las bases de datos desde los programas.
La verdad es que estoy hecho un lío con las políticas de usuario de SQL
Server 2005.
¿Me pueden orientar un poco?
Muchas gracias.

Una cosa más: el jefe comenta que si para el escaso movimiento de la base de
datos (hay días en que se insertan apenas 20 registros), tenemos suficiente
con la versión gratuita (express). ¿Qué opinan?
 

Leer las respuestas

#1 Isaias
05/07/2007 - 20:52 | Informe spam
Deberias documentarte sobre la version SQL SERVER 2005 EXPRESS EDITION WITH
ADVANCED SERVICES.

Suena que el motor de la base de datos puede soportar el numero de
transacciones por ahora y el tamaño que ocupara, pero insisto, lee sobre
dicha version.

En cuanto a la seguridad, 100% recomendable que sea por WINDOWS, que sea el
ACTIVE DIRECTORY que valide las cuentas, si el password caduca cada "x"
tiempo, este sera validado por el entorno OS y no por el motor.

Para saber mas de SQL Server 2005 Express:

http://www.microsoft.com/sql/editio...fault.mspx

Saludos
IIslas


"Antonio Belmonte" wrote:

Tenemos unos programas hechos en VB6 contra Access y los estamos migrando a
SQL server 2005 Express (como entorno de pruebas, el año que viene creo que
el jefe nos concederá sql 2005 para 20 usuarios). El entorno es Windows
2003 server con Active Directory. Hay 100 usuarios, aunque apenas hay 50
transacciones diarias y nunca trabajan más de 10 usuarios simultáneos (las
bases de datos, con los históricos de 10 años, no llegan a los 100Mb)
De momento, la migración de bases de datos y el acceso desde el programa
está resuelto y funciona bien, pero tengo muchas dudas respecto a cómo
organizar la seguridad de accesos.
Me gustaría que a las bases de datos sólo pudieran acceder los programas y
el administrador del sistema (con el SQL Manager), pues los programas,
dependiendo del usuario, ya mapean qué tablas, campos o porciones de
registros puede ver o modificar cada uno (hay programas bastante complejos,
con 11 perfiles de usuario, cada uno de los cuales accede a tablas o campos
específicos).
Lo he conseguido poniendo en SQL server el modo de autenticación Mixto,
poniendo contraseña al usuario sa, y pasando dicho usuario y contraseña en
las cadenas de conexión ADO del programa. Pero en el manual, Microsoft
desaconseja el uso de la autenticación mixta, recomendando sólo el uso del
modo de autenticación de Windows.
Hay un posible problema añadido: el año que viene, en nuestra corporación,
todas las contraseñas (incluidas las de administrador) van a caducar cada 45
días. Si utilizo la autenticación de windows igual tengo problemas para
acceder a las bases de datos desde los programas.
La verdad es que estoy hecho un lío con las políticas de usuario de SQL
Server 2005.
¿Me pueden orientar un poco?
Muchas gracias.

Una cosa más: el jefe comenta que si para el escaso movimiento de la base de
datos (hay días en que se insertan apenas 20 registros), tenemos suficiente
con la versión gratuita (express). ¿Qué opinan?




Preguntas similares