Sdílet prostřednictvím


Odepřít oprávnění serveru (Transact-SQL)

platí pro:SQL ServerAzure SQL Databaseazure SQL Managed Instance

Odmítne oprávnění na serveru.

Transact-SQL konvence syntaxe

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  

Argumenty

oprávnění
Určuje oprávnění, která lze na serveru odepřít. Seznam oprávnění najdete v části Poznámky dále v tomto tématu.

KASKÁDA
Označuje, že oprávnění je odepřeno zadanému objektu zabezpečení a všem ostatním objektům zabezpečení, kterým objekt zabezpečení udělil oprávnění. Vyžaduje se, pokud má objekt zabezpečení oprávnění s možností GRANT OPTION.

<SERVER_PRINCIPAL>
Určuje objekt zabezpečení, ke kterému je oprávnění odepřeno.

<GRANTOR_PRINCIPAL> AS
Určuje objekt zabezpečení, ze kterého objekt zabezpečení, který spouští tento dotaz, odvozuje své právo odepřít oprávnění. Pomocí klauzule instančního objektu AS uveďte, že objekt zabezpečení zaznamenaný jako denátor oprávnění by měl být jiným objektem než osoba provádějící příkaz. Například předpokládáme, že uživatel Mary je principal_id 12 a uživatel Raul je instanční 15. Mary spustí DENY SELECT ON OBJECT::X TO Steven WITH GRANT OPTION AS Raul; Nyní tabulka sys.database_permissions bude indikovat, že grantor_principal_id příkazu odepřít bylo 15 (Raul), i když byl příkaz skutečně proveden uživatelem 13 (Mary).

Použití AS v tomto prohlášení neznamená schopnost zosobnit jiného uživatele.

SQL_Server_login
Určuje přihlášení k SQL Serveru.

SQL_Server_login_mapped_to_Windows_login
Určuje přihlášení SQL Serveru namapované na přihlášení systému Windows.

SQL_Server_login_mapped_to_Windows_group
Určuje přihlášení SQL Serveru namapované na skupinu Windows.

SQL_Server_login_mapped_to_certificate
Určuje přihlášení SQL Serveru namapované na certifikát.

SQL_Server_login_mapped_to_asymmetric_key
Určuje přihlášení SQL Serveru namapované na asymetrický klíč.

server_role
Určuje roli serveru.

Poznámky

Oprávnění v oboru serveru je možné odepřít pouze v okamžiku, kdy je aktuální databáze hlavní.

Informace o oprávněních serveru lze zobrazit v zobrazení katalogu sys.server_permissions a informace o objektech zabezpečení serveru lze zobrazit v zobrazení katalogu sys.server_principals. Informace o členství rolí serveru lze zobrazit v zobrazení katalogu sys.server_role_members.

Server je nejvyšší úroveň hierarchie oprávnění. Nejpřesnější a omezená oprávnění, která se dají na serveru odepřít, jsou uvedená v následující tabulce.

Oprávnění serveru Implicitní oprávnění serveru
SPRÁVA HROMADNÝCH OPERACÍ řídicí server
ZMĚNIT JAKOUKOLI SKUPINU DOSTUPNOSTI

platí pro: SQL Server (SQL Server 2012 (11.x) až aktuální verze).
řídicí server
ZÁMĚNA JAKÉKOLIV PŘIPOJENÍ řídicí server
ZMĚNIT JAKÉKOLI POVĚŘENÍ řídicí server
ZMĚNIT JAKOUKOLI DATABÁZI řídicí server
ZMĚNIT JAKÝKOLI KONCOVÝ BOD řídicí server
ZMĚNIT JAKÉKOLI OZNÁMENÍ O UDÁLOSTI řídicí server
ZMĚNIT JAKOUKOLI RELACI UDÁLOSTÍ řídicí server
ZMĚNIT JAKÝKOLI PROPOJENÝ SERVER řídicí server
Změnit libovolné přihlášení řídicí server
UPRAVIT JAKÝKOLI AUDIT SERVERU řídicí server
ZMĚNIT JAKOUKOLIV ROLI SERVERU

platí pro: SQL Server (SQL Server 2012 (11.x) až aktuální verze).
řídicí server
Změnit zdroje řídicí server
Změnit stav serveru řídicí server
Změnit nastavení řídicí server
ALTEROVÁ STOPA řídicí server
OVĚŘENÍ SERVERU řídicí server
PŘIPOJENÍ JAKÉKOLI DATABÁZE

platí pro: SQL Server (SQL Server 2014 (12.x) až aktuální verze).
řídicí server
CONNECT SQL řídicí server
řídicí server řídicí server
VYTVOŘENÍ JAKÉKOLI DATABÁZE ZMĚNIT JAKOUKOLI DATABÁZI
VYTVOŘENÍ SKUPINY DOSTUPNOSTI

platí pro: SQL Server (SQL Server 2012 (11.x) až aktuální verze).
ZMĚNIT JAKOUKOLI SKUPINU DOSTUPNOSTI
VYTVOŘENÍ OZNÁMENÍ UDÁLOSTI DDL ZMĚNIT JAKÉKOLI OZNÁMENÍ O UDÁLOSTI
VYTVOŘIT KONCOVÝ BOD ZMĚNIT JAKÝKOLI KONCOVÝ BOD
VYTVOŘENÍ ROLE SERVERU

platí pro: SQL Server (SQL Server 2012 (11.x) až aktuální verze).
ZMĚNIT JAKOUKOLIV ROLI SERVERU
VYTVOŘENÍ OZNÁMENÍ UDÁLOSTI TRASOVÁNÍ ZMĚNIT JAKÉKOLI OZNÁMENÍ O UDÁLOSTI
SESTAVENÍ EXTERNÍHO PŘÍSTUPU řídicí server
ZOSOBNIT JAKÉKOLI PŘIHLÁŠENÍ

platí pro: SQL Server (SQL Server 2014 (12.x) až aktuální verze).
řídicí server
VYBRAT VŠECHNY ZABEZPEČITELNÉ UŽIVATELE

platí pro: SQL Server (SQL Server 2014 (12.x) až aktuální verze).
řídicí server
VYPNUTÍ řídicí server
NEBEZPEČNÉ SESTAVENÍ řídicí server
ZOBRAZIT LIBOVOLNOU DATABÁZI ZOBRAZIT JAKOUKOLI DEFINICI
ZOBRAZIT JAKOUKOLI DEFINICI řídicí server
ZOBRAZIT STAV SERVERU Změnit stav serveru

V SQL Serveru 2014 (12.x) byly přidána následující tři oprávnění serveru.

připojit jakékoli oprávnění k databázi
Udělte PŘIPOJIT LIBOVOLNOU DATABÁZI k přihlášení, které se musí připojit ke všem databázím, které aktuálně existují, a ke všem novým databázím, které by mohly být vytvořeny v budoucnu. Neuděluje žádné oprávnění v žádné databázi nad rámec připojení. Kombinovat s SELECT ALL USER SECURABLES nebo VIEW SERVER STATE, aby proces auditování mohl zobrazit všechna data nebo všechny stavy databáze v instanci SQL Serveru.

zosobnit jakékoli oprávnění k přihlášení
Pokud je to uděleno, umožňuje proces střední vrstvy zosobnit účet klientů, kteří se k němu připojují, protože se připojuje k databázím. Pokud je odepřeno, může být zablokované zosobnění jiných přihlášení s vysokou úrovní oprávnění. Například přihlášení s oprávněním CONTROL SERVER může být zablokováno zosobnění jiných přihlášení.

VYBRAT OPRÁVNĚNÍ VŠECHNY UŽIVATELE
Po udělení může přihlášení, jako je auditor, zobrazit data ve všech databázích, ke kterým se uživatel může připojit. Pokud je odepřen, zabráníte přístupu k objektům, pokud nejsou ve schématu sys.

Dovolení

Vyžaduje oprávnění CONTROL SERVERU nebo vlastnictví zabezpečitelného serveru. Pokud použijete klauzuli AS, musí zadaný objekt zabezpečení vlastnit zabezpečitelné, na kterém jsou oprávnění odepřena.

Příklady

A. Odepření oprávnění CONNECT SQL pro přihlášení a objekty zabezpečení SQL Serveru, ke kterým se přihlašovací jméno zaregistrovalo

Následující příklad odepře CONNECT SQL oprávnění k přihlášení k SQL Serveru Annika a objektům zabezpečení, kterým udělila oprávnění.

USE master;  
DENY CONNECT SQL TO Annika CASCADE;  
GO  

B. Odepření oprávnění CREATE ENDPOINT pro přihlášení k SQL Serveru pomocí možnosti AS

Následující příklad odmítne CREATE ENDPOINT oprávnění k uživateli ArifS. Příklad používá možnost AS k určení MandarP jako objektu zabezpečení, ze kterého exekuční objekt odvozuje autoritu k tomu.

USE master;  
DENY CREATE ENDPOINT TO ArifS AS MandarP;  
GO  

Viz také

GRANT (Transact-SQL)
odepřít (Transact-SQL)
odepřít serverová oprávnění (Transact-SQL)
ODVOLÁNÍ oprávnění serveru (Transact-SQL)
hierarchie oprávnění (databázový stroj)
sys.fn_vestavěná_oprávnění (Transact-SQL)
sys.fn_my_permissions (Transact-SQL)
HAS_PERMS_BY_NAME (Transact-SQL)