Neka serverbehörigheter (Transact-SQL)
gäller för:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Nekar behörigheter på en server.
Transact-SQL syntaxkonventioner
Syntax
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
Argument
behörighet
Anger en behörighet som kan nekas på en server. En lista över behörigheterna finns i avsnittet Kommentarer senare i det här avsnittet.
KASKAD
Anger att behörigheten nekas till det angivna huvudkontot och till alla andra huvudnamn som huvudkontot har beviljat behörigheten till. Krävs när huvudkontot har behörigheten GRANT OPTION.
TILL <server_principal>
Anger det huvudnamn som behörigheten nekas till.
AS-<grantor_principal>
Anger det huvudnamn som huvudkontot som kör frågan härleder sin rätt att neka behörigheten.
Använd AS-huvudsatsen för att ange att huvudkontot som registrerats som nekare av behörigheten ska vara ett annat huvudnamn än den person som kör -instruktionen. Anta till exempel att användaren Mary är principal_id 12 och att användaren Raul är huvudnamn 15. Mary kör DENY SELECT ON OBJECT::X TO Steven WITH GRANT OPTION AS Raul;
Nu visar tabellen sys.database_permissions att grantor_principal_id av neka-instruktionen var 15 (Raul) trots att instruktionen faktiskt kördes av användaren 13 (Mary).
Användningen av AS i den här instruktionen innebär inte möjligheten att personifiera en annan användare.
SQL_Server_login
Anger en SQL Server-inloggning.
SQL_Server_login_mapped_to_Windows_login
Anger en SQL Server-inloggning som mappats till en Windows-inloggning.
SQL_Server_login_mapped_to_Windows_group
Anger en SQL Server-inloggning mappad till en Windows-grupp.
SQL_Server_login_mapped_to_certificate
Anger en SQL Server-inloggning mappad till ett certifikat.
SQL_Server_login_mapped_to_asymmetric_key
Anger en SQL Server-inloggning mappad till en asymmetrisk nyckel.
server_role
Anger en serverroll.
Anmärkningar
Behörigheter i serveromfånget kan endast nekas när den aktuella databasen är huvuddatabas.
Information om serverbehörigheter kan visas i sys.server_permissions katalogvy och information om serverhuvudnamn kan visas i sys.server_principals katalogvy. Information om medlemskap i serverroller kan visas i sys.server_role_members katalogvyn.
En server är den högsta nivån i behörighetshierarkin. De mest specifika och begränsade behörigheter som kan nekas på en server visas i följande tabell.
Serverbehörighet | Underförstått av serverbehörighet |
---|---|
ADMINISTRERA MASSÅTGÄRDER | KONTROLLSERVER |
ÄNDRA VALFRI TILLGÄNGLIGHETSGRUPP gäller för: SQL Server (SQL Server 2012 (11.x) via aktuella versionen). |
KONTROLLSERVER |
ÄNDRA ALLA ANSLUTNINGAR | KONTROLLSERVER |
ÄNDRA EVENTUELLA AUTENTISERINGSUPPGIFTER | KONTROLLSERVER |
ÄNDRA EN DATABAS | KONTROLLSERVER |
ÄNDRA VALFRI SLUTPUNKT | KONTROLLSERVER |
ÄNDRA HÄNDELSEMEDDELANDEN | KONTROLLSERVER |
ÄNDRA HÄNDELSESESSIONER | KONTROLLSERVER |
ÄNDRA EN LÄNKAD SERVER | KONTROLLSERVER |
ÄNDRA ALLA INLOGGNINGAR | KONTROLLSERVER |
ÄNDRA SERVERGRANSKNING | KONTROLLSERVER |
ÄNDRA VALFRI SERVERROLL gäller för: SQL Server (SQL Server 2012 (11.x) via aktuella versionen). |
KONTROLLSERVER |
ÄNDRA RESURSER | KONTROLLSERVER |
ÄNDRA SERVERTILLSTÅND | KONTROLLSERVER |
ÄNDRA INSTÄLLNINGAR | KONTROLLSERVER |
ALTER TRACE | KONTROLLSERVER |
AUTENTISERA SERVER | KONTROLLSERVER |
ANSLUT VALFRI DATABAS gäller för: SQL Server (SQL Server 2014 (12.x) via aktuella versionen). |
KONTROLLSERVER |
ANSLUT SQL | KONTROLLSERVER |
KONTROLLSERVER | KONTROLLSERVER |
SKAPA VALFRI DATABAS | ÄNDRA EN DATABAS |
SKAPA TILLGÄNGLIGHETSGRUPP gäller för: SQL Server (SQL Server 2012 (11.x) via aktuella versionen). |
ÄNDRA VALFRI TILLGÄNGLIGHETSGRUPP |
SKAPA DDL-HÄNDELSEMEDDELANDE | ÄNDRA HÄNDELSEMEDDELANDEN |
SKAPA SLUTPUNKT | ÄNDRA VALFRI SLUTPUNKT |
SKAPA SERVERROLL gäller för: SQL Server (SQL Server 2012 (11.x) via aktuella versionen). |
ÄNDRA VALFRI SERVERROLL |
SKAPA SPÅRNINGSHÄNDELSEAVISERING | ÄNDRA HÄNDELSEMEDDELANDEN |
EXTERN ÅTKOMSTSAMMANSÄTTNING | KONTROLLSERVER |
PERSONIFIERA ALL INLOGGNING gäller för: SQL Server (SQL Server 2014 (12.x) via aktuella versionen). |
KONTROLLSERVER |
VÄLJ ALLA SKYDDSBARA ANVÄNDARE gäller för: SQL Server (SQL Server 2014 (12.x) via aktuella versionen). |
KONTROLLSERVER |
AVSTÄNGNING | KONTROLLSERVER |
OSÄKER SAMMANSÄTTNING | KONTROLLSERVER |
VISA VALFRI DATABAS | VISA VALFRI DEFINITION |
VISA VALFRI DEFINITION | KONTROLLSERVER |
VISA SERVERTILLSTÅND | ÄNDRA SERVERTILLSTÅND |
Följande tre serverbehörigheter lades till i SQL Server 2014 (12.x).
ANSLUT ALLA databasbehörigheter
Bevilja ANSLUT ALLA DATABASER till en inloggning som måste ansluta till alla databaser som för närvarande finns och till alla nya databaser som kan skapas i framtiden. Beviljar inte någon behörighet i någon databas utöver anslutning. Kombinera med SELECT ALL USER SECURABLES or VIEW SERVER STATE för att tillåta en granskningsprocess att visa alla data eller alla databastillstånd på SQL Server-instansen.
PERSONIFIERA ALLA inloggningsbehörigheter
När den beviljas kan en mellannivåprocess personifiera kontot för klienter som ansluter till den, eftersom den ansluter till databaser. När du nekas kan en högprivilegierad inloggning blockeras från att personifiera andra inloggningar. En inloggning med KONTROLLSERVER behörighet kan till exempel blockeras från att personifiera andra inloggningar.
VÄLJ ALLA BEHÖRIGHETER FÖR ANVÄNDARE
När den beviljas kan en inloggning, till exempel en granskare, visa data i alla databaser som användaren kan ansluta till. När nekad, förhindrar åtkomst till objekt om de inte finns i sys- schema.
Behörigheter
Kräver kontrollserverbehörighet eller ägarskap för det skyddbara objektet. Om du använder AS-satsen måste det angivna huvudkontot äga det skydd som behörigheter nekas för.
Exempel
A. Neka CONNECT SQL-behörighet till en SQL Server-inloggning och huvudnamn som inloggningen har regranterat den till
I följande exempel nekas CONNECT SQL
behörighet till SQL Server-inloggningen Annika
och till de huvudnamn som hon har beviljat behörigheten till.
USE master;
DENY CONNECT SQL TO Annika CASCADE;
GO
B. Neka CREATE ENDPOINT-behörighet till en SQL Server-inloggning med alternativet AS
I följande exempel nekas CREATE ENDPOINT
behörighet till användaren ArifS
. I exemplet används alternativet AS
för att ange MandarP
som det huvudnamn som det verkställande huvudkontot härleder utfärdaren från för att göra det.
USE master;
DENY CREATE ENDPOINT TO ArifS AS MandarP;
GO
Se även
GRANT (Transact-SQL)
NEKA (Transact-SQL)
neka serverbehörigheter (Transact-SQL)
ÅTERKALLA serverbehörigheter (Transact-SQL)
behörighetshierarki (databasmotor)
sys.fn_builtin_permissions (Transact-SQL)
sys.fn_my_permissions (Transact-SQL)
HAS_PERMS_BY_NAME (Transact-SQL)