INSTITUTO TECNOLÓGICO DE LAS AMÉRICAS
Docente
Carlos Manuel Caraballo
Trabajo
La gestión de usuarios, roles y permisos aplicados a SQL Server
Asignatura
Base de Datos Avanzada
Grupo
Viernes 6 Pm - 10 Pm
Alumno
Lian Jhuliana Guerrier Rodriguez, Anamilet Soto Franco, Gabriel Read, Rosse
Mariely Mejia Pantaleon, Enly gil.
Matrícula
2024-1625, 2024-1138, 2024-2521, 2024-2532, 2024-2256.
Ciclo / Año
Cuatrimestre 2 / 2025
Gestión de usuarios
¿Qué es la gestión de usuarios en SQL Server?
Es la administración, permiso y accesos que los usuarios tendrán dentro de nuestra base de datos
o nuestro servidor.
Tipos de usuario:
• Dbo (administrador).
• Guest (Invitado).
Descargado por lian jhuliana [Link] (fenixymilarodriguez@[Link])
• Usuario dbo (Independiente)
¿Para qué se usa la administración de usuario en SQL server?
• Funciones definidas por el usuario.
• Permitir programación modular.
• Permiten una ejecución más rápida.
Ventajas:
• Autentificación.
• Autorización
• Integridad
• Privacidad
• Cifrado de la información
Desventajas:
• Manejo de diferentes contraseñas para los inicios de sesión.
• Malos respaldos en la información.
• Errores en la creación de los Usuarios y las sesiones.
• Lidiar con varios usuarios y grandes cantidades de información.
Privilegi
os
Se utilizan para determinar la autoridad que debe de tener para crear o acceder a la tabla de los
almacenes de datos para la base de datos de SQL server.
Entre ellos están:
• Grant: Concede Permisos.
• Revoke: Revoca un permiso. Este es el estado predeterminado de un objeto nuevo. Un
permiso revocado a un usuario o rol se puede heredar de otros grupos o roles a los que
está asignada la entidad de seguridad.
• DENY: DENY revoca un permiso de manera que no pueda ser heredado. DENY tiene
prioridad sobre todos los permisos. pero no se aplica a propietarios de objeto o miembros
de sysadmin
Si deniega permisos a un objeto en el rol public se los deniega igualmente a todos
los usuarios y roles excepto a los propietarios del objeto y a los miembros de sysadmin.
Tipos de Roles
• Roles del servidor.
• Roles de base de datos.
• Roles de aplicación.
Roles de nivel de servidor
• Sysadmin: Los miembros del rol fijo de servidor sysadmin pueden realizar cualquier
actividad en el servidor.
Descargado por lian jhuliana [Link] (fenixymilarodriguez@[Link])
• Serveradmin: Los miembros del rol fijo de servidor serveradmin pueden cambiar opciones
de configuración en el servidor y cerrar el servidor.
• Securityadmin: Los miembros del rol fijo de servidor securityadmin administran los
inicios de sesión y sus propiedades. Pueden administrar los permisos de nivel de servidor
GRANT, DENY, y REVOKE. También pueden administrar los permisos de nivel de base de
datos GRANT, DENY y REVOKE si tienen acceso a una base de datos. Asimismo, pueden
restablecer contraseñas para inicios de sesión de SQL Server .
IMPORTANTE: La capacidad de conceder acceso a Motor de base de datos y
configurar los permisos de usuario permite que el administrador de seguridad
asigne la mayoría de los permisos de servidor. El rol securityadmin se debe tratar
como equivalente al rol sysadmin . Como alternativa, a partir de SQL Server
versión preliminar de 2022 (16.x), considere la posibilidad de usar el nuevo rol
fijo de servidor ##MS_LoginManager#.
• Processadmin: Los miembros del rol fijo de servidor processadmin pueden finalizar los
procesos que se ejecutan en una instancia de SQL Server.
• Setupadmin: Los miembros del rol fijo de servidor setupadmin pueden agregar y quitar
servidores vinculados mediante instrucciones Transact-SQL. (Es necesaria la pertenencia
a sysadmin cuando se usa Management Studio).
• Bulkadmin: Los miembros del rol fijo de servidor bulkadmin pueden ejecutar la
instrucción BULK INSERT.
El rol bulkadmin o los permisos ADMINISTER BULK OPERATIONS no se admiten
para SQL Server en Linux. Solo sysadmin puede realizar inserciones masivas para
SQL Server en Linux.
• Diskadmin: El rol fijo de servidor diskadmin se usa para administrar archivos de disco.
• Dbcreator: Los miembros del rol fijo de servidor dbcreator pueden crear, modificar, quitar
y restaurar cualquier base de datos.
• Public: Cada inicio de sesión de SQL Server pertenece al rol de servidor public. Cuando
una entidad de seguridad de servidor no se ha concedido ni denegado permisos
específicos en un objeto protegible, el usuario hereda los permisos concedidos al público
en ese objeto. Solo asigne los permisos públicos en cualquier objeto cuando desee que el
objeto esté disponible para todos los usuarios. No se puede cambiar la pertenencia al
público.
Nota:public se implementa de manera diferente a otros roles, y los permisos se
pueden conceder, denegar o revocar desde los roles fijos de servidor públicos.
Roles de nivel de Base de datos
Los roles de nivel de base de datos se aplican a toda la base de datos en lo que respecta a
su ámbito de permisos.
Para agregar y quitar usuarios en un rol de base de datos, use las opciones ADD MEMBER
y DROP MEMBER de la instrucción ALTER ROLE . Sistema de la plataforma de análisis
(PDW) y Azure Synapse no admiten este uso de ALTER ROLE. En su lugar, use los
procedimientos sp_addrolemember y sp_droprolemember anteriores.
Descargado por lian jhuliana [Link] (fenixymilarodriguez@[Link])
Existen dos tipos de roles en el nivel de base de datos: los roles fijos de base de datos que
están predefinidos en la base de datos y los roles de base de datos definidos por el
usuario que el usuario puede crear.
Los roles fijos de base de datos se definen en el nivel de base de datos y existen en cada
una de ellas. Los miembros de los roles de base de datos db_owner pueden administrar
la pertenencia a roles fijos de base de datos. También hay algunos roles de base de datos
con fines especiales en la base de datos msdb.
Puede agregar cualquier cuenta de la base de datos y otros roles de SQL Server a los roles
de nivel de base de datos.
“No agregue roles de base de datos definidos por el usuario como miembros de los roles
fijos. Esto podría habilitar un aumento de privilegios no deseado”.
Los permisos de los roles de base de datos definidos por el usuario se pueden personalizar
con las instrucciones GRANT, DENY y REVOKE. Para más información, consulte Permisos
(motor de base de datos).
Permisos asignados a los roles:
Descargado por lian jhuliana [Link] (fenixymilarodriguez@[Link])
Roles de Aplicación
Un rol de aplicación es una entidad de seguridad de base de datos que permite que una
aplicación se ejecute con sus propios permisos de usuario. Puede utilizar los roles de aplicación
para permitir el acceso a datos específicos únicamente a aquellos usuarios que se conecten a
través de una aplicación concreta. A diferencia de los roles de base de datos, los roles de
aplicación no contienen miembros y están inactivos de manera predeterminada. Los roles de
aplicación se habilitan empleando sp_setapprole, que requiere una contraseña. Debido a que
los roles de aplicación son una entidad de seguridad de la base de datos, solo pueden obtener
acceso a otras bases de datos por medio de los permisos que se conceden para dichas bases de
datos a guest. Por tanto, cualquier base de datos en la que se haya deshabilitado guest no será
accesible para los roles de aplicación de otras bases de datos.
Los siguientes pasos muestran el proceso mediante el cual un rol de aplicación cambia de
contexto de seguridad:
1. Un usuario ejecuta una aplicación cliente.
2. La aplicación cliente se conecta con una instancia de SQL Server como usuario.
3. Tras ello, la aplicación ejecuta el procedimiento almacenado sp_setapprole con
una contraseña que solo conoce la aplicación.
4. Si el nombre y la contraseña del rol de aplicación son válidos, el rol de
aplicación se habilita.
5. En este momento, la conexión pierde los permisos del usuario y asume los permisos
del rol de aplicación.
Los permisos adquiridos durante el rol de aplicación se mantienen mientras dura la conexión.
Descargado por lian jhuliana [Link] (fenixymilarodriguez@[Link])
Bibliografía
Video de la síntesis: [Link]
[Link]/:v:/g/personal/20212021_itla_edu_do/E
du-
_bKVYO1IhnvciR0KBdgBZ7rxIXSwow5NgKzbBsZUOg?e=8ZgFff
[Link]
server- intellectual-property?view=sql-server-ver16
Descargado por lian jhuliana [Link] (fenixymilarodriguez@[Link])