Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Se aplica a:SQL Server
Azure SQL Managed Instance
Deniega los permisos concedidos para un inicio de sesión de SQL Server.
Convenciones de sintaxis de Transact-SQL
Sintaxis
DENY permission [ ,...n ] }
ON
{ [ LOGIN :: SQL_Server_login ]
| [ SERVER ROLE :: server_role ] }
TO <server_principal> [ ,...n ]
[ CASCADE ]
[ AS SQL_Server_login ]
<server_principal> ::=
SQL_Server_login
| SQL_Server_login_from_Windows_login
| SQL_Server_login_from_certificate
| SQL_Server_login_from_AsymKey
| server_role
Argumentos
permission
Especifica un permiso que se puede denegar en un inicio de sesión de SQL Server. Para obtener una lista de permisos, vea la sección Comentarios que se muestra posteriormente en este tema.
LOGIN
::SQL_Server_login
Especifica el inicio de sesión de SQL Server para el que se deniega el permiso. El calificador de ámbito ( :: ) es obligatorio.
SERVER ROLE
::server_role
Especifica el rol de servidor para el que se deniega el permiso. El calificador de ámbito ( :: ) es obligatorio.
PARA <server_principal>
Especifica el rol de servidor o el inicio de sesión de SQL Server para el que se va a conceder el permiso.
PARA SQL_Server_login
Especifica el inicio de sesión de SQL Server para el que se va a denegar el permiso.
SQL_Server_login
Especifica el nombre de un inicio de sesión de SQL Server.
SQL_Server_login_from_Windows_login
Especifica el nombre de un inicio de sesión de SQL Server creado desde un inicio de sesión de Windows.
SQL_Server_login_from_certificate
Especifica el nombre de un inicio de sesión de SQL Server asignado a un certificado.
SQL_Server_login_from_AsymKey
Especifica el nombre de un inicio de sesión de SQL Server asignado a una clave asimétrica.
server_role
Especifica el nombre de un rol de servidor.
CASCADE
Indica que el permiso que se va a denegar también se denegará a otras entidades de seguridad a las que esta entidad de seguridad ha concedido permisos.
COMO SQL_Server_login
Especifica el inicio de sesión de SQL Server del que la entidad de seguridad que ejecuta esta consulta deriva su derecho de denegar el permiso.
Observaciones
Los permisos del ámbito del servidor solamente pueden denegarse si la base de datos actual es maestra.
Puede ver la información acerca de los permisos de servidor en la vista de catálogo sys.server_permissions. Puede ver la información acerca de las entidades de seguridad de servidor en la vista de catálogo sys.server_principals.
La DENY declaración falla si CASCADE no se especifica cuando estás negando un permiso a un principal que recibió ese permiso con GRANT OPTION.
Los roles de servidor y los inicios de sesión de SQL Server son protegibles en el nivel de servidor. La mayoría de permisos limitados y específicos que se pueden denegar para un rol de servidor o un inicio de sesión de SQL Server se muestran en la siguiente tabla, junto con los permisos más generales que los incluyen por implicación.
| Permiso de rol de servidor o de inicio de sesión de SQL Server | Permiso de rol de servidor o inicio de sesión implícito de SQL Server | Implícito en el permiso de servidor |
|---|---|---|
| CONTROL | CONTROL | SERVIDOR DE CONTROL |
| IMPERSONATE | CONTROL | SERVIDOR DE CONTROL |
| VIEW DEFINICIÓN | CONTROL | VIEW CUALQUIER DEFINICIÓN |
| ALTER | CONTROL | ALTERAR CUALQUIER LOGIN ALTERAR CUALQUIER SERVER ROLE |
Permisos
Para iniciar sesión, requiere permiso CONTROL en el inicio de sesión o ALTERAR CUALQUIER LOGIN permiso en el servidor.
Para roles de servidor, requiere permiso CONTROL sobre el rol del servidor o ALTERAR CUALQUIER SERVER ROLE permiso en el servidor.
Ejemplos
A. Denegar el permiso IMPERSONATE en un inicio de sesión
En el siguiente ejemplo se deniega el permiso IMPERSONATE para el inicio de sesión WanidaBenshoof de SQL Server a un inicio de sesión de SQL Server creado desde el usuario de Windows AdvWorks\YoonM.
USE master;
DENY IMPERSONATE ON LOGIN::WanidaBenshoof TO [AdvWorks\YoonM];
GO
B. Denegación VIEW del permiso de DEFINICIÓN con CASCADE
En el siguiente ejemplo se deniega el permiso VIEW DEFINITION para el inicio de sesión EricKurjan de SQL Server al inicio de sesión RMeyyappan de SQL Server. La opción CASCADE indica que el permiso VIEW DEFINITION para EricKurjan también se denegará a las entidades de seguridad a las que RMeyyappan concedió este permiso.
USE master;
DENY VIEW DEFINITION ON LOGIN::EricKurjan TO RMeyyappan
CASCADE;
GO
C. Denegación VIEW del permiso de DEFINICIÓN sobre un rol de servidor
En el siguiente ejemplo se deniega el permiso VIEW DEFINITION en el rol de servidor Sales al rol de servidor Auditors.
USE master;
DENY VIEW DEFINITION ON SERVER ROLE::Sales TO Auditors ;
GO
Consulte también
sys.server_principals (Transact-SQL)
sys.server_permissions (Transact-SQL)
GRANT Permisos de entidad de seguridad de servidor (Transact-SQL)
REVOKE Permisos de entidad de seguridad de servidor (Transact-SQL)
CREATE LOGIN (Transact-SQL)
Entidades de seguridad (motor de base de datos)
Permisos (motor de base de datos)
Funciones de seguridad (Transact-SQL)
Procedimientos almacenados de seguridad (Transact-SQL)