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)