Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
van toepassing op:SQL Server
Azure SQL Database
Azure SQL Managed Instance
SQL-database in Microsoft Fabric
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.
GEBRUIKER ::database_user
Hiermee geeft u de klasse en naam van de gebruiker waarvoor de machtiging wordt geweigerd. De kwalificatie voor het bereik (::) is vereist.
ROL ::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 |
| DEFINITIE WEERGEVEN | CONTROL | DEFINITIE WEERGEVEN |
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 |
| EIGENAAR | CONTROL | CONTROL |
| ALTER | CONTROL | ELKE ROL WIJZIGEN |
| DEFINITIE WEERGEVEN | CONTROL | DEFINITIE WEERGEVEN |
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 |
| DEFINITIE WEERGEVEN | CONTROL | DEFINITIE WEERGEVEN |
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
Het volgende voorbeeld ontkent CONTROL toestemming voor de AdventureWorks2025-gebruiker Wanida aan gebruiker 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
Het volgende voorbeeld ontkent VIEW DEFINITION toestemming voor de rol SammamishParking AdventureWorks2025 aan databasegebruiker JinghaoLiu. 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
Het volgende voorbeeld ontkent IMPERSONATE de toestemming van de gebruiker HamithaL voor de AdventureWorks2025-applicatierol AccountsPayable17.
Van toepassing op: SQL Server 2008 (10.0.x) en hoger, SQL Database.
USE AdventureWorks2022;
DENY IMPERSONATE ON USER::HamithaL TO AccountsPayable17;
GO
Zie ook
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)
SUBSIDIE (Transact-SQL)
Machtigingen (Database Engine)
Principals (Databasemotor)