Delen via


Machtigingen voor database-principal weigeren (Transact-SQL)

Van toepassing op:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceSQL-database in Microsoft Fabric Preview

Weigert machtigingen die zijn verleend voor een databasegebruiker, databaserol of toepassingsrol in SQL Server.

Transact-SQL syntaxis-conventies

Syntax

DENY permission [ ,...n ]    
    ON   
    {  [ USER :: database_user ]  
     | [ ROLE :: database_role ]  
     | [ APPLICATION ROLE :: application_role ]  
    }  
    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   

Arguments

permission
Hiermee geeft u een machtiging op die kan worden geweigerd voor de database-principal. Zie de sectie Opmerkingen verderop in dit onderwerp voor een lijst met machtigingen.

USER ::database_user
Hiermee geeft u de klasse en naam van de gebruiker waarvoor de machtiging wordt geweigerd. De kwalificatie voor het bereik (::) is vereist.

ROLE ::database_role
Hiermee geeft u de klasse en naam van de rol waarvoor de machtiging wordt geweigerd. De kwalificatie voor het bereik (::) is vereist.

TOEPASSINGSROL ::application_role
Van toepassing op: SQL Server 2008 (10.0.x) en hoger, SQL Database.

Hiermee geeft u de klasse en naam op van de toepassingsrol waarvoor de machtiging wordt geweigerd. De kwalificatie voor het bereik (::) is vereist.

CASCADE
Geeft aan dat de machtiging die wordt geweigerd, ook wordt geweigerd aan andere principals waaraan deze principal is verleend.

AS-database_principal <>
Hiermee geeft u een principal op waaruit de principal die deze query uitvoert, het recht heeft om de machtiging in te trekken.

Database_user
Hiermee geeft u een databasegebruiker.

Database_role
Hiermee geeft u een databaserol op.

Application_role
Van toepassing op: SQL Server 2008 (10.0.x) en hoger, SQL Database.

Hiermee geeft u een toepassingsrol op.

Database_user_mapped_to_Windows_User
Hiermee geeft u een databasegebruiker die is toegewezen aan een Windows-gebruiker.

Database_user_mapped_to_Windows_Group
Hiermee geeft u een databasegebruiker die is toegewezen aan een Windows-groep.

Database_user_mapped_to_certificate
Hiermee geeft u een databasegebruiker die is toegewezen aan een certificaat.

Database_user_mapped_to_asymmetric_key
Hiermee geeft u een databasegebruiker die is toegewezen aan een asymmetrische sleutel.

Database_user_with_no_login
Hiermee geeft u een databasegebruiker zonder bijbehorende principal op serverniveau op.

Remarks

Machtigingen voor databasegebruikers

Een databasegebruiker is een beveiligbaar databaseniveau dat is opgenomen in de database die bovenliggend is in de machtigingshiërarchie. De meest specifieke en beperkte machtigingen die voor een databasegebruiker kunnen worden geweigerd, worden vermeld in de volgende tabel, samen met de meer algemene machtigingen die deze door implicatie bevatten.

Machtiging voor databasegebruiker Impliciet door databasegebruikersmachtiging Impliciet door databasemachtiging
CONTROL CONTROL CONTROL
IMPERSONATE CONTROL CONTROL
ALTER CONTROL WILLEKEURIGE GEBRUIKER WIJZIGEN
VIEW DEFINITION CONTROL VIEW DEFINITION

Machtigingen voor databaserollen

Een databaserol is een beveiligbaar databaseniveau dat is opgenomen in de database die bovenliggend is in de machtigingshiërarchie. De meest specifieke en beperkte machtigingen die voor een databaserol kunnen worden geweigerd, worden vermeld in de volgende tabel, samen met de meer algemene machtigingen die deze door implicatie bevatten.

Machtiging voor databaserol Impliciet door machtiging voor databaserol Impliciet door databasemachtiging
CONTROL CONTROL CONTROL
TAKE OWNERSHIP CONTROL CONTROL
ALTER CONTROL ELKE ROL WIJZIGEN
VIEW DEFINITION CONTROL VIEW DEFINITION

Machtigingen voor toepassingsrol

Een toepassingsrol is een beveiligbaar databaseniveau dat is opgenomen in de database die bovenliggend is in de machtigingshiërarchie. De meest specifieke en beperkte machtigingen die kunnen worden geweigerd voor een toepassingsrol, worden vermeld in de volgende tabel, samen met de meer algemene machtigingen die deze door implicatie bevatten.

Machtiging voor toepassingsrol Impliciet door machtiging voor toepassingsrol Impliciet door databasemachtiging
CONTROL CONTROL CONTROL
ALTER CONTROL ELKE TOEPASSINGSROL WIJZIGEN
VIEW DEFINITION CONTROL VIEW DEFINITION

Permissions

Vereist control-machtiging voor de opgegeven principal of een hogere machtiging die CONTROL-machtiging impliceert.

Grantees van CONTROL-machtigingen voor een database, zoals leden van de db_owner vaste databaserol, kunnen elke machtiging voor een beveiligbare database in de database weigeren.

Examples

A. Control-machtiging voor een gebruiker weigeren voor een andere gebruiker

In het volgende voorbeeld wordt CONTROL de machtiging voor de gebruiker AdventureWorks2022 Wanida geweigerd RolandX.

USE AdventureWorks2022;  
DENY CONTROL ON USER::Wanida TO RolandX;  
GO  

B. MACHTIGING WEERGAVEDEFINITIE weigeren voor een rol voor een gebruiker waaraan deze is verleend met GRANT OPTION

In het volgende voorbeeld wordt VIEW DEFINITION de machtiging voor de rol SammamishParking AdventureWorks2022 voor databasegebruiker JinghaoLiugeweigerd. De CASCADE optie is opgegeven omdat de gebruiker JinghaoLiu de MACHTIGING VIEW DEFINITION MET GRANT OPTION heeft gekregen.

USE AdventureWorks2022;  
DENY VIEW DEFINITION ON ROLE::SammamishParking   
    TO JinghaoLiu CASCADE;  
GO  

C. IMITATIE-machtiging voor een gebruiker weigeren voor een toepassingsrol

In het volgende voorbeeld wordt de machtiging voor de gebruiker HamithaL voor de toepassingsrol IMPERSONATEAccountsPayable17AdventureWorks2022 geweigerd.

Van toepassing op: SQL Server 2008 (10.0.x) en hoger, SQL Database.

USE AdventureWorks2022;  
DENY IMPERSONATE ON USER::HamithaL TO AccountsPayable17;  
GO    

See Also

database-principalmachtigingen verlenen (Transact-SQL)
Machtigingen voor database-principal intrekken (Transact-SQL)
sys.database_principals (Transact-SQL)
sys.database_permissions (Transact-SQL)
GEBRUIKER AANMAKEN (Transact-SQL)
TOEPASSINGSROL MAKEN (Transact-SQL)
ROL AANMAKEN (Transact-SQL)
GRANT (Transact-SQL)
Machtigingen (Database Engine)
Principals (Databasemotor)