DENY (Transact-SQL)

A következőkre vonatkozik:SQL ServerAzure SQL DatabaseFelügyelt Azure SQL-példányAzure Synapse AnalyticsElemzési platformrendszer (PDW)SQL Analytics-végpont a Microsoft FabricbenRaktár a Microsoft FabricbenSQL-adatbázis a Microsoft Fabricben

Egy tag engedélyét tagadja meg. Megakadályozza, hogy a tag örökölje az engedélyt a csoport- vagy szerepkör-tagságán keresztül. DENY minden jogosultsággal szemben elsőbbséget élvez, kivéve az objektum DENY tulajdonosait vagy a rendszert üzemeltető fix szerver szerepének tagjait. Biztonsági megjegyzés A sysadmin rögzített kiszolgálói szerepkör tagjai és az objektumtulajdonosok nem tagadhatók meg az engedélyektől."

Transact-SQL szintaxis konvenciók

Syntax

Az SQL Server, az Azure SQL Database és a Fabric SQL Database szintaxisa

 
-- 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 }  

Szintaxis az Azure Synapse Analyticshez és a párhuzamos adattárházhoz és a Microsoft Fabric-raktárhoz

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

Arguments

ALL
Ez a beállítás nem tagadja meg az összes lehetséges engedélyt. Az ALL megtagadása egyenértékű a következő engedélyek megtagadásával.

  • Ha a biztosítható adatbázis, akkor ALL azt jelentiBACKUP, hogy , BACKUP LOG, CREATE DATABASE, CREATE DEFAULT, CREATE FUNCTION, CREATE RULECREATE PROCEDURE, CREATE TABLE, és CREATE VIEW.DATABASE

  • Ha a biztonságos érték skaláris függvény, akkor az ALL az EXECUTE és a REFERENCES függvényt jelenti.

  • Ha a biztosítható egy táblázatértékű függvény, akkor ALL azt jelenti DELETE, , INSERT, HIVATKOZÁSOK, SELECT és UPDATE.

  • Ha a biztonságos eljárás tárolt eljárás, akkor az ÖSSZES azt jelenti, hogy VÉGREHAJTÁS.

  • Ha a biztosítható tábla, akkor ALL azt jelenti DELETE, hogy , INSERT, HIVATKOZÁSOK, SELECT és UPDATE.

  • Ha a biztosítható egy nézet, ALL azt jelenti DELETE, hogy , INSERT, HIVATKOZÁSOK, SELECT és UPDATE.

Note

Az DENY ALL szintaxis elavult. Ez a funkció az SQL Server egy későbbi verziójában lesz eltávolítva. Ne használja ezt a funkciót az új fejlesztési munkában, és tervezze meg a funkciót jelenleg használó alkalmazások módosítását. Ehelyett tiltsa le a megadott engedélyeket.

PRIVILEGES
Az ISO-megfelelőség része. Nem módosítja az ALL viselkedését.

permission
Az engedély neve. A biztonságossá tételhez szükséges engedélyek érvényes leképezéseit az alábbi témakörök ismertetik.

column
Egy tábla azon oszlopának nevét adja meg, amelyen az engedélyek megtagadva vannak. A zárójelek () megadása kötelező.

class
Annak a biztonságosnak az osztályát adja meg, amelyen az engedély megtagadva van. A hatókör-minősítő :: kötelező.

securable
Azt a biztonságossá tételt adja meg, amelyen az engedély megtagadva van.

TO igazgató
Egy tag neve. Azoknak a tagoknak, amelyek számára a biztonságossá tételére vonatkozó engedélyek megtagadhatók, a biztonságosságtól függően eltérőek lehetnek. Érvényes kombinációkért tekintse meg az alábbi biztonságos témaköröket.

CASCADE
Azt jelzi, hogy a rendszer megtagadja az engedélyt a megadott tagnak és az összes olyan tagnak, amelyhez a rendszerbiztonsági tag engedélyt adott. Kötelező, ha az igazgató rendelkezik az GRANT OPTION engedélyével.

MINT igazgató
Meghatározza, hogy a lekérdezést végrehajtó egyszerű felhasználó milyen jogosultsággal rendelkezik az engedély megtagadásához. Az AS egyszerű záradékával jelezheti, hogy az engedély tagadójaként nyilvántartott tagnak nem az utasítást végrehajtó személynek kell lennie. Tegyük fel például, hogy Mary felhasználó principal_id 12, a Raul felhasználó pedig a 15. Mary végrehajtja DENY SELECT ON OBJECT::X TO Steven WITH GRANT OPTION AS Raul; Most a sys.database_permissions tábla azt jelzi, hogy a megtagadási utasítás grantor_principal_id 15 volt (Raul), annak ellenére, hogy az utasítást ténylegesen a 13. felhasználó (Mary) hajtotta végre.

Az AS használata ebben az utasításban nem jelenti azt, hogy megszemélyesíthet egy másik felhasználót.

Remarks

A DENY utasítás teljes szintaxisa összetett. A fenti szintaxisdiagram egyszerűbb volt, hogy felhívja a figyelmet a szerkezetére. Az egyes biztonságos objektumok engedélyeinek megtagadására vonatkozó teljes szintaxist az alábbi témakörök ismertetik.

DENY meghibásodik, ha a CASCADE nincs megadva, amikor megtagadja az engedélyt egy olyan megbízótól, aki az engedélyt megadta az GRANT OPTION jelöléssel.

A sp_helprotect rendszer által tárolt eljárás egy adatbázisszintű biztonságosra vonatkozó engedélyeket jelent.

A Microsoft Fabric-ben CREATE USER jelenleg nem lehet explicit módon végrehajtani. Amikor GRANT vagy DENY futtatják, a felhasználó automatikusan létrejön majd.

Caution

A táblaszintű DENY nem élvez elsőbbséget az oszlopszintű GRANT. Az engedélyhierarchiában ez az inkonzisztencia megmarad a visszamenőleges kompatibilitás érdekében. Egy későbbi kiadásban el lesz távolítva.

Caution

Az adatbázis CONTROL-engedélyének megtagadása implicit módon megtagadja a CONNECT-engedélyt az adatbázison. Egy olyan egyszerű felhasználó, aki nem rendelkezik CONTROL engedéllyel egy adatbázisban, nem tud csatlakozni az adatbázishoz.

Caution

A CONTROL SERVER engedély megtagadása implicit módon megtagadja a CONNECT SQL-engedélyt a kiszolgálón. Az a rendszernév, amely nem rendelkezik CONTROL SERVER-engedéllyel egy kiszolgálón, nem tud csatlakozni ehhez a kiszolgálóhoz.

Permissions

A hívónak (vagy az AS beállítással megadott tagnak) control engedéllyel kell rendelkeznie a biztonságos eszközön, vagy egy magasabb szintű engedéllyel, amely control engedélyt jelent a biztonságossá tételhez. Az AS beállítás használata esetén a megadott rendszerbiztonsági tagnak rendelkeznie kell azzal a biztonságos eszközzel, amelyen egy engedély megtagadva van.

A CONTROL SERVER engedély engedélyei, például a sysadmin rögzített kiszolgálói szerepkör tagjai megtagadhatják a kiszolgáló bármely biztonságossá tételéhez szükséges engedélyt. Az adatbázis CONTROL-engedélyének (például a db_owner rögzített adatbázis-szerepkör tagjainak) engedélyei megtagadhatják az adatbázis bármely biztonságossá tételéhez szükséges engedélyt. A séma CONTROL engedélyének engedélyei megtagadhatják a séma bármely objektumának engedélyét. Az AS záradék használata esetén a megadott rendszerbiztonsági tagnak kell birtokolnia azt a biztonságossá tételt, amelyen a rendszer megtagadja az engedélyeket.

Examples

Az alábbi táblázat a biztonságossá tételt és a biztonságos szintaxist leíró témaköröket sorolja fel.

Securables Syntax
Alkalmazás-szerepkör DENY Adatbázis fő jogosultságok (Transact-SQL)
Assembly DENY Assembly Engedélyek (Transact-SQL)
Aszimmetrikus kulcs DENY Aszimmetrikus kulcsjogokon alapuló jogokon (Transact-SQL)
Rendelkezésre állási csoport DENY Elérhetőségi csoportos jogosultságok (Transact-SQL)
Certificate DENY Tanúsítványengedélyek (Transact-SQL)
Contract DENY Szolgáltatásközvetítői engedélyek (Transact-SQL)
Database DENY Adatbázis-jogosultságok (Transact-SQL)
Adatbázis hatókörébe tartozó hitelesítő adatok DENY Adatbázis Scoped Credential (Transact-SQL)
Endpoint DENY Végpontengedélyek (Transact-SQL)
Full-Text Katalógus DENY Full-Text Engedélyek (Transact-SQL)
Full-Text Stoplista DENY Full-Text Engedélyek (Transact-SQL)
Function DENY Objektumengedélyek (Transact-SQL)
Login DENY Kiszolgálónév engedélyei (Transact-SQL)
Üzenet típusa DENY Szolgáltatásközvetítői engedélyek (Transact-SQL)
Object DENY Objektumengedélyek (Transact-SQL)
Queue DENY Objektumengedélyek (Transact-SQL)
Távoli szolgáltatás kötése DENY Szolgáltatásközvetítői engedélyek (Transact-SQL)
Role DENY Adatbázis fő jogosultságok (Transact-SQL)
Route DENY Szolgáltatásközvetítői engedélyek (Transact-SQL)
Schema DENY Séma engedélyek (Transact-SQL)
Keresési tulajdonságlista DENY Keresési Ingatlanlista engedélyek (Transact-SQL)
Server DENY Kiszolgálói engedélyek (Transact-SQL)
Service DENY Szolgáltatásközvetítői engedélyek (Transact-SQL)
Tárolt eljárás DENY Objektumengedélyek (Transact-SQL)
Szimmetrikus kulcs DENY Szimmetrikus kulcsengedélyek (Transact-SQL)
Synonym DENY Objektumengedélyek (Transact-SQL)
Rendszerobjektumok DENY Rendszerobjektum-engedélyek (Transact-SQL)
Table DENY Objektumengedélyek (Transact-SQL)
Típus DENY Típusjogok: (Transact-SQL)
User DENY Adatbázis fő jogosultságok (Transact-SQL)
View DENY Objektumengedélyek (Transact-SQL)
XML-sémagyűjtemény DENY XML sémagyűjtemény jogosultságai (Transact-SQL)

Lásd még:

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)