DENY (Transact-SQL)

Platí pro:SQL ServerAzure SQL DatabaseSpravovaná instance Azure SQLAzure Synapse AnalyticsAnalytics Platform System (PDW)Koncový bod analýzy SQL v Microsoft FabricSklad v Microsoft FabricDatabáze SQL v Microsoft Fabric

Odmítne oprávnění k objektu zabezpečení. Zabrání objektu zabezpečení v dědění oprávnění prostřednictvím jeho členství ve skupině nebo rolích. DENY má přednost před všemi oprávněními, kromě toho, že se nevztahuje DENY na vlastníky objektů ani členy role pevného správce systému. Poznámka k zabezpečení Členové pevné role serveru sysadmin a vlastníci objektů nemohou být odepřena oprávnění."

Transact-SQL konvence syntaxe

Syntax

Syntaxe pro SQL Server, Azure SQL Database a databázi SQL Fabric

 
-- Simplified syntax for DENY  
DENY   { ALL [ PRIVILEGES ] } 
     | <permission>  [ ( column [ ,...n ] ) ] [ ,...n ]  
    [ ON [ <class> :: ] securable ] 
    TO principal [ ,...n ]   
    [ CASCADE] [ AS principal ]  
[;]

<permission> ::=  
{ see the tables below }  
  
<class> ::=  
{ see the tables below }  

Syntaxe pro Azure Synapse Analytics a paralelní datový sklad a sklad Microsoft Fabric

DENY   
    <permission> [ ,...n ]  
    [ ON [ <class_> :: ] securable ]   
    TO principal [ ,...n ]  
    [ CASCADE ]  
[;]  
  
<permission> ::=  
{ see the tables below }  
  
<class> ::=  
{  
      LOGIN  
    | DATABASE  
    | OBJECT  
    | ROLE  
    | SCHEMA  
    | USER  
}  

Arguments

ALL
Tato možnost nezamítá všechna možná oprávnění. Odepření funkce ALL je ekvivalentem zamítnutí následujících oprávnění.

  • Pokud je sejiable databáze, ALL znamená BACKUP, LOG, CREATE DATABASE, CREATE DEFAULT, CREATE FUNCTION, , CREATE PROCEDURE, CREATE RULE, , CREATE TABLEa .CREATE VIEWBACKUPDATABASE

  • Pokud je zabezpečitelná skalární funkce, znamená TO VŠECHNY příkazy EXECUTE a REFERENCES.

  • Pokud je sejiable tabulkově hodnotová funkce, ALL znamená DELETE, INSERT, REFERENCES, SELECT a UPDATE.

  • Pokud je zabezpečitelná uložená procedura, znamená to ALL execute.

  • Pokud je jistébná tabulka, ALL znamená DELETE, INSERT, REFERENCES, SELECT a UPDATE.

  • Pokud je jijistovatelný pohled, ALL znamená DELETE, INSERT, REFERENCES, SELECT a UPDATE.

Note

Syntax DENY ALL je zastaralá. Tato funkce bude odebrána v budoucí verzi SQL Serveru. Nepoužívejte tuto funkci v nové vývojové práci a naplánujte úpravu aplikací, které tuto funkci aktuálně používají. Místo toho odepřít konkrétní oprávnění.

PRIVILEGES
Součástí je dodržování předpisů ISO. Nemění chování funkce ALL.

permission
Je název oprávnění. Platná mapování oprávnění k zabezpečitelným objektům jsou popsána v následujících dílčích tématech.

column
Určuje název sloupce v tabulce, u kterého jsou oprávnění odepřena. Jsou vyžadovány závorky ().

class
Určuje třídu zabezpečitelné, pro kterou je oprávnění odepřeno. Kvalifikátor oboru :: je povinný.

securable
Určuje zabezpečitelný, na kterém je oprávnění odepřeno.

TO ředitel
Je název objektu zabezpečení. Objekty zabezpečení, u kterých se dají zabezpečitelná oprávnění odepřít, se liší v závislosti na zabezpečitelném objektu. Platná kombinace najdete v níže uvedených tématech věnovaných zabezpečitelným konkrétním účelům.

CASCADE
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žadováno, pokud má hlavní strana povolení s GRANT OPTION.

AS ředitel
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.

Remarks

Úplná syntaxe příkazu DENY je složitá. Výše uvedený diagram syntaxe byl zjednodušen tak, aby upoutat pozornost na jeho strukturu. Úplná syntaxe pro odepření oprávnění u konkrétních zabezpečitelných objektů je popsaná v níže uvedených tématech.

DENY selže, pokud CASCADE není specifikováno při odepření povolení principálovi, kterému bylo toto povolení uděleno s GRANT OPTION specifikováno.

Systémová uložená procedura sp_helprotect hlásí oprávnění k zabezpečitelné úrovni databáze.

V Microsoft Fabric nelze CREATE USER v současnosti explicitně spustit. Když GRANT je DENY nebo vykonáno, uživatel bude automaticky vytvořen.

Caution

DENY na úrovni tabulky nemá přednost před GRANTna úrovni sloupce . Tato nekonzistence v hierarchii oprávnění byla zachována kvůli zpětné kompatibilitě. V budoucí verzi se odebere.

Caution

Odepření oprávnění CONTROL v databázi implicitně odmítne oprávnění CONNECT pro databázi. Objekt zabezpečení, který je odepřen oprávnění CONTROL pro databázi, se k této databázi nebude moct připojit.

Caution

Odepření oprávnění CONTROL SERVER implicitně odmítne oprávnění CONNECT SQL na serveru. Objekt zabezpečení, který je odepřen oprávnění CONTROL SERVER na serveru, se nebude moct k danému serveru připojit.

Permissions

Volající (nebo objekt zabezpečení zadaný možností AS) musí mít buď oprávnění CONTROL k zabezpečitelnému, nebo vyšší oprávnění, které implikuje oprávnění CONTROL k zabezpečitelnému. Pokud používáte možnost AS, musí zadaný objekt zabezpečení vlastnit zabezpečitelné, ke kterému je oprávnění odepřeno.

Udělení oprávnění CONTROL SERVER, jako jsou členové pevné role serveru správce systému, mohou odepřít všechna oprávnění na jakémkoli zabezpečitelném serveru. Udělení oprávnění CONTROL k databázi, jako jsou členové db_owner pevné databázové role, mohou odepřít všechna oprávnění k jakémukoli zabezpečitelnému v databázi. Udělení oprávnění CONTROL schématu může odepřít jakékoli oprávnění k libovolnému objektu ve schématu. Pokud se použije klauzule AS, musí zadaný objekt zabezpečení vlastnit zabezpečitelné, na kterém jsou oprávnění odepřena.

Examples

V následující tabulce jsou uvedeny zabezpečitelné položky a témata, která popisují syntaxi specifickou pro zabezpečitelnou.

Securables Syntax
Role aplikace DENY Oprávnění k principálu databáze (Transact-SQL)
Assembly DENY Povolení k sestavení (Transact-SQL)
Asymetrický klíč DENY Asymetrická klíčová oprávnění (Transact-SQL)
Skupina dostupnosti DENY Oprávnění skupiny dostupnosti (Transact-SQL)
Certificate DENY Oprávnění certifikátů (Transact-SQL)
Contract DENY Oprávnění služby Service Broker (Transact-SQL)
Database DENY Oprávnění k databázi (Transact-SQL)
Přihlašovací údaje s vymezeným oborem databáze DENY Databázové přihlašovací údaje (Transact-SQL)
Endpoint DENY Oprávnění pro koncový bod (Transact-SQL)
Full-Text Katalog DENY Full-Text Oprávnění (Transact-SQL)
Full-Text Stoplist DENY Full-Text Oprávnění (Transact-SQL)
Function DENY Oprávnění objektu (Transact-SQL)
Login DENY Hlavní oprávnění serveru (Transact-SQL)
Typ zprávy DENY Oprávnění služby Service Broker (Transact-SQL)
Object DENY Oprávnění objektu (Transact-SQL)
Queue DENY Oprávnění objektu (Transact-SQL)
Vazba vzdálené služby DENY Oprávnění služby Service Broker (Transact-SQL)
Role DENY Oprávnění k principálu databáze (Transact-SQL)
Route DENY Oprávnění služby Service Broker (Transact-SQL)
Schema DENY Povolení schématu (Transact-SQL)
Seznam vlastností vyhledávání DENY Vyhledání oprávnění v seznamu nemovitostí (Transact-SQL)
Server DENY Oprávnění serveru (Transact-SQL)
Service DENY Oprávnění služby Service Broker (Transact-SQL)
Uložená procedura DENY Oprávnění objektu (Transact-SQL)
Symetrický klíč DENY Oprávnění symetrického klíče (Transact-SQL)
Synonym DENY Oprávnění objektu (Transact-SQL)
Systémové objekty DENY Oprávnění systémového objektu (Transact-SQL)
Table DENY Oprávnění objektu (Transact-SQL)
Typ DENY Oprávnění k typům (Transact-SQL)
User DENY Oprávnění k principálu databáze (Transact-SQL)
View DENY Oprávnění objektu (Transact-SQL)
Kolekce schémat XML DENY Oprávnění ke sběru XML schématu (Transact-SQL)

Viz také

REVOKE (Transact-SQL)
sp_addlogin (Transact-SQL)
sp_adduser (Transact-SQL)
sp_changedbowner (Transact-SQL)
sp_dropuser (Transact-SQL)
sp_helprotect (Transact-SQL)
sp_helpuser (Transact-SQL)