Vamos a comenzar en esta clase donde vamos a estar viendo qué son los usuarios y qué son los Lovins
cuál es la diferencia entre ambos y cómo podemos crearlos en nuestra base de datos.
Fíjense si nosotros vamos vamos a las carpetas del motor de base de datos y desplegamos por ejemplo
la carpeta Security.
Acabamos a ver qué dice la carpeta Lovins pero fíjense que si desplegamos la carpeta base de datos y
desplegamos la base de datos Centro Médico fíjense que tenemos otra carpeta Security también ahí dentro
y ahí dentro tenemos otra carpeta que se llama usuarios.
Entonces por qué tenemos dos carpetas de seguridad.
MP Lo primero que tenemos que saber es que se cuele Server tiene dos niveles de acceso.
Entonces por un lado tenemos los Lovins que es el nivel de acceso donde accedemos a la instancia del
servidor es decir al motor de base de datos y por otro lado tenemos el segundo nivel que son los usuarios
que están definidos dentro de cada base de datos a la cual esos a esos usuarios les vamos a poder otorgar
permisos.
Entonces esas son las diferencias más importantes entre un usuario y un login.
Entonces antes de crear un usuario en una base de datos debemos crear un lobby como procedimiento normal.
Por qué.
Porque si creamos un usuario primeramente sin crear un login lo que va a suceder es que ese usuario
nos va a quedar huérfano.
Por qué.
Porque no va a tener ningún Lovins asociado entonces todo todo usuario está relacionado con un login
mientras que lo primero que tenemos que hacer es crear un login en la instancia del servidor y para
ello vamos a la carpeta Security Lovins y le damos clic derecho y seleccionamos la opción Newley y entonces
nos va a desplegar esta ventana y aquí donde le vamos a seleccionar SQL Server Authentication es tal
cual hicimos.
Se acuerdan en la instalación donde especificamos el modo de conexión al SQL Server y le configuramos
el usuario sistema ministre.
Bueno aquí es exactamente igual lo que hacemos es crear un nombre de login.
Por ejemplo vamos a vamos a colocar a Mariano y vamos a escribir una contraseña para este login estas
opciones que están aquí son para forzar la caducidad de password es decir para que cierto tiempo obligue
al usuario a cambiar la contraseña en este caso vamos a desmarcar estas opciones y vamos a seleccionar
una base de datos por defecto.
En este caso le vamos a colocar centro médico no vamos a crear ahí primeramente ahí se creó.
Aquí está el login Mariano y ahora lo que vamos a hacer es crear un usuario de base de datos.
Para ello vamos a ir a la carpeta Security de la base de datos Centro Médico vamos a hacer clic derecho
sobre usuarios y vamos a seleccionar la opción nuevo usuario New y user entonces se nos abre esta ventana.
Aquí está la parte donde le decía que ustedes pueden crear un usuario de base de datos sin un hilo inmenso
aquí pueden elegir SQL y user without login pero lo que va a hacer esto es dejarnos el usuario creado
de manera huérfana sin un lobby con lo que no vamos a poder realizar ninguna acción con el usuario o
no lo único que vamos a poder hacer es ejecutar consultas con ese usuario pero no nos vamos a poder
lograr con ese nombre de usuario entonces lo que hacemos es seleccionar la opción SQL y user Whitley
bint.
Si aquí le colocamos el nombre del usuario de la base de datos lo vamos a probar el mismo no pasa nada
le podemos poner el mismo nombre y aquí tenemos que colocar el einem es exactamente igual se llaman
igual y aquí abajo le vamos a colocar el esquema por default.
Esto es lo que estuvimos viendo al comienzo de donde les explicaba que el esquema por default se debido
en las clases siguientes vamos a estar explicando que es un esquema y cómo podemos administrar esquemas
en nuestra base de datos mientras @shakira y colocamos debió fijense y aquí tenemos la opción de propietario
de esquemas.
Esto lo vamos a dejar para más adelante cuando lleguemos a la clase de esquemas en la siguiente opción
membership.
Si aquí lo que tenemos es a que a qué rol pertenece este usuario vamos a colocarle por ahora al rol
diría.
Después cuando veamos roles en la siguiente clase vamos a verlo más en detalle y aquí tenemos la opción
de asegurarles que son los de asegurarles son los permisos que le vamos a otorgar a este usuario en
los distintos objetos de la base de datos.
Fíjense si nosotros hacemos clic en cerchas y colocamos la opción Hol objects.
De todos los tipos y lo que nos devuelve esto son todos los objetos posibles de la base de datos a los
que nosotros le podemos otorgar permisos.
Fíjense por ejemplo este caso lo vamos a hacer es seleccionar el objeto tablazo entonces le damos ok
y aquí nos nos trae todas las tablas de usuario que hemos creado en nuestra base de datos y lo que podemos
hacer por ejemplo es seleccionar la tabla especialidad si le podemos decir que este usuario el usuario
Mariano sí.
Cuando cuando realiza una acción sin un permiso fíjense que aquí abajo tenemos todas las acciones que
podamos hacer sobre una tabla de Alter control delete y hacer referencia Select.
De todo.
Entonces por ejemplo si nosotros quisiésemos restringir a este usuario para que no pueda insertar registros
en esa tabla lo que hacemos aquí es marcarle Dinoire lo que estamos haciendo es de negarle acceso a
la tabla especialidad si para la operación de insert entonces si el usuario no va a poder insertar registros
en esa tabla y inmediatamente lo vamos a probar esto lo vamos a dar ok.
Aquí ahí creó el usuario perfecto y está linkea con el usuario con el login Mariano.
Entonces lo que vamos a hacer ahora es desconectarnos se nos vamos a desconectar del motor de base de
datos y nos vamos a conectar con el usuario que acabamos de crear con el login que acabamos de crear
Mariano.
Y aquí les colocamos la clave vieramos conectora ahí se conectó fíjense puedo visualizar todo porque
soy un usuario común como el usuario sea solo que tengo esa restricción Sobel sobre la tabla especialidad
de fijense.
Vamos a hacer una prueba vamos a hacer un Select Asterisco Rohm especialidad
y vamos a intentar ingresar un registro nuevo aquí entonces vamos a hacer un insert en tu especialidad
y le colocamos vãlidos por ejemplo y le colocamos por ejemplo
nutrí sio esta
nutricionista.
Entonces vamos a seleccionar todo el Cury y vamos a presionar F5 y fijese no sin cierto el registro.
De todas maneras nosotros le negamos el permiso de insert y de todas formas luego lo insertó.
Por qué ocurrió esto.
Esto es un error muy común y es porque si bien nosotros nos desconectamos desde desconectamos del motor
y nos conectamos nos reconectarnos con el usuario Mariano nos quedó esta ventana de consulta con el
usuario ESEA y el usuario desea es un usuario administrador que tiene permisos para para todo entonces
lo que tenemos que hacer aquí es cerrar esta ventana y desconectarnos completamente y cerrar la solución
cerramos la solución si nos volvemos a conectar con el usuario Mariano y vamos a abrir la solución nuevamente
aquí abrimos la solución y abrimos el archivo que teníamos abierto anteriormente el archivo comandos.
Aquí de nuevo ahora si nos conectamos con el usuario Mariano y ahora vamos a hacer la prueba final de
permiso.
Vamos a darle F5 y ahora si me dio error de permisos con el usuario Mariano no tengo permisos.
Acá como hizo el error los permisos de insert fueron denegados en el objeto especialidad.
La base de datos centro médico y el esquema desde entonces esto es el manejo de permisos dentro de un
usuario creado en la base de datos.