Upload
thurston-love
View
19
Download
0
Embed Size (px)
DESCRIPTION
15. tétel Adatbázis felhasználói és jogosultságaik. SEGÉDLET VÉGÉN!!!!. - PowerPoint PPT Presentation
Citation preview
15. tétel
Adatbázis felhasználói és jogosultságaik
SEGÉDLET VÉGÉN!!!!
ADATBÁZIS ALAPFOGALMAK
Adat: A adat értelmezhető (észlelhető, érzékelhető, felfogható és megérthető) személytelen,objektív, feldolgozótól független ismeret. Az adat az információ hordozója, vagyis tények, fogalmak feldolgozására alkalmas reprezentációja.
Információ: az adatnak valamilyen megjelenése, új ismeretté értelmezett adat. Az információ mindig személyes.
Adatbázis: felesleges redundancia nélkül közösen tárolt, egymással kapcsolatban lévő adatok halmaza.
Adatbázis-kezelő rendszer: biztosítja az adatbázisban tárolt adatoklétrehozását, kezelését, valamint leírja és kezeli az adatok közötti komplex kapcsolatokat.Az adatbáziskezelő rendszernek támogatnia kell valamilyen adatmodellt.
Adatmodell: az adathalmaz elemei között fennálló kapcsolatok struktúrális leírása. Az adatmodellezéssel az a cél, hogy egy információs rendszer adatait és az adatok között fennálló kapcsolatokat következetesen ábrázolva, elősegítsük a számítógépes információfeldolgozást.
ALAPFOGALMAK
Adatbázis-kezelő rendszer:egy szoftver, amely biztosítja az adatbázisban tárolt adatok létrehozását, kezelését, valamint leírja és kezeli az adatok közötti komplex kapcsolatokat. Az adatbázis-kezelő rendszernek támogatnia kell valamilyen adatmodellt, hogy a valóságot le tudja képezni egy számunkra megfogható objektumra.Mit kell biztosítania:· Egy megfelelő módon leírt adatfeldolgozás végrehajtását. (adatbázis létrehozása,módosítása, törlés)· Adatbázis következetességét (csak valós adatokat tároljunk)· Az adatok közti komplex kapcsolatok kezelését és ábrázolását.· Az adatbázis valamennyi adatának elérését· Az adatok védelmét, titkosítását· A hozzáférési jogok kezelését· Adatfüggetlenséget· A redundancia –menteséget és annak ellenőrzését· Az adatbázis integritásának karbantartását· Helyreállíthatóságot· Többfelhasználós rendszerekben az egyidejű hozzáférést· Osztott adatbázisokban az adatok szétosztását, megtalálását· Adatforgalom optimalizálását
SQL utasítás csoportok
CREATE - táblák létrehozásaALTER – táblák módosításaDROP – táblák törlése
DDL –Data Definition Language DML – Data Manipulation Language
INSERT INTO - adatbevitelUPDATE – adatok módosításaDELETE – sorok(adatok) törlése
DQL –Data Query Language
SELECT - lekérdezések
DCL –Data Controll Language
CONNECT TO - csatlakozás, DISCONNECT - kilépésGRANT jogok TO PUBLIC – hozzáférési jogok adásREVOKE jogok FROM PUBLIC– jogok visszavonásaLOCK – tábla zárolás UNLOCK – zár feloldásaCOMMIT – módosítások érvényesítéseROLLBACK – módosítások visszavonása
A felhasználók minden tevékenységét a jogosultsági rendszer ellenőrzi.
- a jogosultsági rendszer lehet hierarchikus vagy egyszintű- hierarchikus jogosultsági rendszer esetén csoportok és alcsoportok
képezhetők, egyszintű jogosultsági rendszer esetén szerepkörök (Role) alakíthatók ki
- A csoportoknak és a szerepeknek részletesen szabályozhatók a jogaik. a hozzáférés engedélyezése6tiltása az adatbázis objektumaihoz
- legalapvetőbb jogosultságok. olvasás, futtatáa, módosítás, törlés, szerkezet megváltoztatása
- egy felhasználó több csoportba, szerepbe is besorolható- a jogosultsági rendszernek világosan le kell írnia, hogy egymásnak
ellentmondó jogok közül, melyik jut érvényre
A feladatot megoldó SQL parancsok: SEGÉDLET!!!!!
Felhasználói jogosultságok
A DCL nyelv a jogok, jogosultságok parancsaira korlátozódik. Az adatbázis-kezelés egyik alapvető feltétele az, hogy az adatbázist több felhasználó is használhatja akár egy időben is, és adataikat letárolhatják. Az adatbázis így több különböző felhasználó adatait tárolja együttesen, ebből kifolyólag az adatbázis-kezelő rendszernek gondoskodnia kell arról, hogy mindenki csak azokat a műveleteket végezhesse el, amelyekre jogosult, vagyis csak a jogosult adatokhoz férhessen hozzá.
Hozzáférési jogosultságokAz adatbázishoz való hozzáférés szabályozása:Az SQL rendszerekben minden felhasználónak van egy azonosítója, és
egy jelszava. Így minden felhasználóhoz könnyen rendelhető egy
jogosultsági kör. A felhasználó egy
CONNECT TO adatbázisnév USER felhasználónév; utasítással tud az adott adatbázishoz kapcsolódni.
Ahhoz, hogy egy adatbázist aktiváljunk, egy újabb parancsra van szükség:
SET CONNECTION DEFAULT adatbázisnév;A létrehozott kapcsolatot, pedig a következő utasítással szüntethetjük
meg:
DISCONNECT adatbázisnév (ALL/CURRENT);
Felhasználói jogosultságokAz SQL rendszerekben minden objektumnak, vagyis adatbázis elemnek
van egy tulajdonosa, ez pedig, az a felhasználó, aki létrehozta. A jogosultságok megadása a GRANT utasítással történik, melyben meg kell adni, hogy mely táblára, mely műveletre, és kinek engedélyezzük. Az egyes felhasználóknak kétféle jogot adhatunk:
- adatbázisra vonatkozót
GRANT adatbázisjog TO PUBLIC felhasználói nevek listája; - adatbázis elemre vonatkozót
GRANT műveleti jog ON adatbáziselem neveTO PUBLIC felhasználói nevek listája WITH GRANT OPTION;
A parancssorokban szereplő PUBLIC kulcsszó használata következtében valamennyi felhasználó kap jogot, egyéb esetben csak az utasításban felsorolt felhasználók, vagy felhasználói csoportok. A WITH GRANT OPTION záradék lehetővé teszi, hogy a felhasználó, a kapott jogait más felhasználóknak továbbadhassa. Tehát ezek után bárki megszerezheti a jogokat.
Adatbázisra vonatkozó jogok:
CONNECT: kapcsolódás az adatbázishoz és a négy adatkezelési művelet (adatbevitel, módosítás, törlés, lekérdezés) használatának engedélyezése
RESOURCE: adatbáziselemek létrehozásának, és megszűntetésének joga, továbbá az adatbázis kezelési joga
DBA: az adatbázissal kapcsolatos bármilyen művelet elvégzésére vonatkozó jog, beleértve ebbe az adatbázis megszűntetését is.
Adatbáziselemekre vonatkozó jogok :
• ALL: az összes az alábbiakban felsorolt jog • ALTER: táblák illetve nézettáblák megváltoztatási joga • DELETE: sorok törlésére vonatkozó jog • INDEX: táblázat indexelésének, illetve az index megszűntetésnek joga • INSERT: új sorok bevitelére vonatkozó jog • SELECT oszlopnév-lista: a felsorolt oszlopok, vagy azok hiányában a
tábla valamennyi oszlopára vonatkozó lekérdezési jog • UPDATE oszlopnév-lista: a felsorolt oszlopok, vagy azok hiányában a
tábla valamennyi oszlopára vonatkozó módosítási jog • REFERENCES oszlopnév-lista: a felsorolt oszlopokra, vagy azok
hiányában a tábla valamennyi oszlopára vonatkozó hivatkozási jog
Az adatbázisra, vagy annak elemeire vonatkozó jogoknak mindig összhangban kell lenniük, de mindig az adatbáziselemre vonatkozó jogok az erősebbek.
Adatbázis jogok visszavonása:
REVOKE adatbázisjog FROM PUBLIC felhasználói nevek listája
Műveletijogvisszavonása:
REVOKE műveleti jog ON adatbáziselem neve FROM PUBLIC felhasználó nevek listája;
HOZZÁFÉRÉSI ZÁRAK KEZELÉSE
Az adatbázis-kezelő rendszerek egyik kiváltsága, hogy adatbázis területeket, adatlapokat, vagy sorokat automatikusan tudnak zárolni. Szükség esetén a felhasználó is kezdeményezheti a zárolást. Az SQL nyelv csak teljes táblázat zárolását engedélyezi, táblázatsorokét nem. Egy táblázat zárolásának kezdeményezésére szolgáló utasítás a LOCK TABLE, mely a következő:
LOCK TABLE táblanév IN (SHARE/EXCLUSIVE) MODE;
Az utasításban szereplő SHARE kulcsszó használatával egyszerre több felhasználó tud az adott táblából lekérdezni, de módosítani nincs lehetőségük. Az EXCLUSIVE kulcsszó használatával a táblázatot, a zárolást kezdeményező felhasználó kizárólagosan használhatja, és felújítási műveleteket is hajthat végre rajta.
A gyakorlatban az egyes zárolások visszavonására szükség lehet néha, melyre az UNLOCK TABLE utasítás szolgál.
UNLOCK TABLE táblanév;
TRANZAKCIÓK KEZELÉSE
A vezérlő utasításokhoz szokás sorolni a művelet végrehajtást szabályozó, más néven az úgynevezett tranzakció kezelő utasításokat. Az SQL szabványban két, a tranzakció végét jelző utasítást szokás definiálni. Az egyik utasítás a tranzakció sikeres befejezését jelenti, míg a másik a korábban végrehajtott tevékenységek visszavonását, azaz a megsemmisítését végzi.
Az első, vagyis a tranzakció sikeres befejezésére a COMMIT utasítás szolgál. Ennek hatására véglegesítődnek a korábban végrehajtott tevékenységek. Ezzel szemben a másik utasítás, a ROLLBACK hatására a korábbi tevékenységek érvénytelenítődnek. Segítségével például egy hibával félbeszakadt műveletsort lehet töröltetni.
Felhasználók kezelése, felhasználói jogosultságok szabályozása
Rendszergazda (DBA: Database Administrator): felügyeli az egész rendszer működését, munkáját speciális programok (és SQL scriptek) segítik.
Feladatai: Felhasználók felvétele, jogosultságaik kiosztása, gazdálkodás az erőforrásokkal, rendszerhibák kiküszöbölése, mentések, visszatöltések, a rendszer működésének figyelése, hangolása, stb. A rendszer installálása után a DBA ezen teendők elvégzéséhez szükséges jogokat megkapja.
DBA veszi fel az új felhasználókat a rendszerbe:
CREATE USER felhasználó_név
IDENTIFIED BY jelszó
[tárolási tartomány, erőforrás korlátozások, profilok];
Módosítás, törlés az ALTER USER …; DROP USER …; parancsokkal végezhető el.
A felhasználó is használhatja ezt az utasítást de csak a saját jelszavának módosítására:
ALTER USER felhasználó_név
IDENTIFIED BY jelszó;
DBA írja elő, hogy a felhasználó mit csinálhat a rendszerben, azaz milyen jogai vannak. ORACLE-ben minden felhasználóhoz kapcsolódik automatikusan egy séma (SCHEMA), amely
a felhasználó által definiált (CREATE …) adatbázis objektumokat foglalja magába. A séma
neve azonos a felhasználói névvel.
Felhasználók kezelése, felhasználói jogosultságok szabályozása
Rendszergazda (DBA: Database Administrator): felügyeli az egész rendszer működését, munkáját speciális programok (és SQL scriptek) segítik.
Feladatai: Felhasználók felvétele, jogosultságaik kiosztása, gazdálkodás az erőforrásokkal, rendszerhibák kiküszöbölése, mentések, visszatöltések, a rendszer működésének figyelése, hangolása, stb. A rendszer installálása után a DBA ezen teendők elvégzéséhez szükséges jogokat megkapja.
DBA veszi fel az új felhasználókat a rendszerbe:
CREATE USER felhasználó_név
IDENTIFIED BY jelszó
[tárolási tartomány, erőforrás korlátozások, profilok];
Módosítás, törlés az ALTER USER …; DROP USER …; parancsokkal végezhető el.
A felhasználó is használhatja ezt az utasítást de csak a saját jelszavának módosítására:
ALTER USER felhasználó_név
IDENTIFIED BY jelszó;
DBA írja elő, hogy a felhasználó mit csinálhat a rendszerben, azaz milyen jogai vannak. ORACLE-ben minden felhasználóhoz kapcsolódik automatikusan egy séma (SCHEMA), amely
a felhasználó által definiált (CREATE …) adatbázis objektumokat foglalja magába. A séma
neve azonos a felhasználói névvel.