Partilhar via


Permissões do servidor DENY (Transact-SQL)

Aplica-se a:SQL ServerBanco de Dados SQL do AzureInstância Gerenciada SQL do Azure

Nega permissões em um servidor.

Transact-SQL convenções de sintaxe

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

permissão
Especifica uma permissão que pode ser negada em um servidor. Para obter uma lista das permissões, consulte a seção Comentários mais adiante neste tópico.

CASCATA
Indica que a permissão é negada à entidade de segurança especificada e a todas as outras entidades às quais a entidade concedeu a permissão. Obrigatório quando o principal tem a permissão com GRANT OPTION.

PARA <server_principal>
Especifica a entidade para a qual a permissão é negada.

COMO <grantor_principal>
Especifica a entidade de segurança da qual a entidade que executa esta consulta deriva seu direito de negar a permissão. Use a cláusula principal AS para indicar que o principal registrado como o negador da permissão deve ser um comitente diferente da pessoa que executa a declaração. Por exemplo, suponha que o usuário Mary é principal_id 12 e o usuário Raul é o principal 15. Maria executa DENY SELECT ON OBJECT::X TO Steven WITH GRANT OPTION AS Raul; Agora a tabela sys.database_permissions indicará que o grantor_principal_id da declaração de negação foi 15 (Raul), embora a declaração tenha sido realmente executada pelo usuário 13 (Maria).

O uso de AS nesta declaração não implica a capacidade de se passar por outro usuário.

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.

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 do servidor podem ser negadas somente quando o banco de dados atual é mestre.

As informações sobre permissões de servidor podem ser exibidas na exibição de catálogo sys.server_permissions e informações sobre entidades de servidor podem ser exibidas na exibição de catálogo sys.server_principals. As informações sobre a associação de funções de servidor podem ser visualizadas na exibição de 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 estão listadas na tabela a seguir.

Permissão do servidor Implícito pela permissão do servidor
ADMINISTRAR OPERAÇÕES EM MASSA SERVIDOR DE CONTROLO
ALTERAR QUALQUER GRUPO DE DISPONIBILIDADE

Aplica-se a: SQL Server (SQL Server 2012 (11.x) até versão atual).
SERVIDOR DE CONTROLO
ALTERAR QUALQUER LIGAÇÃO SERVIDOR DE CONTROLO
ALTERAR QUALQUER CREDENCIAL SERVIDOR DE CONTROLO
ALTERAR QUALQUER BASE DE DADOS SERVIDOR DE CONTROLO
ALTERAR QUALQUER PONTO FINAL SERVIDOR DE CONTROLO
ALTERAR QUALQUER NOTIFICAÇÃO DE EVENTO SERVIDOR DE CONTROLO
ALTERAR QUALQUER SESSÃO DE EVENTO SERVIDOR DE CONTROLO
ALTERAR QUALQUER SERVIDOR VINCULADO SERVIDOR DE CONTROLO
ALTERAR QUALQUER LOGIN SERVIDOR DE CONTROLO
ALTERAR QUALQUER AUDITORIA DE SERVIDOR SERVIDOR DE CONTROLO
ALTERAR QUALQUER FUNÇÃO DE SERVIDOR

Aplica-se a: SQL Server (SQL Server 2012 (11.x) até versão atual).
SERVIDOR DE CONTROLO
RECURSOS ALTER SERVIDOR DE CONTROLO
ESTADO DO SERVIDOR ALTER SERVIDOR DE CONTROLO
CONFIGURAÇÕES DE ALTER SERVIDOR DE CONTROLO
TRAÇADO ALTER SERVIDOR DE CONTROLO
AUTENTICAR SERVIDOR SERVIDOR DE CONTROLO
CONECTE QUALQUER BANCO DE DADOS

Aplica-se a: SQL Server (SQL Server 2014 (12.x) até versão atual).
SERVIDOR DE CONTROLO
CONECTAR SQL SERVIDOR DE CONTROLO
SERVIDOR DE CONTROLO SERVIDOR DE CONTROLO
CRIAR QUALQUER BASE DE DADOS ALTERAR QUALQUER BASE DE DADOS
CRIAR GRUPO DE DISPONIBILIDADE

Aplica-se a: SQL Server (SQL Server 2012 (11.x) até versão atual).
ALTERAR QUALQUER GRUPO DE DISPONIBILIDADE
CRIAR NOTIFICAÇÃO DE EVENTO DDL ALTERAR QUALQUER NOTIFICAÇÃO DE EVENTO
CRIAR ENDPOINT ALTERAR QUALQUER PONTO FINAL
CRIAR FUNÇÃO DE SERVIDOR

Aplica-se a: SQL Server (SQL Server 2012 (11.x) até versão atual).
ALTERAR QUALQUER FUNÇÃO DE SERVIDOR
CRIAR NOTIFICAÇÃO DE EVENTO DE RASTREAMENTO ALTERAR QUALQUER NOTIFICAÇÃO DE EVENTO
MONTAGEM DE ACESSO EXTERNO SERVIDOR DE CONTROLO
PERSONIFIQUE QUALQUER LOGIN

Aplica-se a: SQL Server (SQL Server 2014 (12.x) até versão atual).
SERVIDOR DE CONTROLO
SELECIONAR TODOS OS PROTEGÍVEIS DO USUÁRIO

Aplica-se a: SQL Server (SQL Server 2014 (12.x) até versão atual).
SERVIDOR DE CONTROLO
SHUTDOWN SERVIDOR DE CONTROLO
MONTAGEM INSEGURA SERVIDOR DE CONTROLO
VER QUALQUER BASE DE DADOS VER QUALQUER DEFINIÇÃO
VER QUALQUER DEFINIÇÃO SERVIDOR DE CONTROLO
VER ESTADO DO SERVIDOR ESTADO DO SERVIDOR ALTER

As três permissões de servidor a seguir foram adicionadas no SQL Server 2014 (12.x).

CONECTAR QUALQUER BANCO DE DADOS Permissão
Conceda CONNECT ANY DATABASE a um login que deve se conectar a todos os bancos de dados existentes atualmente e a quaisquer novos bancos de dados que possam ser criados no futuro. Não concede nenhuma permissão em nenhum banco de dados além do connect. Combine com SELECIONE TODOS OS PROTEGÍVEIS DE USUÁRIO ou EXIBIR ESTADO DO SERVIDOR 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.

PERSONIFICAR QUALQUER LOGIN Permissão
Quando concedido, permite que um processo de camada intermediária represente a conta de clientes que se conectam a ele, à medida que se conecta a bancos de dados. Quando negado, um login com privilégios elevados pode ser impedido de se passar por outros logins. Por exemplo, um login com permissão CONTROL SERVER pode ser impedido de se passar por outros logins.

SELECIONAR TODOS OS USUÁRIOS PROTEGÍVEIS Permissão
Quando concedido, um login, como um auditor, pode exibir dados em todos os bancos de dados aos quais o usuário pode se conectar. Quando negado, impede o acesso a objetos, a menos que eles estejam no esquema sys.

Permissões

Requer permissão CONTROL SERVER ou propriedade do protegível. Se você usar a cláusula AS, a entidade de segurança especificada deverá possuir o protegível no qual as permissões estão sendo negadas.

Exemplos

Um. Negando a permissão CONNECT SQL a um logon do SQL Server e entidades às quais o logon foi reconcedido

O exemplo a seguir nega CONNECT SQL permissão para o Annika de logon do SQL Server e para as entidades às quais ela concedeu a permissão.

USE master;  
DENY CONNECT SQL TO Annika CASCADE;  
GO  

B. Negando a permissão CREATE ENDPOINT para um logon do SQL Server usando a opção AS

O exemplo a seguir nega CREATE ENDPOINT permissão ao usuário ArifS. O exemplo usa a opção AS para especificar MandarP como o principal do qual o principal executor deriva a autoridade para fazê-lo.

USE master;  
DENY CREATE ENDPOINT TO ArifS AS MandarP;  
GO  

Ver também

SUBVENÇÃO (Transact-SQL)
DENY (Transact-SQL)
DENY Server Permissions (Transact-SQL)
REVOKE Server Permissions (Transact-SQL)
Hierarquia de permissões (Mecanismo de Banco de Dados)
sys.fn_builtin_permissions (Transact-SQL)
sys.fn_my_permissions (Transact-SQL)
HAS_PERMS_BY_NAME (Transact-SQL)