Documente Academic
Documente Profesional
Documente Cultură
Presentado por:
JOHAN ENRIQUE RAMOS TORRES
Instructor Responsable:
FERNANDO LOPEZ TRUJILLO
En toda actividad se hace necesario, no solo planear y ejecutar las actividades, sino
efectuar procedimientos de control que vayan encaminados a asegurar que dichas
actividades han sido ejecutadas de acuerdo a los parámetros que se habían establecido
con anterioridad.
Sin embargo, a pesar de que el diseño inicial de la aplicación resulte adecuado, pueden
surgir nuevas amenazas a medida que evoluciona el sistema. La creación de varias
líneas de defensa en torno a la base de datos permite reducir al mínimo los daños
producidos por una infracción de seguridad. La primera línea de defensa consiste en
reducir el área de ataque; para ello, no se deben conceder más permisos que los
estrictamente necesarios.
En cada versión de SQL Server se han introducido mejoras a las versiones anteriores
con nuevas características y funcionalidades. No obstante, la seguridad no es una
característica integrada más. Cada aplicación tiene requisitos de seguridad propios.
Los desarrolladores tienen que saber cuál es la combinación de características y
funcionalidades más apropiada para contrarrestar las amenazas conocidas, así como
anticiparse a las que puedan ir apareciendo en el futuro.
Los temas de esta sección abordan los conceptos básicos de seguridad de SQL Server
y proporcionan vínculos a la documentación completa de la versión de los Libros en
pantalla de SQL Server que corresponda.
AUTENTICACIÓN EN SQL SERVER
SQL Server proporciona nueve roles fijos de servidor. Los permisos que se conceden
a los roles fijos de servidor no se pueden modificar. A partir de SQL Server 2012,
puede crear roles de servidor definidos por el usuario y agregarles permisos de nivel
de servidor. Como se muestra en la siguiente imagen:
Puede agregar entidades de seguridad a nivel de servidor (inicios de sesión de SQL
Server, cuentas de Windows y grupos de Windows) a los roles de nivel de servidor.
Cada miembro de un rol fijo de servidor puede agregar otros inicios de sesión a ese
mismo rol. Los miembros de roles de servidor definidos por el usuario no pueden
agregar otras entidades de seguridad de servidor al rol.
Roles fijos de nivel de servidor
En la tabla siguiente se muestran los roles fijos de nivel de servidor y sus capacidades.
Rol fijo de
nivel de Descripción
servidor
sysadmin Los miembros del rol fijo de servidor sysadmin pueden realizar cualquier ac-
tividad en el servidor.
serverad- Los miembros del rol fijo de servidor serveradmin pueden cambiar opciones
min de configuración en el servidor y cerrar el servidor.
securityad- Los miembros del rol fijo de servidor securityadmin administran los inicios
min de sesión y sus propiedades. Pueden administrar los permisos de nivel de ser-
vidor 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 .
processad- Los miembros del rol fijo de servidor processadmin pueden finalizar los pro-
min cesos que se ejecutan en una instancia de SQL Server.
setupad- Los miembros del rol fijo de servidor setupadmin pueden agregar y quitar
min servidores vinculados mediante instrucciones de 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 instruc-
ción BULK INSERT.
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.
Rol fijo de
nivel de Descripción
servidor
public Cada inicio de sesión de SQL Server pertenece al rol de servidor pu-
blic.Cuando a una entidad de seguridad de servidor no se le han concedido ni
denegado permisos específicos para un objeto protegible, el usuario hereda
los permisos concedidos al rol pública para ese elemento. Solo asigne los per-
misos públicos en cualquier objeto cuando desee que el objeto esté disponible
para todos los usuarios. No puede cambiar la pertenencia en public.
Nota: El rol public se implementa de manera diferente que otros roles y los
permisos se pueden conceder, denegar o revocar de los roles fijos de servidor
públicos.
Para obtener una lista de los permisos en el nivel de servidor, ejecute la siguiente
instrucción:
SELECT * FROM sys.fn_builtin_permissions('SERVER') ORDER BY permission_name;
Trabajar con roles de nivel de servidor
En la tabla siguiente se explican los comandos, las vistas y las funciones que se pueden
utilizar para trabajar con roles de nivel de servidor
Al crear objetos de base de datos, se deben conceder permisos de forma explícita para
que los usuarios tengan acceso a ellos. Cada objeto susceptible de protegerse tiene
permisos que se pueden otorgar a una entidad de seguridad mediante instrucciones de
permiso.
Cuando conceda permisos a usuarios de base de datos, siga siempre el principio de
los privilegios mínimos. Otorgue a usuarios y roles los mínimos permisos necesarios
para que puedan realizar una tarea concreta.
Tenemos permisos basados en roles y permisos mediante código basado en
procedimiento.
Instruc-
ción de Descripción
permiso
https://docs.microsoft.com/es-es/previous-versions/sql/sql-server-2008-
r2/ms175892(v=sql.105)
https://docs.microsoft.com/es-es/sql/relational-databases/security/authentication-
access/create-a-server-role?view=sql-server-2017
https://docs.microsoft.com/es-es/sql/t-sql/lesson-2-configuring-permissions-on-
database-objects?view=sql-server-2017
https://docs.microsoft.com/es-es/dotnet/framework/data/adonet/sql/authorization-
and-permissions-in-sql-server