Permissões de principal do banco de dados REVOKE (Transact-SQL)
Aplica-se a: SQL Server Banco de Dados SQL do Azure Instância Gerenciada de SQL do Azure Banco de Dados SQL no Microsoft Fabric
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 de sintaxe de 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
Aplica-se a: SQL Server 2008 (10.0.x) e posterior e Banco de Dados SQL
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 de segurança 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 outros principais aos quais ela foi concedida ou negada por esse principal.
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 uma entidade de segurança por meio da qual a entidade de segurança que executa essa consulta obtém 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
Aplica-se a: SQL Server 2008 (10.0.x) e posterior e Banco de Dados SQL
Especifica uma função de aplicativo.
Database_user_mapped_to_Windows_User
Aplica-se a: SQL Server 2008 (10.0.x) e posterior
Especifica um usuário do banco de dados mapeado para um usuário do Windows.
Database_user_mapped_to_Windows_Group
Aplica-se a: SQL Server 2008 (10.0.x) e posterior
Especifica um usuário do banco de dados mapeado para um grupo do Windows.
Database_user_mapped_to_certificate
Aplica-se a: SQL Server 2008 (10.0.x) e posterior
Especifica um usuário do banco de dados mapeado para um certificado.
Database_user_mapped_to_asymmetric_key
Aplica-se a: SQL Server 2008 (10.0.x) e posterior
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 nenhuma entidade de segurança 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.
As entidades autorizadas com a 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 protegível 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 AdventureWorks2022
a partir do usuário RolandX
.
USE AdventureWorks2022;
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 AdventureWorks2022
do SammamishParking
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 AdventureWorks2022;
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 AdventureWorks2022
.
Aplica-se a: SQL Server 2008 (10.0.x) e posterior e Banco de Dados SQL
USE AdventureWorks2022;
REVOKE IMPERSONATE ON USER::HamithaL FROM AccountsPayable17;
GO
Consulte Também
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 USER (Transact-SQL)
CREATE APPLICATION ROLE (Transact-SQL)
CREATE ROLE (Transact-SQL)
GRANT (Transact-SQL)
Permissões (Mecanismo de Banco de Dados)
Entidades (Mecanismo de Banco de Dados)