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 Managed Instance
Weigert machtigingen op een server.
Transact-SQL syntaxisconventies
Syntaxis
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
Argumenten
toestemming
Hiermee geeft u een machtiging op die kan worden geweigerd op een server. Zie Opmerkingen voor een lijst met machtigingen.
CASCADE
Geeft aan dat de machtiging wordt geweigerd aan de opgegeven principal en aan alle andere principals waaraan de principal de machtiging heeft verleend. Vereist wanneer de directeur toestemming heeft met GRANT OPTION.
<SERVER_PRINCIPAL>
Hiermee geeft u de principal waarvoor de machtiging wordt geweigerd.
AS-<grantor_principal>
Hiermee geeft u de principal op waaruit de principal die deze query uitvoert, het recht heeft om de machtiging te weigeren.
Gebruik de AS principal clause om aan te geven dat de principal die als weigeraar van de toestemming wordt geregistreerd, een principal moet zijn die niet de persoon is die de verklaring uitvoert. Stel bijvoorbeeld dat gebruiker Mary 12 is principal_id en gebruiker Raul principal 15. Mary voert DENY SELECT ON OBJECT::X TO Steven WITH GRANT OPTION AS Raul; uit Nu zal de sys.database_permissions tabel aangeven dat de grantor_principal_id ontkenningsverklaring 15 was (Raul), ook al is de verklaring daadwerkelijk uitgevoerd door gebruiker 13 (Mary).
SQL_Server_login
Hiermee geeft u een SQL Server-aanmelding op.
SQL_Server_login_mapped_to_Windows_login
Hiermee geeft u een SQL Server-aanmelding die is toegewezen aan een Windows-aanmelding.
SQL_Server_login_mapped_to_Windows_group
Hiermee geeft u een SQL Server-aanmelding die is toegewezen aan een Windows-groep.
SQL_Server_login_mapped_to_certificate
Hiermee geeft u een SQL Server-aanmelding die is toegewezen aan een certificaat.
SQL_Server_login_mapped_to_asymmetric_key
Hiermee geeft u een SQL Server-aanmelding die is toegewezen aan een asymmetrische sleutel.
server_role
Hiermee geeft u een serverfunctie.
Opmerkingen
Rechten op de serverscope kunnen alleen worden geweigerd wanneer de huidige database is master.
Informatie over servermachtigingen kan worden weergegeven in de sys.server_permissions catalogusweergave en informatie over server-principals kan worden weergegeven in de sys.server_principals catalogusweergave. Informatie over het lidmaatschap van serverfuncties kan worden weergegeven in de sys.server_role_members catalogusweergave.
In Azure SQL Database GRANTworden , REVOKE, en DENY op serverniveau permissies niet ondersteund.
Een server is het hoogste niveau van de machtigingshiërarchie. De meest specifieke en beperkte machtigingen die op een server kunnen worden geweigerd, worden vermeld in de volgende tabel.
| Servermachtiging | Impliciet door servermachtiging |
|---|---|
ADMINISTER BULK OPERATIONS |
CONTROL SERVER |
ALTER ANY AVAILABILITY GROUPVan toepassing op: SQL Server (SQL Server 2012 (11.x) tot huidige versie). |
CONTROL SERVER |
ALTER ANY CONNECTION |
CONTROL SERVER |
ALTER ANY CREDENTIAL |
CONTROL SERVER |
ALTER ANY DATABASE |
CONTROL SERVER |
ALTER ANY ENDPOINT |
CONTROL SERVER |
ALTER ANY EVENT NOTIFICATION |
CONTROL SERVER |
ALTER ANY EVENT SESSION |
CONTROL SERVER |
ALTER ANY LINKED SERVER |
CONTROL SERVER |
ALTER ANY LOGIN |
CONTROL SERVER |
ALTER ANY SERVER AUDIT |
CONTROL SERVER |
ALTER ANY SERVER ROLEVan toepassing op: SQL Server (SQL Server 2012 (11.x) tot huidige versie). |
CONTROL SERVER |
ALTER RESOURCES |
CONTROL SERVER |
ALTER SERVER STATE |
CONTROL SERVER |
ALTER SETTINGS |
CONTROL SERVER |
ALTER TRACE |
CONTROL SERVER |
AUTHENTICATE SERVER |
CONTROL SERVER |
| VERBIND ELKE DATABASE Van toepassing op: SQL Server (SQL Server 2014 (12.x) tot huidige versie). |
CONTROL SERVER |
CONNECT SQL |
CONTROL SERVER |
CONTROL SERVER |
CONTROL SERVER |
CREATE ANY DATABASE |
ALTER ANY DATABASE |
| CREATE AVAILABILITY GROUP Van toepassing op: SQL Server (SQL Server 2012 (11.x) tot huidige versie). |
WIJZIG EEN AVAILABILITY GROUP |
CREATE DDL EVENT NOTIFICATION |
ALTER ANY EVENT NOTIFICATION |
CREATE ENDPOINT |
ALTER ANY ENDPOINT |
CREATE SERVER ROLEVan toepassing op: SQL Server (SQL Server 2012 (11.x) tot huidige versie). |
ALTER ANY SERVER ROLE |
CREATE TRACE EVENT NOTIFICATION |
ALTER ANY EVENT NOTIFICATION |
EXTERNAL ACCESS ASSEMBLY |
CONTROL SERVER |
IMPERSONATE ANY LOGINVan toepassing op: SQL Server (SQL Server 2014 (12.x) tot huidige versie). |
CONTROL SERVER |
SELECT ALL USER SECURABLESVan toepassing op: SQL Server (SQL Server 2014 (12.x) tot huidige versie). |
CONTROL SERVER |
SHUTDOWN |
CONTROL SERVER |
UNSAFE ASSEMBLY |
CONTROL SERVER |
VIEW ANY DATABASE |
VIEW ANY DEFINITION |
VIEW ANY DEFINITION |
CONTROL SERVER |
VIEW ANY PERFORMANCE DEFINITIONVan toepassing op: SQL Server 2022 (16.x) en latere versies. |
VIEW ANY DEFINITION |
VIEW ANY SECURITY DEFINITIONVan toepassing op: SQL Server 2022 (16.x) en latere versies. |
VIEW ANY DEFINITION |
VIEW SERVER PERFORMANCE STATEVan toepassing op: SQL Server 2022 (16.x) en latere versies. |
VIEW SERVER STATE |
VIEW SERVER SECURITY STATEVan toepassing op: SQL Server 2022 (16.x) en latere versies. |
VIEW SERVER STATE |
VIEW SERVER STATE |
ALTER SERVER STATE |
De volgende drie servermachtigingen zijn toegevoegd in SQL Server 2014 (12.x).
CONNECT ANY DATABASEmachtiging- Geef
CONNECT ANY DATABASEeen login die verbinding moet maken met alle bestaande databases en met eventuele nieuwe databases die in de toekomst worden aangemaakt. Verleent geen machtigingen in een database die geen verbinding kan maken. Combineer metSELECT ALL USER SECURABLESofVIEW SERVER STATEom een auditproces toe te staan om alle data of databasetoestanden op de instantie van SQL Server te bekijken.
- Geef
IMPERSONATE ANY LOGINmachtiging- Wanneer dit wordt verleend, kan een proces in de middelste laag het account imiteren van clients die er verbinding mee maken, omdat het verbinding maakt met databases. Wanneer dit wordt geweigerd, kan een aanmelding met hoge bevoegdheden worden geblokkeerd voor het imiteren van andere aanmeldingen. Bijvoorbeeld, een login met
CONTROL SERVERtoestemming kan worden geblokkeerd om andere logins te imiteren.
- Wanneer dit wordt verleend, kan een proces in de middelste laag het account imiteren van clients die er verbinding mee maken, omdat het verbinding maakt met databases. Wanneer dit wordt geweigerd, kan een aanmelding met hoge bevoegdheden worden geblokkeerd voor het imiteren van andere aanmeldingen. Bijvoorbeeld, een login met
SELECT ALL USER SECURABLESmachtiging- Wanneer dit wordt verleend, kan een aanmelding, zoals een auditor, gegevens bekijken in alle databases waarmee de gebruiker verbinding kan maken. Wanneer geweigerd, voorkomt toegang tot objecten tenzij ze in het
sysschema zitten.
- Wanneer dit wordt verleend, kan een aanmelding, zoals een auditor, gegevens bekijken in alle databases waarmee de gebruiker verbinding kan maken. Wanneer geweigerd, voorkomt toegang tot objecten tenzij ze in het
Machtigingen
Vereist CONTROL SERVER-machtiging of eigendom van het beveiligbare. Als u de AS-component gebruikt, moet de opgegeven principal eigenaar zijn van het beveiligbare waarvoor machtigingen worden geweigerd.
Voorbeelden
Een. Weiger de CONNECT SQL-toestemming voor een SQL Server-login en de principals waaraan de login deze opnieuw heeft toegekend
In het volgende voorbeeld wordt CONNECT SQL machtiging geweigerd voor de SQL Server-aanmelding Test en aan de principals waaraan ze de machtiging heeft verleend.
USE master;
DENY CONNECT SQL TO Test CASCADE;
GO
B. Weiger CREATE ENDPOINT toestemming voor een SQL Server-login met de AS-optie
In het volgende voorbeeld wordt CREATE ENDPOINT machtiging voor de gebruiker Test1geweigerd. In het voorbeeld wordt de optie AS gebruikt om Test2 op te geven als de principal waaruit de uitvoerende principal de autoriteit heeft afgeleid.
USE master;
DENY CREATE ENDPOINT TO Test1 AS Test2;
GO