Grant, engedély megadása a rendszerhez (transact-sql)
Engedélyezhető egy olyan rendszerrel való együttműködéshez, amely elérhető. A lehetséges megoldások az alábbiak.
A SCHEMA. skhema_name
A működési terv, amelyhez az engedélyt megadják. A területi selejtező "::" szükséges.
A segélynyújtó lehet az alábbiak egyike:
- adatbázis felhasználó
- adatbázis szerepe
- alkalmazás szerepét
- az adatbázis-felhasználó leképezve a Windows bejelentkezési nevére
- adatbázis-felhasználó egy Windows-csoporthoz van hozzárendelve
- a tanúsítványhoz társított adatbázis-felhasználó
- az adatbázis-felhasználó egy aszimmetrikus kulcsra van leképezve
- Az a adatbázis-felhasználó, amely nincs leképezve a résztvevő kiszolgálóra.
Jelzi, hogy a résztvevő lehetőséget kap arra, hogy megadja a megadott engedélyt más résztvevőknek.
Jelzi azt a résztvevőt, akiről a kérelmet teljesítő résztvevő megkapja az engedély megadása jogát. Ez lehet az alábbiak egyike:
- adatbázis felhasználó
- adatbázis szerepe
- alkalmazás szerepét
- az adatbázis-felhasználó leképezve a Windows bejelentkezési nevére
- adatbázis-felhasználó egy Windows-csoporthoz van hozzárendelve
- a tanúsítványhoz társított adatbázis-felhasználó
- az adatbázis-felhasználó egy aszimmetrikus kulcsra van leképezve
- Az a adatbázis-felhasználó, amely nincs leképezve a résztvevő kiszolgálóra.
Az ALTER és a REFERENCE engedélyek kombinációja bizonyos esetekben lehetővé teszi az adatok megtekintését vagy jogosulatlan funkciókat. Például: Egy felhasználó ALTER engedéllyel egy táblázatban és egy REFERENCE engedélyben egy függvényen létrehozhat egy számított oszlopot a függvény alapján, és ennek eredményeként végrehajthatja azt. Ebben az esetben a felhasználónak szüksége van egy SELECT engedélyre a számított oszlopban.
A séma az adatbázisban lévő védett adatbázis-szintű objektum, amely az engedély hierarchiájában az anya számára tekinthető. Az alábbiak a legmeghatározóbb és korlátozott jogosultságok (valamint azok a leggyakoribb engedélyek, amelyekből áramlik) a séma számára.
A séma felbontásában szerepel
Az adatbázisban foglalt engedély
Az ALTER engedéllyel rendelkező felhasználó a sémában felhasználhatja a tulajdonláncot, hogy hozzáférhessen más rendszerek védett egységeihez, beleértve azokat a szervezeteket is, amelyekhez a felhasználó kifejezetten megtagadja a hozzáférést. Ez azért van így, mert a tulajdonlási lánc megkerüli az ellenőrzött jogosultságokat az általuk elérni kívánt objektumok tulajdonosa számára. A séma ALTER engedélyével rendelkező felhasználó létrehozhat eljárásokat, szinonimákat és nézeteket a rendszer tulajdonosa számára. Ezek a tárgyak a tulajdonos láncolatán keresztül hozzáférhetnek a rendszer tulajdonosa tulajdonában lévő egyéb rendszerekhez. Ha lehetséges, az ALTER engedélyt el kell kerülni, ha a rendszer tulajdonosa is.
Ez a probléma például a következő esetekben fordulhat elő. Feltételezzük, hogy az U1 felhasználó ALTER engedéllyel rendelkezik az S1 áramkörön. Az U1 felhasználó nem férhet hozzá az S2 séma T1 objektumához. Az S1 és S2 sémák ugyanazon tulajdonoshoz tartoznak.
Az U1 felhasználónak CREATE PROCEDURE engedélyei vannak az adatbázisban, és az S1 sémában az EXECUTE. Ezért az U1 felhasználó létrehozhat egy tárolt eljárást, majd elérheti a tiltott T1 objektumot a tárolt eljárásból.
Az U1 felhasználónak CREATE SYNONYM jogosultságai vannak az adatbázisban és a SELECT az S1 sémában. Ezért az U1 felhasználó létrehozhat szinonimát a tiltott T1 objektumhoz az S1 sémában, majd elérheti az objektumot szinonimával.
Az U1 felhasználónak CREATE VIEW engedélye van az adatbázisban és a SELECT az S1 sémában. Ezért az U1 felhasználó létrehozhat nézeteket az S1-ben, hogy adatokat kérjen a T1 tiltott objektumból, majd ezt a nézetet használva elérje ezt az objektumot.
Az engedéllyel rendelkező objektumnak (vagy az AS paraméter által meghatározott résztvevőnek) vagy a GRANT OPTION által kiadott engedélynek kell lennie, vagy annak a magasabb szintű engedélynek, amelyből a megadott engedély származik.
Ha az AS paramétert használják, a következő további követelmények lépnek életbe.
További engedélyre van szüksége
Adatbázis felhasználó
IMPERSONATE engedély a felhasználóhoz, a db_securityadmin rögzített adatbázis-szerepben való tagság, a db_owner fix adatbázis-szerepkörbe való tagság vagy a sysadmin fix szerver szerepkörben való tagság.
Adatbázis-felhasználó leképezve a Windows bejelentkezéshez
IMPERSONATE engedély a felhasználóhoz, a db_securityadmin rögzített adatbázis-szerepben való tagság, a db_owner fix adatbázis-szerepkörbe való tagság vagy a sysadmin fix szerver szerepkörben való tagság.
A Windows csoporthoz rendelt adatbázis-felhasználó
Tagság egy Windows csoportban, tagság a db_securityadmin fix adatbázis-szerepkörben, tagság a db_owner fix adatbázis-szerepkörben, vagy tagság a sysadmin fix szerver szerepkörben.
A tanúsítványhoz társított adatbázis-felhasználó
Tagság a db_securityadmin rögzített adatbázis-szerepkörben, a db_owner fix adatbázis-szerepben való tagság vagy a sysadmin fix szerver szerepkörben való tagság.
Az adatbázis-felhasználó egy aszimmetrikus kulcsra van leképezve
Tagság a db_securityadmin rögzített adatbázis-szerepkörben, a db_owner fix adatbázis-szerepben való tagság vagy a sysadmin fix szerver szerepkörben való tagság.
Az adatbázis-felhasználó nincs leképezve bármely tagszervernek
IMPERSONATE engedély a felhasználóhoz, a db_securityadmin rögzített adatbázis-szerepben való tagság, a db_owner fix adatbázis-szerepkörbe való tagság vagy a sysadmin fix szerver szerepkörben való tagság.
Adatbázis szerep
A szerephez társított ALTER engedély, a db_securityadmin rögzített adatbázis-szerepben való tagság, a db_owner fix adatbázis-szerepkörbe való tagság vagy a sysadmin fix szerver szerepkörben való tagság.
A szerephez társított ALTER engedély, a db_securityadmin rögzített adatbázis-szerepben való tagság, a db_owner fix adatbázis-szerepkörbe való tagság vagy a sysadmin fix szerver szerepkörben való tagság.
A tárgy tulajdonosai engedélyt adhatnak arra, hogy dolgozzanak az általuk birtokolt tárgyakkal. Azok a résztvevők, akiknek a CONTROL engedélye a védett objektumhoz kapcsolódik, engedélyt adhatnak az objektummal való együttműködésre.
Olyan entitások, amelyekre a CONTROL SERVER engedélyt kapott, például a rendszergazdai szerver szerepkörének elemei. engedélyt adhat minden védett kiszolgáló objektummal való együttműködésre. Azok az entitások, amelyek az adatbázishoz társított CONTROL engedélyhez kaptak hozzáférést, például az adatbázist db_owner fix adatbázis-szerepkörrel, engedélyezhetik bármilyen engedélyt az adatbázisban található bármely védett objektummal való együttműködésre. A sémához társított CONTROL engedélytulajdonosok engedélyt adhatnak a sémában található bármely objektummal való együttműködésre.