Transact-sql, szerepek
Ha több felhasználó kell elvégezni ezeket a műveleteket egy adott adatbázis, és ebben az esetben nem a csoport tagjai a Windows, akkor adatbázis szerepek, egy csoportját definiálja adatbázis felhasználók, akik hozzáférhetnek az azonos adatbázis-objektumokat.
Az adatbázis-szerep tagjai a következők bármelyikének lehetnek:
csoportok és Windows-fiókok;
bejelentkezési nevek az SQL Serverben;
Az Adatbázis-rendszer biztonsági architektúrája több olyan "rendszer" szerepkörrel rendelkezik, amelyek speciális, kifejezett jogosultságokkal rendelkeznek. A felhasználók által definiált szerepeken kívül kétféle előre definiált szerep létezik: állandó szerver szerepkörök és rögzített adatbázis-szerepek.
Fix szerver szerepkörök
A fix szerver szerepkörök a kiszolgáló szintjén vannak meghatározva, ezért az adatbázis-kiszolgáló tulajdonában lévő adatbázisokon kívül találhatók. Az alábbi táblázat felsorolja a rögzített kiszolgálói szerepköröket és azoknak a műveleteknek a rövid leírását, amelyeket ezeknek a szerepeknek a tagjai végezhetnek:
Fix szerver szerepkörök
Fix szerver szerepkör
A fix szerver szerepkör tagjai kétféle módon bővíthetők és törölhetők:
a Management Studio környezet használatával;
a Transact-SQL nyelvének utasításait használva.
Ahhoz, hogy hozzá egy felhasználói nevet tagjaként a rögzített kiszolgáló szerepét médiumon keresztül Management Studio, az Object Explorer, az a kiszolgáló-csomópont, saját „Biztonság” mappát, és a „Bejelentkezések”, bontsa ki. Válassza ki azt a felhasználónevet, amelyhez módosítani szeretné a szerepét, kattintson a jobb egérgombbal, és válassza a Tulajdonságok parancsot a helyi menüből. A megnyíló Bejelentkezés tulajdonságai ablakban kattintson a Szerver szerepkör fülre, ahol megadhatja vagy törölheti egy felhasználót egy fix szerepkörben:
A tagok rögzített kiszolgálói szerepkörökhöz való hozzáadásához és eltávolításához használja a Transact-SQL CREATE SERVER ROLE és DROP SERVER ROLE utasításokat. A szervezeti szerepkör tagságának megváltoztatásához használja az ALTER SERVER ROLE kifejezést.
A rögzített szerver szerepeket nem lehet hozzáadni, törölni vagy átnevezni. Ezenkívül csak a fix szerver szerepkörű tagok végezhetnek rendszerparamétereket a regisztrációs név szerepeltetéséhez vagy eltávolításához.
A bejelentkezési név sa
A sa login nevet csak akkor kell használni, ha nincs más módja az adatbázis rendszerbe való belépéshez.
Fix adatbázis-szerepek
A rögzített adatbázis-szerepek az adatbázis szintjén vannak meghatározva, ezért minden egyes adatbázisban léteznek az adatbázis-kiszolgáló. Az alábbi táblázat felsorolja a rögzített adatbázis-szerepköröket, valamint azoknak az intézkedéseknek a rövid leírását, amelyeket ezeknek a szerepeknek a tagjai végezhetnek.
Fix adatbázis-szerepek
Fix adatbázis-szerep
Azok a felhasználók, akik nem tudnak adatokat módosítani az adatbázisban
A fix adatbázis-szerepkör tagjai különböző tevékenységeket hajthatnak végre. Az egyes rögzített adatbázis-szerepkör tagjai által végzett műveletekről részletes információ az online dokumentációban található.
Fix adatbázis szerep nyilvános
A táblázatban felsorolt rögzített adatbázis-szerepkörökön kívül speciális rögzített szerep jut az állami adatbázisban. Az állami adatbázis rögzített szerepe különleges szerepet tölt be, amelyhez az adatbázis valamennyi jogos felhasználója tagja. Ez kiterjed az adatbázis-felhasználók összes alapértelmezett engedélyére. Ez lehetővé teszi minden olyan felhasználó számára, akik nem rendelkeznek a jogosultságok (általában korlátozott) engedélyeinek engedélyezéséhez. A nyilvános szerepkör biztosítja az alapértelmezett engedélyeket az adatbázis-felhasználók számára, és nem távolítható el. A felhasználók, csoportok vagy szerepek nem rendelhetők tagsághoz ebben a szerepben, mert alapértelmezés szerint rendelkeznek.
Alapértelmezés szerint a nyilvános szerepkör lehetővé teszi a felhasználók számára az alábbi műveletek végrehajtását:
nézze meg a rendszerszintű táblázatokat és megjelenítse az adatokat a mester rendszer adatbázisából bizonyos rendszer eljárások alkalmazásával;
végrehajtani azokat az utasításokat, amelyekhez nincs szükség engedélyre, például PRINT.
Felhasználó hozzárendelése egy fix adatbázis szerephez
A Felhasználó az adatbázishoz tagság rögzített adatbázis szerepe segítségével a környezet Management Studio, bontsa ki a szerver, és a mappa „adatbázisok”, és benne egy adatbázisba, majd nyissa meg a mappát „Biztonság”, „Szerepek” és a mappa „adatbázisok szerepek”. Kattintson a jobb gombbal arra a szerepkörre, amelyhez hozzá kívánja adni a felhasználót, és válassza a Tulajdonságok parancsot a helyi menüből. Az Adatbázis szerepkör tulajdonságai párbeszédpanelen kattintson a Hozzáadás gombra, és válassza ki azokat a felhasználókat, akiknek a tagságot hozzá kívánja rendelni. Ez a felhasználó most tagja ennek az adatbázis-szerepnek, és örökölte az összes szerephez tartozó hozzáférési paramétert.
Alkalmazási szerepek
Az Alkalmazás Szerepek lehetővé teszik a konkrét alkalmazások biztonságának érvényesítését. Más szóval, az alkalmazási szerepek lehetővé teszik, hogy az alkalmazás felelősséget vállaljon a felhasználói hitelesítésért, nem pedig az adatbázis rendszerért. Például ha a vállalati alkalmazottak csak egy alkalmazáson keresztül tudják módosítani az alkalmazottak adatait (nem Transact-SQL vagy más nyelven), létrehozhat egy alkalmazás szerepkört az alkalmazáshoz.
Az alkalmazási szerepek jelentősen eltérnek minden más típusú szerepkörtől. Először is, az alkalmazási szerepköröknek nincsenek tagjai, mert csak alkalmazásokat használnak, ezért nem kell engedélyt adniuk közvetlenül a felhasználóknak. Másodszor, jelszó szükséges az alkalmazás szerepének aktiválásához.
Amikor az alkalmazás aktiválja az alkalmazás alkalmazás szerepét, ez a munkamenet elveszti az összes hozzáférési nevekre, felhasználói fiókokra, felhasználói csoportokra vagy szerepekre vonatkozó engedélyeket az összes adatbázisban. Mivel ezek a szerepek csak abban az adatbázisban érvényesek, amelyben tartózkodnak, a munkamenet csak egy hozzáférési adatbázis hozzáférési jogosultságán keresztül férhet hozzá egy másik adatbázishoz. Ezért, ha az adatbázis nem rendelkezik vendégfelhasználóval, a munkamenet nem érheti el ezt az adatbázist.
A következő két alfejezet leírja az alkalmazási szerepek kezelését.
Alkalmazás szerepek kezelése a Management Studio segítségével
Alkalmazás szerepkör létrehozása az Igazgatótanács használatával bontsa ki a kiszolgáló csomópontot, az "Adatbázisok" mappát, a szükséges adatbázist, a "Biztonság" mappát. Kattintson a jobb gombbal a Szerepkörök mappára, válassza az Új parancsot a helyi menüből, és válassza az Új alkalmazás szerepkör elemet az almenüből. A megnyíló Alkalmazáselem-új párbeszédpanelen írja be az új alkalmazás szerepét, a jelszavát és adott esetben az alapértelmezett sémát a megfelelő mezőkben. A szerep mentéséhez kattintson az OK gombra.
Alkalmazás szerepek kezelése a Transact-SQL utasításokon keresztül
Létrehozására, módosítására és törlésére alkalmazás szerepek alkalmazása használati nyelv-SQL létrehozása az alkalmazáshoz szerepet ALTER ALKALMAZÁS ROLE, és DROP ALKALMAZÁS ROLE volt.
A CREATE APPLICATION ROLE utasítás. amely létrehozza az aktuális adatbázis alkalmazási szerepét, két paraméterrel rendelkezik. Az első paraméter megadja a szerepkör jelszavát, és a második paraméterben - az alapértelmezett sémát, azaz. Az első olyan séma, amellyel a szerver kapcsolatba léphet az objektumnevek megoldásához.
A következő példa bemutatja, hogyan lehet létrehozni a SampleDb adatbázisban a WeeklyReports alkalmazás szerepét:
Az ALTER APPLICATION ROLE utasítással módosíthatja a meglévő alkalmazás-szerepkör alapértelmezett nevét, jelszavát vagy sémáját. A nyilatkozat szintaxisa nagyon hasonlít a CREATE APPLICATION ROLE utasítás szintaxisához. Ahhoz, hogy futtassa az ALTER APPLICATION ROLE kifejezést ehhez a szerephez, meg kell adnia az ALTER engedélyt.
Alkalmazás szerepkörének törléséhez használja a DROP APPLICATION ROLE kifejezést. Az alkalmazás szerepe nem törölhető, ha bármely objektumot (védett objektumot) birtokol.
Alkalmazási szerepkörök aktiválása
A kapcsolat létrehozásakor a sp_setupprole rendszer rutint kell végrehajtania. Az alkalmazás szerephez társított jogosultságok aktiválása. Ez az eljárás a következő szintaxissal rendelkezik:
A szerepparaméter meghatározza az aktuális adatbázisban definiált alkalmazás szerepkörének nevét, a szerephez tartozó jelszóparamétert, és a titkosító_stílus paraméter adja meg a jelszóhoz megadott titkosítási módot.
Amikor az alkalmazásfájlt a sp_setupprole rendszer eljárással aktiválja, vegye figyelembe a következőket:
Az aktuális alkalmazás nem aktiválható az aktuális adatbázisban, amíg a kapcsolat nem kapcsolódik a rendszerhez;
Az alkalmazás szerepe mindig kapcsolódik az adatbázishoz, azaz annak hatályát a jelenlegi adatbázis korlátozza. Ha az aktuális adatbázist egy munkamenet alatt módosítja, akkor képes lesz olyan műveleteket végrehajtani, amelyek az adatbázisban megadott jogosultságoktól függenek.
Felhasználó által meghatározott kiszolgálói szerepkörök
Felhasználó által meghatározott adatbázis-szerepek
Jellemzően a felhasználó által definiált adatbázis-szerepek akkor alkalmazandók, amikor az adatbázis-felhasználói csoportnak közös műveletsort kell végrehajtania az adatbázisban, és nincs érvényes Windows-felhasználói csoport. Ezeknek a szerepköröknek a létrehozásához, módosításához és törléséhez a CREATE ROLE, az ALTER ROLE és a DROP ROLE a Transact-SQL nyelvvizsgákat használják. A felhasználó által definiált adatbázis-szerepek kezelése a következő két alfejezetben található.
A felhasználó által definiált adatbázis-szerepek kezelése a Management Studio segítségével
A felhasználó által definiált adatbázis szerepkör létrehozásához a Management Studio környezetben bontsa ki a kiszolgáló csomópontot, az Adatbázisok mappát, a szükséges adatbázist, a Biztonság mappát. Kattintson a jobb gombbal a Szerepkörök mappára, válassza az Új parancsot a helyi menüből, és válassza az Új adatbázis szerepkör elemet az almenüből. A megnyíló Adatbázis szerep - Új párbeszédpanelen írja be az új szerepkör nevét a megfelelő mezőbe:
Kattintson a Hozzáadás gombra a tagok új szerepkörhöz való hozzáadásához. Jelölje ki az új adatbázis szerepkörhöz szükséges tagokat (felhasználók és / vagy egyéb szerepek), majd kattintson az OK gombra.
A felhasználó által definiált adatbázis-szerepek kezelése a Transact-SQL utasításokkal
Új, felhasználó által definiált adatbázis-szerepkör létrehozása a jelenlegi adatbázisban a CREATE ROLE utasítással. Az állítás szintaxisa így néz ki:
A role_name paraméter adja meg a létrehozott felhasználó által definiált szerep nevét, és a owner_name paraméterben az adatbázis felhasználóját vagy az új szerep szerepét betöltő szerepet. (Ha a felhasználó nincs megadva, a szerep tulajdonosa lesz a CREATE ROLE utasítás végrehajtása.)
Az ALTER ROLE utasítással megváltoztathatja a felhasználó által definiált adatbázis szerepkör nevét. és eltávolítani a szerepet az adatbázisból, a DROP ROLE utasításból. A védett objektumok (pl. Adatbázis-objektumok) tulajdona nem törölhető. E szerep eltávolításához először módosítania kell az objektumok tulajdonosát.
A következő példa bemutatja, hogyan hozzon létre egy felhasználó által definiált adatbázis szerepkört, és hozzon hozzá tagokat:
Ebben a példában először hozza létre a marketing adatbázis felhasználói által definiált szerepét, majd az ALTER ROLE nyilatkozat ADD MEMBER záradéka két tagot ad hozzá hozzá - Vasya és ProfessorWeb \ Alexandr.