Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a:SQL Server
Banco de Dados SQL do Azure
Instâ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 diretor tem permissão com GRANT a 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 |
| ALTER QUALQUER AVAILABILITY GROUP Aplica-se a: SQL Server (SQL Server 2012 (11.x) até versão atual). |
SERVIDOR DE CONTROLO |
| ALTERAR QUALQUER LIGAÇÃO | SERVIDOR DE CONTROLO |
| ALTER QUALQUER CREDENTIAL | SERVIDOR DE CONTROLO |
| ALTER QUALQUER DATABASE | SERVIDOR DE CONTROLO |
| ALTER QUALQUER ENDPOINT | SERVIDOR DE CONTROLO |
| ALTER QUALQUER EVENT NOTIFICATION | SERVIDOR DE CONTROLO |
| ALTER QUALQUER EVENT SESSION | SERVIDOR DE CONTROLO |
| ALTERAR QUALQUER SERVIDOR VINCULADO | SERVIDOR DE CONTROLO |
| ALTER QUALQUER LOGIN | SERVIDOR DE CONTROLO |
| ALTER QUALQUER SERVER AUDIT | SERVIDOR DE CONTROLO |
| ALTER QUALQUER SERVER ROLE 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 |
| LIGA QUALQUER DATABASE 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 DATABASE | ALTER QUALQUER DATABASE |
| CREATE AVAILABILITY GROUP Aplica-se a: SQL Server (SQL Server 2012 (11.x) até versão atual). |
ALTER QUALQUER AVAILABILITY GROUP |
| CRIAR DDL EVENT NOTIFICATION | ALTER QUALQUER EVENT NOTIFICATION |
| CREATE ENDPOINT | ALTER QUALQUER ENDPOINT |
| CREATE SERVER ROLE Aplica-se a: SQL Server (SQL Server 2012 (11.x) até versão atual). |
ALTER QUALQUER SERVER ROLE |
| CRIAR RASTREIO EVENT NOTIFICATION | ALTER QUALQUER EVENT NOTIFICATION |
| ACESSO EXTERNO ASSEMBLY | SERVIDOR DE CONTROLO |
| IMITAR QUALQUER LOGIN Aplica-se a: SQL Server (SQL Server 2014 (12.x) até versão atual). |
SERVIDOR DE CONTROLO |
| SELECIONE TODOS OS USER VALORES GARANTIDOS Aplica-se a: SQL Server (SQL Server 2014 (12.x) até versão atual). |
SERVIDOR DE CONTROLO |
| SHUTDOWN | SERVIDOR DE CONTROLO |
| INSEGURO ASSEMBLY | SERVIDOR DE CONTROLO |
| VIEW QUALQUER DATABASE | VIEW QUALQUER DEFINIÇÃO |
| VIEW QUALQUER DEFINIÇÃO | SERVIDOR DE CONTROLO |
| VIEW ESTADO DO SERVIDOR | ESTADO DO SERVIDOR ALTER |
As três permissões de servidor a seguir foram adicionadas no SQL Server 2014 (12.x).
LIGA QUALQUER DATABASE Permissão
Conceda QUALQUER LIGAÇÃO DATABASE a um login que deve ligar-se a todas as bases de dados existentes e a quaisquer novas bases de dados que possam ser criadas no futuro. Não concede nenhuma permissão em nenhum banco de dados além do connect. Combine com SELECT ALL USER SECURABLES ou VIEW SERVER STATE para permitir que um processo de auditoria visualize todos os dados ou todos os estados da base de dados na instância do SQL Server.
IMITAR 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 USER Permissão SECURABLES
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. Negar CREATE ENDPOINT permissão a um login no 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
GRANT (Transact-SQL)
DENY (Transact-SQL)
DENY Permissões de Servidor (Transact-SQL)
REVOKE Permissões de Servidor (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)