- 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