Permissões de servidor DENY (Transact-SQL)
Nega permissões em um servidor.
Aplica-se a: SQL Server (do SQL Server 2008 à versão atual). |
Convenções da sintaxe Transact-SQL
Sintaxe
DENY permission [ ,...n ]
TO <grantee_principal> [ ,...n ]
[ CASCADE ]
[ AS <grantor_principal> ]
<grantee_principal> ::= SQL_Server_login
| SQL_Server_login_mapped_to_Windows_login
| SQL_Server_login_mapped_to_Windows_group
| SQL_Server_login_mapped_to_certificate
| SQL_Server_login_mapped_to_asymmetric_key
| server_role
<grantor_principal> ::= SQL_Server_login
| SQL_Server_login_mapped_to_Windows_login
| SQL_Server_login_mapped_to_Windows_group
| SQL_Server_login_mapped_to_certificate
| SQL_Server_login_mapped_to_asymmetric_key
| server_role
Argumentos
permission
Especifica uma permissão que pode ser negada em um servidor. Para obter uma lista de permissões, consulte a seção Comentários mais adiante neste tópico.CASCADE
Indica que a permissão que está sendo negada também é negada a outros principais aos quais ela foi concedida por esse principal.TO <server_principal>
Especifica o principal ao qual a permissão é negada.AS <grantor_principal>
Especifica o principal do qual o principal que executa esta consulta deriva seu direito de negar a permissão.SQL_Server_login
Especifica um logon do SQL Server.SQL_Server_login_mapped_to_Windows_login
Especifica um logon do SQL Server mapeado para um logon do Windows.SQL_Server_login_mapped_to_Windows_group
Especifica um logon do SQL Server mapeado para um grupo do Windows.SQL_Server_login_mapped_to_certificate
Especifica um logon do SQL Server mapeado para um certificado do Windows.SQL_Server_login_mapped_to_asymmetric_key
Especifica um logon do SQL Server mapeado para uma chave assimétrica.server_role
Especifica uma função de servidor.
Comentários
As permissões no escopo de servidor podem ser negadas somente quando o banco de dados atual é master.
As informações sobre permissões de servidor podem ser vistas na exibição do catálogo sys.server_permissions e as informações sobre principais de servidor podem ser vistas na exibição do catálogo sys.server_principals. As informações sobre a associação de funções de servidor podem ser vistas na exibição do catálogo sys.server_role_members.
Um servidor é o nível mais alto da hierarquia de permissões. As permissões mais específicas e limitadas que podem ser negadas em um servidor são listadas na tabela a seguir.
Permissões de servidor |
Implícito na permissão de servidor |
---|---|
ADMINISTER BULK OPERATIONS |
CONTROL SERVER |
ALTER ANY AVAILABILITY GROUP Aplica-se a: SQL Server (do SQL Server 2012 à versão atual). |
CONTROL SERVER |
ALTER ANY CONNECTION |
CONTROL SERVER |
ALTER ANY CREDENTIAL |
CONTROL SERVER |
ALTER ANY DATABASE |
CONTROL SERVER |
ALTER ANY ENDPOINT |
CONTROL SERVER |
ALTER ANY EVENT NOTIFICATION |
CONTROL SERVER |
ALTER ANY EVENT SESSION |
CONTROL SERVER |
ALTER ANY LINKED SERVER |
CONTROL SERVER |
ALTER ANY LOGIN |
CONTROL SERVER |
ALTER ANY SERVER AUDIT |
CONTROL SERVER |
ALTER ANY SERVER ROLE Aplica-se a: SQL Server (do SQL Server 2012 à versão atual). |
CONTROL SERVER |
ALTER RESOURCES |
CONTROL SERVER |
ALTER SERVER STATE |
CONTROL SERVER |
ALTER SETTINGS |
CONTROL SERVER |
ALTER TRACE |
CONTROL SERVER |
AUTHENTICATE SERVER |
CONTROL SERVER |
CONNECT ANY DATABASE Aplica-se a: SQL Server (do SQL Server 2014 à versão atual). |
CONTROL SERVER |
CONNECT SQL |
CONTROL SERVER |
CONTROL SERVER |
CONTROL SERVER |
CREATE ANY DATABASE |
ALTER ANY DATABASE |
CREATE AVAILABILITY GROUP Aplica-se a: SQL Server (do SQL Server 2012 à versão atual). |
ALTER ANY AVAILABILITY GROUP |
CREATE DDL EVENT NOTIFICATION |
ALTER ANY EVENT NOTIFICATION |
CREATE ENDPOINT |
ALTER ANY ENDPOINT |
CREATE SERVER ROLE Aplica-se a: SQL Server (do SQL Server 2012 à versão atual). |
ALTER ANY SERVER ROLE |
CREATE TRACE EVENT NOTIFICATION |
ALTER ANY EVENT NOTIFICATION |
EXTERNAL ACCESS ASSEMBLY |
CONTROL SERVER |
IMPERSONATE ANY LOGIN Aplica-se a: SQL Server (do SQL Server 2014 à versão atual). |
CONTROL SERVER |
SELECT ALL USER SECURABLES Aplica-se a: SQL Server (do SQL Server 2014 à versão atual). |
CONTROL SERVER |
SHUTDOWN |
CONTROL SERVER |
UNSAFE ASSEMBLY |
CONTROL SERVER |
VIEW ANY DATABASE |
VIEW ANY DEFINITION |
VIEW ANY DEFINITION |
CONTROL SERVER |
VIEW SERVER STATE |
ALTER SERVER STATE |
Comentários
As três permissões de servidor a seguir foram adicionadas ao SQL Server 2014.
Permissão CONNECT ANY DATABASE
Conceda CONNECT ANY DATABASE a um logon que deve se conectar a todos os bancos de dados existentes no momento e a quaisquer novos bancos de dados que possam ser criados no futuro. Não concede nenhuma permissão em qualquer banco de dados além da conexão. Combine com SELECT ALL USER SECURABLES ou VIEW SERVER STATE para permitir que um processo de auditoria exiba todos os dados ou todos os estados do banco de dados na instância do SQL Server.Permissão IMPERSONATE ANY LOGIN
Quando concedida, permite que um processo de camada intermediária represente a conta de clientes que se conecta a ela, uma vez que ela se conecta aos bancos de dados. Quando negada, um logon com altos privilégios pode ser impedido de representar outros logons. Por exemplo, um logon com a permissão CONTROL SERVER pode ser impedido de representar outros logons.Permissão SELECT ALL USER SECURABLES
Quando concedida, um logon, como um auditor, pode exibir dados em todos os bancos de dados aos quais o usuário pode se conectar. Quando negada, impede o acesso a objetos, a menos que eles estejam no esquema sys.
Permissões
Requer a permissão CONTROL SERVER ou a propriedade do protegível. Se a cláusula AS for usada, o principal especificado deverá ser proprietário do protegível no qual as permissões estão sendo negadas.
Exemplos
A.Negando a permissão CONNECT SQL a um logon do SQL Server e a entidades de segurança aos quais o logon a concedeu novamente
O exemplo a seguir nega a permissão CONNECT SQL para o logon de Annika no SQL Server e para os principais aos quais ela concedeu a permissão.
USE master;
DENY CONNECT SQL TO Annika CASCADE;
GO
B.Negando a permissão CREATE ENDPOINT a um logon do SQL Server usando a opção AS
O exemplo a seguir nega a permissão CREATE ENDPOINT ao usuário ArifS. O exemplo usa a opção AS para especificar MandarP como a entidade de segurança da qual a entidade de segurança em execução deriva a autoridade para tanto.
USE master;
DENY CREATE ENDPOINT TO ArifS AS MandarP;
GO
Consulte também
Referência
Permissões de servidor DENY (Transact-SQL)
Permissões de servidor REVOKE (Transact-SQL)
sys.fn_builtin_permissions (Transact-SQL)
sys.fn_my_permissions (Transact-SQL)
HAS_PERMS_BY_NAME (Transact-SQL)