Megosztás a következőn keresztül:


TAGADÁS (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. A DENY minden engedélynél elsőbbséget élvez, azzal a kivételrel, hogy a DENY nem vonatkozik a sysadmin rögzített kiszolgálói szerepkör objektumtulajdonosaira vagy tagjaira. 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 biztonságos adatbázis, az ALL azt jelenti, hogy BIZTONSÁGI MENTÉSI ADATBÁZIS, BIZTONSÁGI MENTÉSI NAPLÓ, ADATBÁZIS LÉTREHOZÁSA, ALAPÉRTELMEZETT LÉTREHOZÁS, CREATE FÜGGVÉNY, LÉTREHOZÁSI ELJÁRÁS, SZABÁLY LÉTREHOZÁSA, TÁBLA LÉTREHOZÁSA és CREATE NÉZET.

  • 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 biztonságos érték táblaértékkel rendelkező függvény, az ALL azt jelenti, hogy DELETE, INSERT, REFERENCES, 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 biztonságos tábla, az ALL azt jelenti, hogy DELETE, INSERT, REFERENCES, SELECT és UPDATE.

  • Ha a biztonságos nézet egy nézet, az ALL azt jelenti, hogy DELETE, INSERT, REFERENCES, SELECT és UPDATE.

Note

A 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. Akkor szükséges, ha az egyszerű felhasználó rendelkezik a GRANT OPTION engedéllyel.

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.

A DENY sikertelen lesz, ha a CASCADE nincs megadva, amikor megtagadja az engedélyt egy olyan egyszerű felhasználótól, aki a MEGADOTT ENGEDÉLYEZÉSI BEÁLLÍTÁSsal adta meg az engedélyt.

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

A Microsoft Fabricben a CREATE USER jelenleg nem hajtható végre explicit módon. A GRANT vagy a DENY végrehajtásakor a rendszer automatikusan létrehozza a felhasználót.

Caution

A táblaszintű DENY nem élvez elsőbbséget az oszlopszintű GRANT értéknél. 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ázisnév engedélyei (Transact-SQL)
Assembly DENY szerelvényengedélyek (Transact-SQL)
Aszimmetrikus kulcs DENY aszimmetrikus kulcsengedélyek (Transact-SQL)
Rendelkezésre állási csoport DENY rendelkezésre állási csoport engedélyei (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ázisengedélyek (Transact-SQL)
Adatbázis hatókörébe tartozó hitelesítő adatok DENY adatbázis hatókörön belüli hitelesítő adatok (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 objektumhoz való hozzáférési jogok (Transact-SQL)
Login DENY-kiszolgáló egyszerű engedélyei (Transact-SQL)
Üzenet típusa DENY szolgáltatásközvetítői engedélyek (Transact-SQL)
Object DENY objektumhoz való hozzáférési jogok (Transact-SQL)
Queue DENY objektumhoz való hozzáférési jogok (Transact-SQL)
Távoli szolgáltatás kötése DENY szolgáltatásközvetítői engedélyek (Transact-SQL)
Role DENY-adatbázisnév engedélyei (Transact-SQL)
Route DENY szolgáltatásközvetítői engedélyek (Transact-SQL)
Schema DENY sémaengedélyek (Transact-SQL)
Keresési tulajdonságlista DENY Keresési tulajdonságlista engedélyei (Transact-SQL)
Server DENY-kiszolgáló engedélyeinek (Transact-SQL)
Service DENY szolgáltatásközvetítői engedélyek (Transact-SQL)
Tárolt eljárás DENY objektumhoz való hozzáférési jogok (Transact-SQL)
Szimmetrikus kulcs DENY szimmetrikus kulcsengedélyek (Transact-SQL)
Synonym DENY objektumhoz való hozzáférési jogok (Transact-SQL)
Rendszerobjektumok DENY rendszerobjektum-engedélyek (Transact-SQL)
Table DENY objektumhoz való hozzáférési jogok (Transact-SQL)
Típus DENY típusengedélyek (Transact-SQL)
User DENY-adatbázisnév engedélyei (Transact-SQL)
View DENY objektumhoz való hozzáférési jogok (Transact-SQL)
XML-sémagyűjtemény DENY XML-sémacsoport engedélyei (Transact-SQL)

Lásd még:

VISSZAVONÁS (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)