Creación de un inicio de sesión (Login)
Para acceder al motor de base de datos, los usuarios necesitan
un inicio de sesión (Login). El inicio de sesión puede representar la identidad
del usuario como una cuenta de Windows o como miembro de un grupo de Windows o
el inicio de sesión puede ser un inicio de sesión de SQL Server que sólo existe
en SQL Server. Siempre que sea posible,
se utilizará la autenticación de Windows.
De forma predeterminada,
los administradores del equipo tienen acceso completo a SQL Server. Para este
ejemplo, queremos tener un usuario con menos privilegios; Por lo tanto, se
creará una nueva cuenta local de autenticación de Windows en el equipo. Para
ello, es necesario administrador del equipo. A continuación, concede a ese
nuevo usuario el acceso a SQL Server.
Para crear una nueva cuenta de Windows:
Hacer click en Inicio, hacer click en Ejecutar, en el cuadro
Abrir, escribir
% SystemRoot% \ system32 \ compmgmt.msc / s
y Aceptar para abrir el programa Administración de equipos.
En Herramientas del sistema, expandir Usuarios y grupos locales,
hacer click con el botón derecho del ratón en Usuarios ya continuación, haga
click en Nuevo usuario.
En el cuadro Nombre de
usuario escribir Pepe.
En el cuadro Contraseña y Confirmar contraseña, escribir una
contraseña segura y, a continuación, hacer click en Crear para crear un nuevo
usuario local de Windows.
Para crear un inicio de sesión
En
una ventana del Editor de consultas de SQL (Server Management Studio), escribir
y ejecutar el siguiente código sustituyendo el nombre del equipo por el nombre
de su equipo. La cláusula FROM WINDOWS indica que Windows autenticará al
usuario. El argumento opcional DEFAULT_DATABASE conecta a Pepe a la base de
datos indicada en su cadena de conexión.
Esta instrucción termina en punto y coma.
CREATE
LOGIN [Nombre_de_la_maquina\Pepe] FROM WINDOWS WITH DEFAULT_DATABASE = [Nombre_Base_Datos];
GO
Esto autoriza a un nombre de usuario,
en este caso Pepe, autenticado por su equipo, para tener acceso a esta
instancia de SQL Server. Si hay más de una instancia de SQL Server en el
equipo, es necesario crear el inicio de sesión en cada instancia en la que Pepe
debe tener acceso.
Nota: Debido a que Pepe no posee una
cuenta de dominio, este nombre de usuario sólo se puede autenticarse en su
equipo.
Conceder acceso a una base de datos
Pepe ahora tiene acceso a esta instancia de SQL Server, pero no
tiene permiso para acceder a las bases de datos. Ni siquiera tiene acceso a su
base de datos predeterminada, hasta que se le autorice como usuario de su base
de datos.
Para conceder acceso a Pepe, es necesario cambiar a la base de
datos en la que Pepe tiene permisos y, a
continuación, utilizar la instrucción CREATE USER para asignar el inicio de
sesión al usuario Pepe.
Para crear un usuario en una base de datos:
USE [Nombre_BaseDatos];
GO
CREATE USER [Pepe] FOR LOGIN [Nombre_Login];
GO
Ejemplo:
USE dbPrueba;
GO
CREATE USER Pepe FOR LOGIN Usuario_BBDD;
GO
Ahora Pepe puede acceder a
la base de datos correspondiente logándose por ambos caminos, con Windows y
con SQL server.
Conceder acceso a un objeto de base de datos
El
administrador, puede ejecutar sentencias SELECT; Sin embargo, Pepe no puede.
Para conceder a Pepe los permisos correspondientes, para ello utilizaremos la instrucción
GRANT.
En
el siguiente ejemplo se le conceden permisos para ejecutar un procedimiento almacenado
llamado Nombre_Procedimiento.
GRANT EXECUTE
ON Nombre_Procedimiento TO Pepe;
GO
En este escenario, Pepe sólo puede
tener acceso al procedimiento almacenado. Si se desea que Pepe pueda ejecutar
una instrucción SELECT a una vista, entonces la instrucción sería: GRANT SELECT ON Nombre_Vista TO Pepe. Para quitar el acceso a objetos de
base de datos, se debe utilizar la instrucción REVOKE.
Acerca de GRANT
Para
ejecutar un procedimiento almacenado el usuario debe tener permiso EXECUTE.
Debe tener permisos SELECT, INSERT, UPDATE y DELETE para acceder y cambiar los datos.
La sentencia GRANT también se utiliza para otros permisos, como el permiso para
crear tablas.
Los
inicios de sesión proporcionan a los usuarios permisos para conectarse a SQL
Server. Los usuarios son los inicios de sesión que pueden acceder a una base de
datos específica. Es necesario utilizar la instrucción GRANT para dar a los
usuarios permiso para leer, acceder y cambiar los datos.
No hay comentarios:
Publicar un comentario