Permissões de principal do banco de dados REVOKE (Transact-SQL)
Revoga permissões concedidas ou negadas em um usuário de banco de dados, função de banco de dados ou função de aplicativo.
Convenções da sintaxe Transact-SQL
Sintaxe
REVOKE [ GRANT OPTION FOR ] permission [ ,...n ]
ON
{ [ USER :: database_user ]
| [ ROLE :: database_role ]
| [ APPLICATION ROLE :: application_role ]
}
{ FROM | TO } <database_principal> [ ,...n ]
[ CASCADE ]
[ AS <database_principal> ]
<database_principal> ::=
Database_user
| Database_role
| Application_role
| Database_user_mapped_to_Windows_User
| Database_user_mapped_to_Windows_Group
| Database_user_mapped_to_certificate
| Database_user_mapped_to_asymmetric_key
| Database_user_with_no_login
Argumentos
permission
Especifica uma permissão que pode ser revogada no principal de banco de dados. Para obter uma lista de permissões, consulte a seção Comentários mais adiante neste tópico.USER ::database_user
Especifica a classe e o nome do usuário no qual a permissão está sendo revogada. O qualificador de escopo (::) é obrigatório.ROLE ::database_role
Especifica a classe e o nome da função na qual a permissão está sendo revogada. O qualificador de escopo (::) é obrigatório.APPLICATION ROLE ::application_role
Especifica a classe e o nome da função de aplicativo na qual a permissão está sendo revogada. O qualificador de escopo (::) é obrigatório.GRANT OPTION
Indica que o direito de conceder a permissão especificada a outros principais será revogado. A permissão em si não será revogada.Importante Se a entidade tiver a permissão especificada sem a opção GRANT, a própria permissão será revogada.
CASCADE
Indica que a permissão que está sendo revogada também é revogada de outras entidades às quais ela foi concedida ou negada por essa entidade.Cuidado A revogação em cascata de uma permissão WITH GRANT OPTION concedida revogará as opções GRANT e DENY dessa permissão.
AS <database_principal>
Especifica um principal do qual o principal que executa esta consulta deriva seu direito de revogar a permissão.Database_user
Especifica um usuário do banco de dados.Database_role
Especifica uma função de banco de dados.Application_role
Especifica uma função de aplicativo.Database_user_mapped_to_Windows_User
Especifica um usuário do banco de dados mapeado para um usuário do Windows.Database_user_mapped_to_Windows_Group
Especifica um usuário do banco de dados mapeado para um grupo do Windows.Database_user_mapped_to_certificate
Especifica um usuário do banco de dados mapeado para um certificado.Database_user_mapped_to_asymmetric_key
Especifica um usuário do banco de dados mapeado para uma chave assimétrica.Database_user_with_no_login
Especifica um usuário do banco de dados sem nenhum principal correspondente no nível de servidor.
Comentários
Permissões do usuário do banco de dados
Um usuário do banco de dados é um item protegível do nível do banco de dados contido pelo banco de dados que é seu pai na hierarquia de permissões. As permissões mais específicas e limitadas que podem ser revogadas em um usuário de banco de dados são listadas na tabela a seguir, junto com as permissões mais gerais que as incluem implicitamente.
Permissão do usuário do banco de dados |
Indicado pela permissão do usuário do banco de dados |
Implícito na permissão de banco de dados |
---|---|---|
CONTROL |
CONTROL |
CONTROL |
IMPERSONATE |
CONTROL |
CONTROL |
ALTER |
CONTROL |
ALTER ANY USER |
VIEW DEFINITION |
CONTROL |
VIEW DEFINITION |
Permissões da função de banco de dados
Uma função de banco de dados é um item protegível do nível do banco de dados contido pelo banco de dados que é seu pai na hierarquia de permissões. As permissões mais específicas e limitadas que podem ser revogadas em uma função de banco de dados são listadas na tabela a seguir, junto com as permissões mais gerais que as incluem implicitamente.
Permissão da função de banco de dados |
Indicado pela permissão da função de banco de dados |
Implícito na permissão de banco de dados |
---|---|---|
CONTROL |
CONTROL |
CONTROL |
TAKE OWNERSHIP |
CONTROL |
CONTROL |
ALTER |
CONTROL |
ALTER ANY ROLE |
VIEW DEFINITION |
CONTROL |
VIEW DEFINITION |
Permissões de função de aplicativo
Uma função de aplicativo é um item protegível do nível do banco de dados contido pelo banco de dados que é seu pai na hierarquia de permissões. As permissões mais específicas e limitadas que podem ser revogadas em uma função de aplicativo são listadas na tabela a seguir, junto com as permissões mais gerais que as incluem implicitamente.
Permissão de função de aplicativo |
Indicado pela permissão de função de aplicativo |
Implícito na permissão de banco de dados |
---|---|---|
CONTROL |
CONTROL |
CONTROL |
ALTER |
CONTROL |
ALTER ANY APPLICATION ROLE |
VIEW DEFINITION |
CONTROL |
VIEW DEFINITION |
Permissões
Requer a permissão CONTROL no principal especificado ou uma permissão mais alta que implica a permissão CONTROL.
Os usuários autorizados da permissão CONTROL em um banco de dados, como os membros da função de banco de dados fixa db_owner, podem conceder qualquer permissão para qualquer item de segurança do banco de dados.
Exemplos
A.Revogando a permissão CONTROL em um usuário a partir de outro usuário
O exemplo a seguir revoga a permissão CONTROL no usuário Wanida do AdventureWorks2012 a partir do usuário RolandX.
USE AdventureWorks2012;
REVOKE CONTROL ON USER::Wanida FROM RolandX;
GO
B.Revogando a permissão VIEW DEFINITION em uma função de um usuário para o qual foi concedida a permissão WITH GRANT OPTION
O exemplo a seguir revoga a permissão VIEW DEFINITION na função SammamishParking do AdventureWorks2012 a partir do usuário de banco de dados JinghaoLiu. A opção CASCADE é especificada porque ao usuário JinghaoLiu foi concedida a permissão VIEW DEFINITION WITH GRANT OPTION.
USE AdventureWorks2012;
REVOKE VIEW DEFINITION ON ROLE::SammamishParking
FROM JinghaoLiu CASCADE;
GO
C.Revogando a permissão PERSONATE em um usuário de uma função de aplicativo
O exemplo a seguir revoga a permissão IMPERSONATE no usuário HamithaL da função de aplicativo AccountsPayable17 do AdventureWorks2012 .
USE AdventureWorks2012;
REVOKE IMPERSONATE ON USER::HamithaL FROM AccountsPayable17;
GO
Consulte também
Referência
Permissões de principal do banco de dados GRANT (Transact-SQL)
Permissões de principal do banco de dados DENY (Transact-SQL)
sys.database_principals (Transact-SQL)
sys.database_permissions (Transact-SQL)
CREATE APPLICATION ROLE (Transact-SQL)