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


GRANT sémaengedélyek (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

Engedélyeket ad egy sémához.

Transact-SQL szintaxis konvenciók

Syntax

GRANT permission  [ ,...n ] ON SCHEMA :: schema_name  
    TO database_principal [ ,...n ]  
    [ WITH GRANT OPTION ]  
    [ AS granting_principal ]  

Arguments

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

SÉMA ::schema_name
Megadja azt a sémát, amelyen az engedély meg van adva. A hatókör-minősítő :: kötelező.

database_principal
Azt a tagot adja meg, amelyhez az engedélyt megadták. Az alábbiak egyike:

  • Adatbázis felhasználó
  • Adatbázis szerepe
  • alkalmazásszerepkör
  • adatbázis-felhasználó windowsos bejelentkezésre van leképezve
  • adatbázis-felhasználó egy Windows-csoportra van leképezve
  • adatbázis-felhasználó hozzárendelve egy tanúsítványhoz
  • adatbázis-felhasználó aszimmetrikus kulcsra van leképezve
  • az adatbázis-felhasználó nem kiszolgálónévre van leképezve.

TÁMOGATÁSI OPCIÓ
Azt jelzi, hogy a rendszerbiztonsági tagnak lehetősége lesz arra is, hogy a megadott engedélyt más tagoknak is megadja.

MINT granting_principal
Megadja azt a főnevet, amelyből a lekérdezést végrehajtó egyszerű felhasználó engedélyt ad az engedély megadására. Az alábbiak egyike:

  • Adatbázis felhasználó
  • Adatbázis szerepe
  • alkalmazásszerepkör
  • adatbázis-felhasználó windowsos bejelentkezésre van leképezve
  • adatbázis-felhasználó egy Windows-csoportra van leképezve
  • adatbázis-felhasználó hozzárendelve egy tanúsítványhoz
  • adatbázis-felhasználó aszimmetrikus kulcsra van leképezve
  • az adatbázis-felhasználó nem kiszolgálónévre van leképezve.

Remarks

Important

Bizonyos esetekben az ALTER és a REFERENCIA engedélyek kombinációja lehetővé teheti, hogy a jogosult megtekintse az adatokat, vagy jogosulatlan függvényeket hajtson végre. Például: Ha egy táblán ALTER engedéllyel és hivatkozási engedéllyel rendelkezik egy függvényen, létrehozhat egy számított oszlopot egy függvényen, és végrehajthatja azt. Ebben az esetben a felhasználónak SELECT engedéllyel is rendelkeznie kell a számított oszlopban.

A séma olyan adatbázisszintű biztonságos, amelyet az adatbázis tartalmaz, amely a szülője az engedélyhierarchiában. A sémákon adható legspecifikusabb és korlátozott engedélyek az alábbiakban láthatók, valamint az általánosabb engedélyek, amelyek hatással vannak rájuk.

Séma engedély Sémaengedélyek alapján hallgatólagos Az adatbázis engedélyével kapcsolatos vélelmezett
ALTER CONTROL SÉMA MÓDOSÍTÁSA
CONTROL CONTROL CONTROL
LÉTREHOZNI SZEKVENCIÁT ALTER SÉMA MÓDOSÍTÁSA
DELETE CONTROL DELETE
EXECUTE CONTROL EXECUTE
INSERT CONTROL INSERT
REFERENCES CONTROL REFERENCES
SELECT CONTROL SELECT
VEGYÉK ÁT A TULAJDONJOGOT CONTROL CONTROL
UPDATE CONTROL UPDATE
VÁLTOZÁSKÖVETÉS MEGTEKINTÉSE CONTROL CONTROL
NÉZETDEFINÍCIÓ CONTROL NÉZETDEFINÍCIÓ

Caution

A sémán ALTER engedéllyel rendelkező felhasználók tulajdonjogi láncolással férhetnek hozzá más sémák biztonságossá tételéhez, beleértve azokat a biztonságos kulcsokat is, amelyekhez a felhasználó kifejezetten megtagadta a hozzáférést. Ennek az az oka, hogy a tulajdonjogi láncolás átadja az engedélyeket a hivatkozott objektumokon, amikor azok azokra hivatkozó objektumok tulajdonosának tulajdonában vannak. A sémán ALTER engedéllyel rendelkező felhasználók olyan eljárásokat, szinonimákat és nézeteket hozhatnak létre, amelyek a séma tulajdonosának tulajdonában vannak. Ezek az objektumok (tulajdonosi láncolással) hozzáférhetnek a séma tulajdonosának tulajdonában lévő más sémák információihoz. Ha lehetséges, ne adjon ALTER-engedélyt egy sémához, ha a séma tulajdonosa más sémákkal is rendelkezik.

Ez a probléma például a következő esetekben fordulhat elő. Ezek a forgatókönyvek feltételezik, hogy egy U1 nevű felhasználó rendelkezik alter engedéllyel az S1 sémán. Az U1 felhasználó nem fér hozzá egy T1 nevű táblaobjektumhoz a séma S2-ben. Az S1 séma és az S2 séma tulajdonosa ugyanaz a tulajdonos.

Az U1-felhasználó rendelkezik a CREATE PROCEDURE engedéllyel az adatbázison, és az EXECUTE engedéllyel az S1 sémán. Ezért az U1 felhasználó létrehozhat egy tárolt eljárást, majd hozzáférhet a T1 megtagadott objektumhoz a tárolt eljárásban.

Az U1 felhasználó rendelkezik a CREATE SZINONIMÁK engedéllyel az adatbázisban, és a SELECT engedéllyel az S1 sémában. Ezért az U1 felhasználó létrehozhat egy szinonimát az S1 sémában a megtagadott T1 objektumhoz, majd a szinonimával elérheti a megtagadott T1 objektumot.

Az U1 felhasználó rendelkezik a CREATE VIEW engedéllyel az adatbázisban, és a SELECT engedéllyel az S1 sémában. Ezért az U1-felhasználó létrehozhat egy nézetet az S1 sémában a megtagadott T1 objektum adatainak lekérdezéséhez, majd a nézet használatával hozzáférhet a megtagadott objektum T1 objektumához.

Permissions

Az engedélyezőnek (vagy az AS-beállítással megadott tagnak) rendelkeznie kell magával az engedéllyel a GRANT OPTION beállítással, vagy egy magasabb engedéllyel, amely azt jelenti, hogy az engedély meg van adva.

Ha az AS lehetőséget használja, ezek a további követelmények érvényesek.

MINT granting_principal További engedély szükséges
Adatbázis-felhasználó MEGSZEMÉLYESÍTÉSi engedély a felhasználóra, db_securityadmin rögzített adatbázis-szerepkör tagsága, db_owner rögzített adatbázis-szerepkör tagsága vagy a sysadmin rögzített kiszolgálói szerepkör tagsága.
Adatbázis-felhasználó windowsos bejelentkezésre van leképezve MEGSZEMÉLYESÍTÉSi engedély a felhasználóra, db_securityadmin rögzített adatbázis-szerepkör tagsága, db_owner rögzített adatbázis-szerepkör tagsága vagy a sysadmin rögzített kiszolgálói szerepkör tagsága.
Adatbázis-felhasználó egy Windows-csoportra van leképezve Tagság a Windows-csoportban, db_securityadmin rögzített adatbázis-szerepkör tagsága, db_owner rögzített adatbázis-szerepkör tagsága vagy a sysadmin rögzített kiszolgálói szerepkör tagsága.
Adatbázis-felhasználó tanúsítványra van leképezve A db_securityadmin rögzített adatbázis-szerepkör tagsága, a db_owner rögzített adatbázis-szerepkör tagsága vagy a sysadmin rögzített kiszolgálói szerepkör tagsága.
Adatbázis-felhasználó aszimmetrikus kulcsra van leképezve A db_securityadmin rögzített adatbázis-szerepkör tagsága, a db_owner rögzített adatbázis-szerepkör tagsága vagy a sysadmin rögzített kiszolgálói szerepkör tagsága.
Az adatbázis-felhasználó nincs hozzárendelve egyetlen kiszolgálónévhez sem MEGSZEMÉLYESÍTÉSi engedély a felhasználóra, db_securityadmin rögzített adatbázis-szerepkör tagsága, db_owner rögzített adatbázis-szerepkör tagsága vagy a sysadmin rögzített kiszolgálói szerepkör tagsága.
Adatbázis-szerepkör ALTER-engedély a szerepkörre, db_securityadmin rögzített adatbázis-szerepkör tagsága, db_owner rögzített adatbázis-szerepkör tagsága vagy a sysadmin rögzített kiszolgálói szerepkör tagsága.
Alkalmazás szerepkör ALTER-engedély a szerepkörre, db_securityadmin rögzített adatbázis-szerepkör tagsága, db_owner rögzített adatbázis-szerepkör tagsága vagy a sysadmin rögzített kiszolgálói szerepkör tagsága.

Az objektumtulajdonosok engedélyeket adhatnak a saját objektumaikhoz. A control engedéllyel rendelkező tagok engedélyt adhatnak erre a biztonságos eszközre.

A CONTROL SERVER engedély engedélyei, például a sysadmin rögzített kiszolgálói szerepkör tagjai bármilyen engedélyt adhatnak a kiszolgáló bármely biztonságossá tételéhez. A CONTROL engedéllyel rendelkezők egy adatbázisban, például a db_owner rögzített adatbázis-szerepkör tagjai, bármilyen engedélyt adhatnak az adatbázis bármely biztonságossá tételéhez. A séma CONTROL engedélyével rendelkezők bármilyen engedélyt adhatnak a sémán belüli bármely objektumra.

Examples

A. INSERT-engedély megadása a séma HumanResource-jaihoz a vendég számára

GRANT INSERT ON SCHEMA :: HumanResources TO guest;  

B. SELECT-engedély megadása a séma személye számára a WilJo adatbázis-felhasználó számára

GRANT SELECT ON SCHEMA :: Person TO WilJo WITH GRANT OPTION;  

Lásd még:

DENY sémaengedélyek (Transact-SQL)
VISSZAVONÁS sémaengedélyek (Transact-SQL)
TÁMOGATÁS (Transact-SQL)
Engedélyek (Adatbázis-motor)
Főelemek (Adatbázismotor)
CREATE CERTIFICATE (Transact-SQL)
ASZIMMETRIKUS KULCS LÉTREHOZÁSA (Transact-SQL)
ALKALMAZÁSSZEREPKÖR LÉTREHOZÁSA (Transact-SQL)
Titkosítási hierarchia
sys.fn_builtin_permissions (Transact-SQL)
sys.fn_my_permissions (Transact-SQL)
HAS_PERMS_BY_NAME (Transact-SQL)