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


DENY objektumengedélyek (Transact-SQL)

A következőkre vonatkozik:SQL ServerAzure SQL DatabaseFelügyelt Azure SQL-példánySQL-adatbázis a Microsoft Fabricben

Letiltja a biztonságos objektumok OBJECT osztályának egy tagjára vonatkozó engedélyeket. Ezek az OBJECT osztály tagjai: táblák, nézetek, táblaértékű függvények, tárolt eljárások, kiterjesztett tárolt eljárások, skaláris függvények, összesítő függvények, szolgáltatássorok és szinonimák.

Transact-SQL szintaxis konvenciók

Syntax

DENY <permission> [ ,...n ] ON   
    [ OBJECT :: ][ schema_name ]. object_name [ ( column [ ,...n ] ) ]  
        TO <database_principal> [ ,...n ]   
    [ CASCADE ]  
        [ AS <database_principal> ]  
  
<permission> ::=  
    ALL [ PRIVILEGES ] | permission [ ( column [ ,...n ] ) ]  
  
<database_principal> ::=   
        Database_user   
    | Database_role   
    | Application_role   
    | Database_user_mapped_to_Windows_User   
    | Database_user_mapped_to_Windows_Group   
    | Database_user_mapped_to_certificate   
    | Database_user_mapped_to_asymmetric_key   
    | Database_user_with_no_login  

Arguments

permission
Olyan engedélyt ad meg, amely megtagadható egy séma által tartalmazott objektumon. Az engedélyek listáját a témakör későbbi, Megjegyzések szakaszában találja.

ALL
Az ALL megtagadása nem tagadja meg az összes lehetséges engedélyt. Az ALL megtagadása egyenértékű a megadott objektumra vonatkozó összes ANSI-92-engedély megtagadásával. Az ALL jelentése az alábbiak szerint változik:

  • Skaláris függvény engedélyei: EXECUTE, REFERENCES.
  • Táblaértékű függvényengedélyek: DELETE, INSERT, REFERENCES, SELECT, UPDATE.
  • Tárolt eljárás engedélyei: EXECUTE.
  • Táblaengedélyek: DELETE, INSERT, REFERENCES, SELECT, UPDATE.
  • Engedélyek megtekintése: DELETE, INSERT, REFERENCES, SELECT, UPDATE.

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

column
Megadja annak a tábla-, nézet- vagy táblaértékű függvénynek az oszlopát, amelyen az engedély megtagadva van. A zárójelek ( ) megadása kötelező. Csak a SELECT, a REFERENCES és a UPDATE engedélyek tagadhatók meg egy oszlopban. oszlopot az engedélyek záradékában vagy a biztonságos név után lehet megadni.

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. Az SQL Serverben ez a viselkedés eltérő, ha a kiszolgáló úgy van konfigurálva, hogy a Common Criteria Compliance Enabled Server Configuration használatával fusson. Ezt azonban általában csak óvatosan és nem általános gyakorlatként kell alkalmazni.

[ TÁRGY :: ] [ schema_name ] .object_name
Azt az objektumot adja meg, amelyen az engedély megtagadva van. Az OBJECT kifejezés nem kötelező, ha schema_name van megadva. Ha az OBJECT kifejezést használja, a hatókör-minősítőre (::) van szükség. Ha schema_name nincs megadva, a rendszer az alapértelmezett sémát használja. Ha schema_name van megadva, a séma hatókörének minősítője (.) szükséges.

HOGY <database_principal>
Azt a tagot adja meg, amelyhez az engedélyt megtagadják.

CASCADE
Azt jelzi, hogy a megtagadott engedélyt a rendszer más olyan tagoknak is megtagadja, amelyeknek ezt a tagot a rendszerbiztonsági tag adta.

MINT <database_principal>
Megadja azt a tagot, amelyből a lekérdezést végrehajtó egyszerű felhasználó megtagadhatja az engedélyt.

Database_user
Adatbázis-felhasználót ad meg.

Database_role
Adatbázis-szerepkört ad meg.

Application_role
Alkalmazásszerepkört határoz meg.

Database_user_mapped_to_Windows_User
Egy Windows-felhasználóhoz hozzárendelt adatbázis-felhasználót határoz meg.

Database_user_mapped_to_Windows_Group
Egy Windows-csoporthoz hozzárendelt adatbázis-felhasználót határoz meg.

Database_user_mapped_to_certificate
Egy tanúsítványhoz hozzárendelt adatbázis-felhasználót határoz meg.

Database_user_mapped_to_asymmetric_key
Aszimmetrikus kulcsra leképezett adatbázis-felhasználót ad meg.

Database_user_with_no_login
Olyan adatbázis-felhasználót ad meg, aki nem rendelkezik megfelelő kiszolgálószintű egyszerűséggel.

Remarks

Az objektumokra vonatkozó információk különböző katalógusnézetekben láthatók. További információ: Objektumkatalógus nézetei (Transact-SQL).

Az objektumok olyan sémaszintű biztonságossá tétele, amelyet a séma tartalmaz, amely a szülője az engedélyhierarchiában. Az objektumokon megtagadható legspecifikusabb és korlátozott engedélyeket az alábbi táblázatban találja, valamint azokat érintő általánosabb engedélyekkel együtt.

Objektum engedély Objektumengedélyek általi vélelmezés Sémaengedélyek alapján hallgatólagos
ALTER CONTROL ALTER
CONTROL CONTROL CONTROL
DELETE CONTROL DELETE
EXECUTE CONTROL EXECUTE
INSERT CONTROL INSERT
RECEIVE CONTROL CONTROL
REFERENCES CONTROL REFERENCES
SELECT RECEIVE SELECT
VEGYÉK ÁT A TULAJDONJOGOT CONTROL CONTROL
UPDATE CONTROL UPDATE
VÁLTOZÁSKÖVETÉS MEGTEKINTÉSE CONTROL VÁLTOZÁSKÖVETÉS MEGTEKINTÉSE
NÉZETDEFINÍCIÓ CONTROL NÉZETDEFINÍCIÓ

Permissions

CONTROL-engedélyt igényel az objektumon.

Ha az AS záradékot használja, a megadott tagnak rendelkeznie kell azzal az objektummal, amelyen az engedélyeket megtagadják.

Examples

Az alábbi példák az AdventureWorks-adatbázist használják.

A. SELECT engedély megtagadása egy táblán

Az alábbi példa tagadja SELECT a RosaQdM felhasználó engedélyét a táblában Person.Address.

DENY SELECT ON OBJECT::Person.Address TO RosaQdM;  
GO  

B. AZ EXECUTE engedély megtagadása tárolt eljárásban

Az alábbi példa tagadja a tárolt eljárás EXECUTE engedélyét HumanResources.uspUpdateEmployeeHireInfo egy úgynevezett Recruiting11alkalmazásszerepkörnek.

DENY EXECUTE ON OBJECT::HumanResources.uspUpdateEmployeeHireInfo  
    TO Recruiting11;  
GO   

C. HIVATKOZÁSOK engedélyének megtagadása a CASCADE-et használó nézeten

Az alábbi példa a nézet REFERENCES oszlopának BusinessEntityID engedélyét tagadja HumanResources.vEmployee meg a felhasználó Wanida számáraCASCADE.

DENY REFERENCES (BusinessEntityID) ON OBJECT::HumanResources.vEmployee   
    TO Wanida CASCADE;  
GO  

Lásd még:

GRANT objektumengedélyek (Transact-SQL)
VISSZAVONÁS objektumengedélyek (Transact-SQL)
objektumkatalógus nézetei (Transact-SQL)
Engedélyek (Adatbázis-motor)
Főelemek (Adatbázismotor)
Securables
sys.fn_builtin_permissions (Transact-SQL)
HAS_PERMS_BY_NAME (Transact-SQL)
sys.fn_my_permissions (Transact-SQL)