Ver Mensaje Individual
  #2  
Antiguo 20-10-2006
TJose TJose is offline
Miembro
 
Registrado: may 2003
Posts: 162
Reputación: 22
TJose Va por buen camino
Hola morta71, foro!

1) Diferencia entre rol y usuario: un usuario esta definido a nivel servidor y disponible para cualquier base de datos, un rol se define a nivel base de datos.

2) Puedes trabajar implementado reglas de seguridad sin utilizar roles, sólo con usuarios (insisto, defidos en el servidor). Esto es, creas el usuario usuario1 con su correspondiente password. El siguiente paso es asignarles sus permisos en los diferentes objetos de la base de datos, permisos para seleccionar, para insertar, modificar registros en tablas, para ejecurtar ciertos procedimientos, etc. Hasta aqui todo bien, si tu base no es muy grande en un par de horas tendrás debidamente configurados todos los permisos para usuario1. Ahora bien, que pasa si tienes 30 usuarios. Deberás realizar, con suerte y si es que todos tienen el mismo perfil, la misma tarea 30 veces. Esto no es muy práctico

3) Los roles al rescate. Un rol se define en la base de datos, p/ej: rlAdministrador, rlOperador, rlLectura, etc, y en la misma base de datos defino que permisos tendrá cada rol, siguiendo con el ejemplo, rlAdministrador tendrá permisos totales, rlLectura, podrá seleccionar, pero no podrá ni insertar ni modificar registros, etc. Luego asigno roles a usuarios: usuario1 tendrá los roles rl1, rl2, etc, el usuario2 los roles rl1 y rl3, de esta manera una vez que defino los permisos de los roles, agregar un nuevo usuario al sistema y asignarle sus permisos es una tarea muy simple. Además cualquier modificacion en las reglas de permisos la haces una sola vez para un cierto rol y todos los usuarios con este rol adquieren estas modificaciones.

Ejemplo:
Código SQL [-]
create role rlAdministrador;

grant select, insert, update, delete, references on clientes to rladministrador;
grant execute on procedure spabm_clientes to rladministrador;

luego para asignar un rol a un usuario

Código SQL [-]
grant rladministrador to usuario1;

Espero que te sirva. Cualquier duda coméntala

Saludos
TJose

Última edición por TJose fecha: 20-10-2006 a las 06:04:28.
Responder Con Cita