DENY (permisos de extremo de Transact-SQL)
Deniega permisos en un extremo.
Convenciones de sintaxis de Transact-SQL
Sintaxis
DENY permission [ ,...n ] ON ENDPOINT :: endpoint_name
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
Argumentos
- permission
Especifica un permiso que se puede denegar en un extremo. Para obtener una lista de permisos, vea la sección Notas más adelante en este tema.
- ON ENDPOINT ::
Especifica el extremo en el que se va a denegar el permiso. Se requiere el calificador de ámbito (::).
- TO <server_principal>
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.
- 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.
- AS 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.
Notas
Los permisos del ámbito del servidor sólo pueden denegarse si la base de datos actual es master.
Puede ver la información acerca de los extremos en la vista de catálogo sys.endpoints. Puede ver la información acerca de los permisos del servidor en la vista de catálogo sys.server_permissions, mientras que la información acerca de las entidades de seguridad de servidor puede verse en la vista de catálogo sys.server_principals.
Un extremo es un asegurable en el nivel de servidor. La mayoría de permisos limitados y específicos que se pueden denegar en un extremo se muestran en la siguiente tabla, junto con permisos más generales que los incluyen por implicación.
Permiso de extremo | Implicado por el permiso de extremo | Implicado por el permiso de servidor |
---|---|---|
ALTER |
CONTROL |
ALTER ANY ENDPOINT |
CONNECT |
CONTROL |
CONTROL SERVER |
CONTROL |
CONTROL |
CONTROL SERVER |
TAKE OWNERSHIP |
CONTROL |
CONTROL SERVER |
VIEW DEFINITION |
CONTROL |
VIEW ANY DEFINITION |
Permisos
Requiere el permiso CONTROL en el extremo o el permiso ALTER ANY ENDPOINT en el servidor.
Ejemplos
A. Denegar el permiso VIEW DEFINITION en un extremo
En el siguiente ejemplo se deniega el permiso VIEW DEFINITION
en el extremo Mirror7
para el inicio de sesión ZArifin
de SQL Server.
USE master;
DENY VIEW DEFINITION ON ENDPOINT::Mirror7 TO ZArifin;
GO
B. Denegar el permiso TAKE OWNERSHIP con la opción CASCADE
En el siguiente ejemplo se deniega el permiso TAKE OWNERSHIP
en el extremo Shipping83
para el usuario PKomosinski
de SQL Server y para las entidades de seguridad a las que PKomosinski
concedió TAKE OWNERSHIP
.
USE master;
DENY TAKE OWNERSHIP ON ENDPOINT::Shipping83 TO PKomosinski
CASCADE;
GO
Vea también
Referencia
GRANT (permisos de extremo de Transact-SQL)
REVOKE (permisos de extremo de Transact-SQL)
CREATE ENDPOINT (Transact-SQL)
Vistas de catálogo de extremos (Transact-SQL)
sys.endpoints (Transact-SQL)
Otros recursos
Permisos
Entidades de seguridad