• 05/24/2017
  • 4 minutos para leer
    • V
    • w
    • M
    • j
    • D
    • +8

APLICA A: SQL Server Azure SQL Database Azure Synapse Analytics Parallel Data Warehouse

SQL Server proporciona roles a nivel de servidor para ayudarle a gestionar los permisos en un servidor. Estos roles son directores de seguridad que agrupan a otros directores. Los roles a nivel de servidor abarcan todo el servidor en su ámbito de permisos. (Los roles son como los grupos en el sistema operativo Windows.)

Los roles de servidor fijos se proporcionan por comodidad y compatibilidad con versiones anteriores. Asigne permisos más específicos siempre que sea posible.

SQL Server proporciona nueve roles de servidor fijos. Los permisos que se conceden a los roles de servidor fijos (excepto el público) no se pueden cambiar. A partir de SQL Server 2012 (11.x), puede crear roles de servidor definidos por el usuario y añadir permisos de nivel de servidor a los roles de servidor definidos por el usuario.

Puede añadir directores de nivel de servidor (inicios de sesión de SQL Server, cuentas de Windows y grupos de Windows) en roles de nivel de servidor. Cada miembro de un rol de servidor fijo puede añadir otros inicios de sesión a ese mismo rol. Los miembros de roles de servidor definidos por el usuario no pueden añadir otros principales de servidor al rol.

Nota

Los permisos a nivel de servidor no están disponibles en SQL Database o Azure Synapse Analytics. Para obtener más información sobre SQL Database, consulte Controlar y conceder acceso a la base de datos.

Roles fijos de nivel de servidor

La siguiente tabla muestra los roles fijos de nivel de servidor y sus capacidades.

Rol fijo a nivel de servidor Descripción
sysadmin Los miembros del rol fijo de servidor sysadmin pueden realizar cualquier actividad en el servidor.
serveradmin Los miembros del rol fijo de servidor serveradmin pueden cambiar las opciones de configuración de todo el servidor y apagarlo.
securityadmin Los miembros del rol fijo de servidor securityadmin administran los inicios de sesión y sus propiedades. Pueden GRANT, DENY, y REVOKE permisos a nivel de servidor. También pueden GRANT, DENY, y REVOKE permisos a nivel de base de datos si tienen acceso a una base de datos. Además, pueden restablecer las contraseñas de los inicios de sesión de SQL Server.
IMPORTANTE: La capacidad de conceder acceso al motor de base de datos y de configurar los permisos de los usuarios permite al administrador de seguridad asignar la mayoría de los permisos del servidor. El rol de securityadmin debe tratarse como equivalente al rol de sysadmin.
processadmin Los miembros del rol de servidor fijo processadmin pueden finalizar los procesos que se están ejecutando en una instancia de SQL Server.
setupadmin Los miembros del rol de servidor fijo setupadmin pueden añadir y eliminar servidores vinculados utilizando sentencias Transact-SQL. (La pertenencia a sysadmin es necesaria cuando se utiliza Management Studio.)
bulkadmin Los miembros del rol de servidor fijo bulkadmin pueden ejecutar la sentencia BULK INSERT.
diskadmin El rol de servidor fijo diskadmin se utiliza para administrar archivos de disco.
dbcreator Los miembros del rol de servidor fijo dbcreator pueden crear, alterar, eliminar y restaurar cualquier base de datos.
public Todos los inicios de sesión de SQL Server pertenecen al rol de servidor public. Cuando a un principal del servidor no se le han concedido o denegado permisos específicos sobre un objeto asegurable, el usuario hereda los permisos concedidos a public sobre ese objeto. Sólo asigne permisos de public en cualquier objeto cuando desee que el objeto esté disponible para todos los usuarios. No se puede cambiar la membresía en public.
Nota: public se implementa de forma diferente a otros roles, y los permisos se pueden conceder, denegar o revocar desde los roles de servidor fijo public.

Importante

La mayoría de los permisos proporcionados por los siguientes roles de servidor no son aplicables a Synapse SQL – processadmin, serveradmin, setupadmin, y diskadmin.

Permisos de los roles fijos de servidor

Cada rol fijo de servidor tiene ciertos permisos asignados. El siguiente gráfico muestra los permisos asignados a los roles de servidor.

Importante

El permiso CONTROL SERVER es similar pero no idéntico al rol de servidor fijo sysadmin. Los permisos no implican la pertenencia a un rol y la pertenencia a un rol no otorga permisos. (Por ejemplo, CONTROL SERVER no implica la pertenencia al rol fijo de servidor sysadmin). Sin embargo, a veces es posible suplantar entre roles y permisos equivalentes. La mayoría de los comandos DBCC y muchos procedimientos del sistema requieren la pertenencia al rol de servidor fijo sysadmin. Para obtener una lista de 171 procedimientos almacenados del sistema que requieren la pertenencia a sysadmin, consulte la siguiente entrada del blog de Andreas Wolter CONTROL SERVER vs. sysadmin/sa: permisos, procedimientos del sistema, DBCC, creación automática de esquemas y escalada de privilegios – advertencias.

Permisos a nivel de servidor

Sólo se pueden añadir permisos a nivel de servidor a los roles de servidor definidos por el usuario. Para listar los permisos a nivel de servidor, ejecute la siguiente sentencia. Los permisos de nivel de servidor son:

SELECT * FROM sys.fn_builtin_permissions('SERVER') ORDER BY permission_name; 

Para obtener más información sobre los permisos, consulte Permisos (motor de base de datos) y sys.fn_builtin_permissions (Transact-SQL).

Trabajo con roles de nivel de servidor

La siguiente tabla explica los comandos, vistas y funciones que puede utilizar para trabajar con roles de nivel de servidor.

Feature Type Description
sp_helpsrvrole (Transact-SQL) Metadata Devuelve una lista de roles a nivel de servidor.
sp_helpsrvrolemember (Transact-SQL) Metadatos Devuelve información sobre los miembros de un rol a nivel de servidor.
sp_srvrolepermission (Transact-SQL) Metadata Muestra los permisos de un rol a nivel de servidor.
IS_SRVROLEMEMBER (Transact-SQL) Metadatos Indica si un inicio de sesión de SQL Server es miembro del rol a nivel de servidor especificado.
sys.server_role_members (Transact-SQL) Metadatos Devuelve una fila por cada miembro de cada rol a nivel de servidor.
sp_addsrvrolemember (Transact-SQL) Comando Agrega un inicio de sesión como miembro de un rol a nivel de servidor. Desaprobado. Utilice ALTER SERVER ROLE en su lugar.
sp_dropsrvrolemember (Transact-SQL) Command Quita un inicio de sesión de SQL Server o un usuario o grupo de Windows de un rol a nivel de servidor. Desaprobado. Utilice ALTER SERVER ROLE en su lugar.
CREATE SERVER ROLE (Transact-SQL) Command Crea un rol de servidor definido por el usuario.
ALTERAR ROL DE SERVIDOR (Transact-SQL) Comando Cambia la membresía de un rol de servidor o cambia el nombre de un rol de servidor definido por el usuario.
DROP SERVER ROLE (Transact-SQL) Comando Elimina un rol de servidor definido por el usuario.
IS_SRVROLEMEMBER (Transact-SQL) Función Determina la pertenencia al rol de servidor.

Ver también

Roles a nivel de base de datos
Vistas del catálogo de seguridad (Transact-SQL)
Funciones de seguridad (Transact-SQL)
Securing SQL Server
GRANT Server Principal Permissions (Transact-SQL)
REVOKE Server Principal Permissions (Transact-SQL)
DENY Server Principal Permissions (Transact-SQL)
Create a Server Role

Deja una respuesta

Tu dirección de correo electrónico no será publicada.