Nádasiné Rákossy Gabriella
Adatbázis-kezelés - Jogosultság kezelés adatbázisokban
A követelménymodul megnevezése:
Informatikai ismeretek A követelménymodul száma: 1155-06 A tartalomelem azonosító száma és célcsoportja: SzT-004-50
ADATBÁZIS-KEZELÉS -JOGOSULTSÁG KEZELÉS ADATBÁZISOKBAN
JOGOSULTSÁG KEZELÉS ADATBÁZISOKBAN
ESETFELVETÉS – MUNKAHELYZET Ön egy autókat árusító cégnél dolgozik rendszergazdaként. Megbízást kap, hogy a vásárlásokat rögzítő adatbázishoz különböző felhasználói csoportokat hozzon létre, és állítsa be a különböző műveletekhez való jogaikat. A
továbbiakban
megismerkedünk
az
adatbázisok
biztonságát
segítő
jogosultságok
kezelésével.
SZAKMAI INFORMÁCIÓTARTALOM ADATVÉDELEM Egy cég vagy magánszemély valamely rendszerben tárolt, nem publikus adatainak illetéktelen hozzáféréstől való védelmét, valamint a fontos információk folyamatos rendelkezésre állásának biztosítását adatvédelemnek nevezzük. Alapja a felhasználók azonosítási és az információk hitelesítési folyamatának kialakítása. Az adatvédelmet a következő eszközökkel tudjuk biztosítani: -
A hozzáférés-jogosultság rendszerének felépítése, a jogosultság kiosztása.
-
A hozzáférés-ellenőrzés rendszerének megvalósítása.
-
A nyilvántartások rendszerének és folyamatának kialakítása.
-
Megbízható működés, valamint az adatok sértetlenségének biztosítása.
-
Szisztematikus, rendszeres adatmentés.
-
Az esetlegesen fellépő szoftver- vagy hardverhibák ellenőrzése és elhárítása.
-
Az esetlegesen megsérült adatok gyors helyreállításának biztosítása.
Az adatvédelem kidolgozása során érdemes több biztonsági fokozatot kialakítani az adatok fontosságától függően, így különböző biztonsági kategóriába sorolhatjuk a személyes, illetve pénzügyi adatokat, egy másikba a szolgálati titkokat, a nagy mennyiségű személyes adatokat, és egy újabb kategóriát képezhetnek az államtitkok, valamint különféle emberek személyes adatait tartalmazó adatbázishoz való hozzáférés.
1
ADATBÁZIS-KEZELÉS -JOGOSULTSÁG KEZELÉS ADATBÁZISOKBAN
ADATBIZTONSÁG Az
adatbiztonság
a
felhasználók
egyedi
azonosításán
és
jogosultságainak
pontos
definiálásán alapul. A biztonsági, védelmi szempontokat, követelményeket egységes rendszerbe foglaltan kell kezelni, és ki kell alakítani a megfelelő megoldásokat. Az adatok biztonságát a következő szempontok befolyásolják: -
A felhasználó személyének azonosítása annak érdekében, hogy csak a jogosultak férjenek az információhoz.
-
A dokumentumok hitelességének biztosítása, hogy az eredetiség megállapítható legyen. Ennek érdekében alakítják ki a digitális aláírás rendszerét, a hitelesítő szervezeteket.
-
Az illetéktelen hozzáférés korlátozása.
-
A megfelelő jelszavak, illetve jelszókezelés rendjének kialakítása, amely szabályozza a hozzáférési jogosultságot.
-
A hálózatok belső védelmének biztosítása biztonságos architektúrákkal, tűzfalakkal.
-
A kiszolgáló és hálózatvezérlő eszközök fizikai biztonságának megoldása.
Az adatbázisokon alapuló információs rendszerek egyik lényeges vonása, hogy a bennük tárolt információkat védeni kell. Az információs rendszernek úgy kell működnie, hogy mindenki csak a jogosultsági körébe eső adatokat érhesse el. Az információ védelme nem kizárólagosan az adatbázis-kezelő rendszerek feladataihoz kapcsolódik, hiszen az informatika szinte minden területén szükség van az ott feldolgozott információk jogosulatlan felhasználásának megakadályozására. Az operációs rendszereknél is találkozunk a védelem legkülönbözőbb megjelenési formáival. Rögtön az induláskor a rendszerhez való hozzáférést csak akkor kapjuk meg, ha azonosítjuk magunkat, mint jogosult felhasználó egy azonosító név és egy jelszó segítségével. A legfontosabb védelmi eszközök: -
Bejelentkezés ellenőrzés, login account
-
Hozzáférés ellenőrzés, access control
-
Következtetési ellenőrzés, inference control
-
Adatáramlás ellenőrzés, flow control
-
Titkosítás, cryptologhy
-
Naplózás, audit
Ezek az eszközök rendszerint együtt, egymáshoz kapcsolódóan jelennek meg a relációs adatbázis-kezelő rendszerek védelmi rendszerében. A védelmi rendszer a kiépítettségtől függően néhány vagy éppen mindegyik elemét tartalmazza a fenti listának. E rendszerek együttesen gondoskodnak a hozzáférési védelem biztosításáról.
2
ADATBÁZIS-KEZELÉS -JOGOSULTSÁG KEZELÉS ADATBÁZISOKBAN
MS ACCESS 2003 ADATBIZTONSÁGA A Microsoft Access felhasználói szintű adatvédelme nagyon hasonlít a kiszolgáló alapú rendszerekben látható védelmi mechanizmusokhoz. Jelszó és engedélyek használatával a saját adatbázisunkban lévő objektumok elérését engedélyezhetjük, vagy megtilthatjuk más személyeknek vagy csoportoknak. A biztonsági fiókok megadják azokat a felhasználókat és csoportokat, akik/amelyek tagjai hozzáférhetnek az adatbázis objektumaihoz. Ezeknek az adatoknak az elnevezése munkacsoport, és tárolása a munkacsoport-információs fájlban történik. A védelem legegyszerűbb módja az adatbázis kódolása, amely tömöríti az adatbázisfájlt, és olvashatatlanná teszi a segédprogramok vagy szövegszerkesztők számára. A védelem nélküli adatbázis kódolásának nincs értelme, hiszen az adatbázist bárki megnyithatja, és teljes hozzáférése van annak valamennyi objektumához. A kódolás akkor lehet hasznos, ha az adatbázist például elektronikus úton továbbítjuk, de minden más esetben ajánlott védelmi módszereket alkalmazni. Ha az Accessben adatbiztonsági beállításokat akarunk elvégezni, akkor az Eszközök menüpont Biztonság almenüpontját kell használni.
1. ábra. Biztonsági beállítások
1. Adatbázisjelszó beállítása Az adatbázisok védelmének egyik egyszerű módja, ha jelszó megadásához kötjük a Microsoft Access adatbázis megnyitását. Ha beállítottunk valamilyen jelszót, az adatbázis minden egyes megnyitásakor megjelenik egy párbeszédpanel, amely azt bekéri. Csak a helyes jelszót beíró felhasználók nyithatják meg az adatbázist. Ha azonban az adatbázis meg van nyitva, a felhasználók számára minden objektum hozzáférhető (hacsak nem használunk más biztonsági eljárást). Felhasználók kis csoportja által közösen használt vagy különálló számítógépeken tárolt adatbázis esetén általában elegendő lehet a jelszó beállítása, viszont az Access az adatbázisjelszót nem titkosított formában tárolja, és ez veszélyeztetheti a jelszóval védett adatbázis biztonságát.
3
ADATBÁZIS-KEZELÉS -JOGOSULTSÁG KEZELÉS ADATBÁZISOKBAN A jelszó beállításához az adatbázist kizárólagos módban kell megnyitni (ezt úgy tehetjük meg, ha a megnyitás párbeszédpanelen a megnyitás gomb jobb oldalán lévő nyilánál a kizárólagos parancsot választjuk). Majd ezek után az Eszközök menü Biztonság almenüjéből az Adatbázisjelszó beállítása parancsot választjuk.
2. ábra. Adatbázisjelszó beállítása
2. Munkacsoport-adminisztrátor Az Access felfogása szerint az a felhasználócsoport, amely közös adatokon és egy munkacsoport-fájllal (ez általában a SYSTEM.MDW elnevezésű állomány) dolgozik, a munkacsoport. Ez a fájl tárolja többek között a hozzáférési jogokkal kapcsolatos információkat. Lehetőség van ennek a fájlnak a biztosítására, egyedivé tudjuk tenni egy azonosítóval. Ezt az azonosítót az Eszközök menü Biztonság pontjában, majd a Munkacsoportadminisztrátor paranccsal tudjuk beállítani.
3. ábra. Munkacsoport-adminisztrátor 4
ADATBÁZIS-KEZELÉS -JOGOSULTSÁG KEZELÉS ADATBÁZISOKBAN A megjelenő párbeszédpanelen a Létrehozás gomb megnyomása után meg kell adnunk nevünket, a szervezet nevét és a munkacsoportkódot. Mindhárom adat esetében jelentősége van annak, hogy kis- vagy nagybetűket használtunk-e. Végül adjuk meg az állomány nevét és azt a mappát, ahová helyezni szeretnénk. A fentiekből következik, hogy ha olyan adatbázist szándékozunk használni, amely adatvédelemmel
rendelkezik,
először
csatlakozni
kell
a
vele
kapcsolatban
álló
munkacsoport-fájlhoz - ezt is a MS Access Munkacsoport-adminisztrátor segítségével tehetjük meg, csak most a Csatlakozás gombot kell használnunk.
3. Felhasználók és csoportok fiókjai Az adatbázis védelmének legrugalmasabb és legátfogóbb módja az ún. felhasználói szintű biztonság. Különböző hozzáférési szinteket határozhatunk meg az adatbázis bizalmas adataihoz és objektumaihoz. Az
Access-ben
az
adatbázisnak
és
az
objektumoknak
tulajdonosa
van.
Ez
alapértelmezésben a Rendszergazda nevű felhasználó, amelyet az Access telepítéskor létrehoz. Amíg az adatvédelmi beállításokat nem változtatjuk meg, minden alkalommal az Rendszergazda lesz az adatbázis felhasználója, és ennek megfelelően a tulajdonosa is. Az adatvédelem használatához be kell kapcsolni az bejelentkezési eljárást. Ha ezt megtettük, az Access minden indításakor meg kell adni egy felhasználói azonosítót és egy jelszót. A továbbiakban a bejelentkezés során megadott név dönti el, hogy a felhasználó az adatbázis mely objektumait milyen módon használhatja. Az bejelentkezési eljárást úgy kapcsolhatjuk be, hogy megváltoztatjuk a Rendszergazda felhasználó jelszavát. A jelszót megváltoztathatjuk az Eszközök menün a Biztonság pont, majd a Felhasználók és csoportok fiókjai parancsnál a Jelszó módosítása panellapon.
4. ábra. Jelszó módosítása 5
ADATBÁZIS-KEZELÉS -JOGOSULTSÁG KEZELÉS ADATBÁZISOKBAN Győződjünk meg, hogy a felhasználó neve Rendszergazda legyen! Ezután adjunk meg egy jelszót a Jelszó módosítása fülre kattintva! Régi jelszóként ne írjunk be semmit (hiszen eddig nem volt jelszava), de gépeljük be az újat kétszer egymás után. Ezzel bekapcsoltuk a bejelentkezési eljárást. Ettől kezdve az általunk is használt munkacsoport-fájlhoz csatlakozó felhasználóknak az Access indításakor ki kell tölteni a bejelentkezési párbeszédablakot. Az Access a munkacsoport-információs fájlban megkeresi az egyes felhasználókat azonosító kódot. Ez az azonosító kód és a jelszó határozza meg együtt a hozzáférés szintjét és a felhasználó által hozzáférhető objektumok körét. A
felhasználói
fiókok
meghatározott
hozzáférési
jogokat
biztosítanak
az
egyes
személyeknek az adatbázis adataihoz és egyéb információforrásaihoz. A több felhasználói fiókot tartalmazó csoportfiókkal pedig azok az engedélyek, jogok szabályozhatók és kezelhetők, amelyekkel egy adott csoport férhet hozzá az adatbázis objektumaihoz. Ezután meghatározhatunk felhasználókat és csoportokat, akik az egyes objektumokhoz különböző szintű engedélyekkel fognak rendelkezni. Felhasználói fiókok létrehozása -
A művelet végrehajtásához a Rendszergazdák csoport tagjaként kell bejelentkezni.
-
Válasszuk az Eszközök menün a Biztonság pontot, majd a Felhasználók és csoportok fiókjai parancsot!
-
A Felhasználók panellapon kattintsunk az Új gombra!
-
Az Új felhasználó/csoport párbeszédpanelen írjuk be az új fiók nevét és a személyi azonosítót, majd az új fiók létrehozásához kattintsunk az OK gombra! A fiók automatikusan a Felhasználók csoportba kerül.
5. ábra. Felhasználói fiókok létrehozása
6
ADATBÁZIS-KEZELÉS -JOGOSULTSÁG KEZELÉS ADATBÁZISOKBAN Általában egyszerűbb a biztonság kezelése, ha a felhasználókat csoportokba soroljuk, és az egyes felhasználók helyett a csoportokhoz rendelünk engedélyeket. Csoportszintű fiókok létrehozása -
A művelet végrehajtásához a Rendszergazdák csoport tagjaként kell bejelentkezni.
-
Válasszuk az Eszközök menün a Biztonság pontot, majd a Felhasználók és csoportok fiókjai parancsot!
-
A Csoport panellapon kattintsunk az Új gombra!
-
Az Új felhasználó/csoport párbeszédpanelen írjuk be az új fiók nevét és a személyi azonosítót, majd az új fiók létrehozásához kattintsunk az OK gombra!
6. ábra. Csoportszintű fiókok létrehozása
A felhasználók egyes csoportokba való felvételéhez a Felhasználók panellapon a Név mezőbe írjuk be a csoporthoz adandó felhasználó nevét, majd az Elérhető csoportok mezőben válasszuk ki a csoportot, amelyhez a felhasználót hozzá kívánjuk adni, ezután kattintsunk a Hozzáadás gombra! A kiválasztott csoport megjelenik a Tagja listában. Ezt annyiszor ismételjük meg, ahányszor a csoportba a felhasználót felvesszük! A felhasználói és a csoportfiókok létrehozása után megtekinthetők és kinyomtathatók az ezek közötti kapcsolatok. A Microsoft Access jelentést nyomtat ki a munkacsoport fiókjairól, kimutatva, hogy az egyes csoportokhoz mely felhasználók tartoznak, illetve az egyes felhasználók mely csoportokhoz tartoznak hozzá.
4. Felhasználói és csoportengedélyek Az engedélyeknek két típusa létezik: explicit és implicit. Az explicit engedélyt közvetlenül kapja meg a felhasználói fiók, ez más felhasználóra nincs hatással. Az implicit engedélyt egy csoportfiók kapja. 7
ADATBÁZIS-KEZELÉS -JOGOSULTSÁG KEZELÉS ADATBÁZISOKBAN Engedélyek beállításához válasszuk az Eszközök menü Biztonság pontját, majd a Felhasználói és csoportengedélyek parancsot!
7. ábra. Engedélyek beállítása
Ha felhasználót veszünk fel egy csoportba, akkor ő megkapja a csoportnak adott engedélyeket. Ha törlünk egy felhasználót a csoportból, akkor ezzel megfosztjuk őt a csoport engedélyeitől is. Amikor
egy felhasználó
megkísérel valamilyen
műveletet végrehajtani egy védelmi
funkciókkal ellátott adatbázis-objektumon, az összes engedélye az explicit és implicit engedélyek logikai metszetéből áll. Egy adatbázis-objektum engedélyeit a következő felhasználók változtathatják meg: -
az adatbázis létrehozásakor használatban lévő munkacsoport-információs fájl Rendszergazdák csoportjának tagjai,
-
az objektum tulajdonosa,
-
minden felhasználó, akinek Rendszergazda engedélye van az adott objektumhoz.
A következő típusú engedélyeket lehet kiadni: -
Megnyitás/futtatás: Adatbázis, űrlap és jelentés megnyitása, valamint makró futtatása az adatbázisban.
-
Terv olvasása: Táblák, lekérdezések, űrlapok, jelentések vagy makrók megtekintése Tervező nézetben.
-
Terv módosítása: Táblák, lekérdezések, űrlapok, jelentések, makrók megtekintése, módosítása és törlése.
8
ADATBÁZIS-KEZELÉS -JOGOSULTSÁG KEZELÉS ADATBÁZISOKBAN -
Rendszergazda:
Adatbázisok
esetében
a
jelszó
beállítása,
az
adatbázis
többszörözése, az indítási tulajdonságok megváltoztatása. Teljes hozzáférése van a táblákhoz, lekérdezésekhez, űrlapokhoz, jelentésekhez, makrókhoz és adataikhoz. Engedélyeket adhat ki. -
Adat olvasása: Táblák és lekérdezések adatainak megtekintése.
-
Adat frissítése: A táblák és lekérdezések adatainak megtekintése és módosítása, de beszúrása vagy törlése nem.
-
Adat beszúrása: A táblák és lekérdezések adatainak megtekintése és beszúrása, de módosítása vagy törlése nem.
-
Adat törlése: A táblák és lekérdezések adatainak megtekintése és törlése, de módosítása vagy beszúrása nem.
Objektumok tulajdonosainak beállítása Minden adatbázis és minden objektum rendelkezik tulajdonossal. Alapesetben ő hozta létre az adott adatbázist vagy objektumot. Ebből következik, hogy célszerű először azon a néven bejelentkezni, amelyet a tulajdonosként szeretnénk használni. Ha ez mégsem így történt és mégis meg kellene változtatni a tulajdonos személyét, használjuk az Eszközök menü Biztonság pontját, majd a Felhasználói és csoportengedélyek parancsot és a Tulajdonos megváltoztatása
panellapot!
A
megjelenő
párbeszédablakban
meghatározhatjuk
az
objektum új tulajdonosának nevét.
8. ábra. Tulajdonos megváltoztatása
5. Felhasználószintű adatvédelmi varázsló A Felhasználószintű adatvédelmi varázsló segít az engedélyek hozzárendelésében. Válasszuk az Eszközök menü Biztonság pontját, majd a Felhasználószintű adatvédelmi varázsló parancsot! 9
ADATBÁZIS-KEZELÉS -JOGOSULTSÁG KEZELÉS ADATBÁZISOKBAN Kövessük a varázsló utasításait! 1. Az első párbeszédpanelen be lehet állítani, hogy új munkacsoport információs fájlt akarunk létrehozni, vagy módosítjuk a már meglévőt. 2. Ezután a munkacsoport-információs fájl nevét és azonosítóját lehet megadni. 3. A következő lépésben ki lehet jelölni azokat az adatbázis-objektumokat, amelyek biztonságát nem szeretnénk, hogy ellenőrizze a varázsló. 4. Előre definiált csoportokat lehet a munkacsoport-információs fájlhoz adni. 5. Felhasználói csoportokhoz lehet engedélyeket rendelni. 6. Felhasználókat lehet hozzáadni a munkacsoport-információs fájlhoz jelszójukkal együtt. 7. Felhasználókat lehet csoportokhoz rendelni. 8. Utolsó lépésben az adatbázis nem védett biztonsági másolatának lehet nevet adni. A Felhasználószintű adatvédelmi varázsló azonos néven és .bak kiterjesztéssel biztonsági másolatot készít az aktuális Access adatbázisról, majd az aktuális adatbázisban védelemmel látja el a kijelölt objektumokat. Miután futtattuk a varázslót, kézzel engedélyeket rendelhetünk, módosíthatunk vagy vonhatunk vissza a munkacsoport felhasználói és csoportfiókjainál az adatbázis és a meglévő tábláinak, lekérdezéseinek, űrlapjainak, jelentéseinek és makróinak eléréséhez. Azokat az alapértelmezés szerinti engedélyeket is beállíthatjuk, amelyeket a Microsoft Access egy adatbázisban bármely újonnan létrehozott táblához, lekérdezéshez, űrlaphoz, jelentéshez és makróhoz rendel hozzá. A csoportok és a felhasználók számára megadott engedélyekkel lehet szabályozni, hogy a felhasználók milyen módon dolgozhatnak az adatbázis egyes tábláival, lekérdezéseivel, űrlapjaival, jelentéseivel és makróival.
ADATBIZTONSÁG SQL UTASÍTÁSOK SEGÍTSÉGÉVEL A 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. 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ó;
10
ADATBÁZIS-KEZELÉS -JOGOSULTSÁG KEZELÉS ADATBÁZISOKBAN
1. Objektum szintű jogok (hozzáférési jogok) Az objektumok használatával kapcsolatos jogok, azaz konkrét objektumokkal mit csinálhat. Minden felhasználó a saját objektumait korlátozás nélkül használhatja. Más felhasználók objektumaihoz csak konkrét jogok birtokában férhet hozzá. Hozzáférési jogokat az objektum létrehozója (tulajdonosa) vagy a DBA adhat másoknak. A konkrétan megadható objektum jogok az objektum típusától függenek. Az egyes jogok megadásának utasítása:
GRANT jogosultság ON objektum TO felhasználó [WITH GRANT OPTION]; Jogosultságként megadható műveletek: -
ALTER: az objektum struktúrájának módosíthatósága
-
CREATE: objektumok létrehozása
-
DROP: objektumok törlése
-
DELETE: az objektum egyes elemeinek törlése
-
INDEX: index létrehozása az objektumhoz
-
INSERT: új érték beszúrása az objektumba
-
REFERENCES: idegen kulcs hivatkozhat-e az objektumra
-
SELECT: az objektumban tárolt értékek lekérdezése
-
UPDATE: az objektumban tárolt értékek módosítása
Az opcionális WITH GRANT OPTION tag megadásakor az átadott hozzáférési jogkört az adományozott felhasználó továbbadhatja más felhasználóknak. Ezzel mintegy ideiglenesen lemondunk az objektum ez irányú ellenőrzéséről, hiszen tetszőleges helyekre is elkerülhet a jogosultság. Ha felhasználó azonosítóként a PUBLIC kulcsszót adjuk meg, akkor a rendszer minden felhasználója megkapja a kijelölt hozzáférési jogot. Az adományozott jogokat vissza is lehet vonni a következő utasítással: REVOKE jogosultság ON objektum FROM felhasználó;
Példák: Katinak a tanulo táblához lekérdezési jog adása: GRANT SELECT ON tanulo TO kati; Ha vissza szeretnénk vonni Katitól ezt a jogot: REVOKE SELECT ON tanulo FROM kati;
11
ADATBÁZIS-KEZELÉS -JOGOSULTSÁG KEZELÉS ADATBÁZISOKBAN
2. Rendszer szintű jogok (privilégiumok) A rendszer használatával kapcsolatos jogok, azaz ki milyen tevékenységeket (utasításokat) hajthat végre. A rendszergazda adhatja ezeket. A rendszerprivilégium művelet csoportra vonatkozik, függetlenül az érintett objektumoktól. Ha egy felhasználó rendelkezik például egy DELETE ANY TABLE privilégiummal, akkor az illető a rendszer bármely táblájából, annak bármely rekordját törölheti. A rendszerprivilégium tehát bármely objektumra engedélyezi a kijelölt műveletet. Rendszerjogok adása:
GRANT rendszer jog TO felhasználó [WITH ADMIN OPTION]; WITH ADMIN OPTION esetén a felhasználó a kapott jogokat kiadhatja (visszavonhatja) más felhasználóknak vagy szerepköröknek, PUBLIC az összes felhasználót, ALL PRIVILEGES az összes rendszerjogot jelenti. Rendszerjogok visszavonása:
REVOKE rendszer jog FROM felhasználó [WITH ADMIN OPTION]; Ha
egy
felhasználónak
minden
privilégiumát
megszüntetjük,
az
objektumai
még
megmaradnak az adatbázisban, előtte célszerű ezeket DROP-pal törölni.
Példák: A titkárnő felhasználónak tábla létrehozásához jog adása: GRANT CREATE TABLE TO titkarno; Ha ezt vissza akarjuk vonni: REVOKE CREATE TABLE FROM titkarno;
3. Szerepkör (ROLE) Objektum, melybe jogokat lehet elhelyezni. Olyan, mint egy jogosítvány. Jogok egy halmaza névvel ellátva, melyet kiadhatunk a felhasználóknak. A DBA hozza létre ezeket a szerepköröket, majd jogokat rendel hozzájuk. A szerepkör adományozása után a felhasználó rendelkezni fog mindazon objektum jogokkal és rendszer privilégiumokkal, amiket a szerepkör tartalmaz. A szerepkör visszavonásakor a tartalmazott jogosultságok, privilégiumok is visszavonásra kerülnek. A szerepkör létrehozása az arra jogosult felhasználó által kiadott utasítással lehetséges:
CREATE ROLE szerepkör; A későbbiekben a létrehozott szerep a következő utasítással szüntethető meg: 12
ADATBÁZIS-KEZELÉS -JOGOSULTSÁG KEZELÉS ADATBÁZISOKBAN
DROP ROLE szerepkör; A szerepkörhöz, mely induláskor üres, a következő utasítással rendelhetünk hozzá jogosultságokat és privilégiumokat:
GRANT jogosultság ON objektum TO szerepkör; Tehát itt a szerep formálisan, mint felhasználó szerepel. Egy szerephez egymásután több különböző privilégium és jogkör is rendelhető. A szerephez rendelt jogosultságokból, privilégiumokból a következő utasítással lehet egyes elemeket kivenni:
REVOKE jogosultság ON objektum TO szerepkör; A létrehozott szerepeket több különböző felhasználóhoz is hozzá lehet rendelni. A szerep adományozását és visszavonását a következő utasításokkal lehet megvalósítani.
GRANT szerepkör TO felhasználó; REVOKE szerepkör FROM felhasználó; A szerepkör mechanizmus rugalmasságát növeli, hogy a szerepkörök egymáshoz is rendelhetők,
azaz
egy
szerepkörhöz
hozzárendelhetők
egy
másik
szerepkör
által
tartalmazott jogosultságok is a következő utasítással:
GRANT szerepkör1 TO szerepkör2; Eredményként a szerepkör2 szerepkörhöz hozzáadódik a szerepkör1 szerepkör, és általa mindazon jogosultságok, melyeket a szerepkör1 tartalmazott. Így a szerepek mintegy egymásba is ágyazhatók. Vannak célszerűen kialakított, előredefiniált szerepkörök. Példaként három ilyen szerepkört adunk meg, amellyel az adatbázist használók három alapvető típusának (egyszerű felhasználó, fejlesztő, adatbázis adminisztrátor) jogait, tevékenységi körét előírhatjuk. -
CONNECT - az egyszerű felhasználók számára kialakítva. Lekérdezheti a táblákat, és használhatja az adatkarbantartó utasításokat minden olyan táblára, amelyhez a tábla tulajdonosa
jogot
adott.
Nem
definiálhat,
nem
törölhet
objektumokat
csak
nézettáblát. -
RESOURCE - a fejlesztők számára kialakítva. Rendelkezik a CONNECT jogokkal, ezenkívül
definiálhat,
törölhet
objektumokat,
valamint
az
általa
létrehozott
objektumokra vonatkozóan jogokat adhat tovább más felhasználóknak. -
DBA - az adatbázis adminisztrátor (DBA) számára kialakítva. Rendelkezik a RESOURCE jogokkal, ezenkívül bármely felhasználó adataiba betekinthet, felvehet új felhasználókat, jogokat adhat, és visszavonhat, PUBLIC-nak minősíthet adatokat, teljes adatbázis export/import stb.
13
ADATBÁZIS-KEZELÉS -JOGOSULTSÁG KEZELÉS ADATBÁZISOKBAN
TANULÁSIRÁNYÍTÓ Elevenítse fel mit olvasott a szakmai információtartalomnál (ha szükséges lapozzon vissza), és így válaszoljon a következő kérdésekre, illetve gondolkozzon el az esetfelvetésnél vázolt munkahelyzet megoldásán! 1. feladat Sorolja fel, hogy milyen védelmi eszközöket lehet használni adatbázisok védelmére!
_________________________________________________________________________________________ _________________________________________________________________________________________ _________________________________________________________________________________________ _________________________________________________________________________________________ _________________________________________________________________________________________
2. feladat Mit jelent a felhasználói szintű adatvédelem az MS Accessénél?
_________________________________________________________________________________________ _________________________________________________________________________________________ _________________________________________________________________________________________ _________________________________________________________________________________________ _________________________________________________________________________________________
3. feladat Az adatbázisok védelmének legegyszerűbb módjai lehetnek az adatbázis kódolása és levédése jelszóval. Hogy műkődnek ezek a funkciók, és miért nem elég hatékonyak?
14
ADATBÁZIS-KEZELÉS -JOGOSULTSÁG KEZELÉS ADATBÁZISOKBAN
_________________________________________________________________________________________ _________________________________________________________________________________________ _________________________________________________________________________________________ _________________________________________________________________________________________ _________________________________________________________________________________________
4. feladat Sorolja fel, hogy milyen típusú engedélyeket lehet kiadni az MS ACCESS felhasználószintű védelménél!
_________________________________________________________________________________________ _________________________________________________________________________________________ _________________________________________________________________________________________ _________________________________________________________________________________________ _________________________________________________________________________________________
5. feladat Mi a különbség az objektum szintű jogok és a rendszerszintű jogok között, és hogyan lehet ezeket kiadni SQL utasításokkal?
_________________________________________________________________________________________ _________________________________________________________________________________________ _________________________________________________________________________________________ _________________________________________________________________________________________ _________________________________________________________________________________________ _________________________________________________________________________________________ _________________________________________________________________________________________
15
ADATBÁZIS-KEZELÉS -JOGOSULTSÁG KEZELÉS ADATBÁZISOKBAN 6. feladat Hogyan oldaná meg az esetfelvetésnél vázolt munkahelyzetet? Ön egy autókat árusító cégnél dolgozik rendszergazdaként. Megbízást kap, hogy a vásárlásokat rögzítő adatbázishoz különböző felhasználói csoportokat hozzon létre, és állítsa be a különböző műveletekhez való jogaikat.
_________________________________________________________________________________________ _________________________________________________________________________________________ _________________________________________________________________________________________ _________________________________________________________________________________________ _________________________________________________________________________________________ _________________________________________________________________________________________
MEGOLDÁSOK 1. feladat -
bejelentkezés ellenőrzés, login account
-
hozzáférés ellenőrzés, access control
-
következtetési ellenőrzés, inference control
-
adatáramlás ellenőrzés, flow control
-
titkosítás, cryptologhy
-
naplózás, audit
2. feladat A Microsoft Access felhasználói szintű adatvédelme nagyon hasonlít a kiszolgáló alapú rendszerekben látható védelmi mechanizmusokhoz. Jelszó és engedélyek használatával a saját adatbázisunkban lévő objektumok elérését engedélyezhetjük, vagy megtilthatjuk más személyeknek vagy csoportoknak. 3. feladat
16
ADATBÁZIS-KEZELÉS -JOGOSULTSÁG KEZELÉS ADATBÁZISOKBAN Az adatbázis kódolása tömöríti az adatbázisfájlt, és olvashatatlanná teszi a segédprogramok vagy szövegszerkesztők számára. A védelem nélküli adatbázis kódolásának nincs értelme, hiszen az adatbázist bárki megnyithatja, és teljes hozzáférése van annak valamennyi objektumához. Az adatbázisok védelmének egyik egyszerű módja, ha jelszó megadásához kötjük a Microsoft Access adatbázis megnyitását. Ha beállítottunk valamilyen jelszót, az adatbázis minden egyes megnyitásakor megjelenik egy párbeszédpanel, amely azt bekéri. Csak a helyes jelszót beíró felhasználók nyithatják meg az adatbázist. Ha azonban az adatbázis meg van nyitva, a felhasználók számára minden objektum hozzáférhető. 4. feladat -
Megnyitás/futtatás:
-
Terv olvasása:
-
Terv módosítása:
-
Rendszergazda:
-
Adat olvasása:
-
Adat frissítése:
-
Adat törlése:
5. feladat Az objektumok használatával kapcsolatos jogok, azaz konkrét objektumokkal mit csinálhat. Minden felhasználó a saját objektumait korlátozás nélkül használhatja. Más felhasználók objektumaihoz, csak konkrét jogok birtokában férhet hozzá.
GRANT jogosultság ON objektum TO felhasználó [WITH GRANT OPTION]; A rendszer használatával kapcsolatos jogok, azaz ki milyen tevékenységeket (utasításokat) hajthat végre. A rendszergazda adhatja ezeket. A rendszerprivilégium művelet csoportra vonatkozik, függetlenül az érintett objektumoktól. A rendszerprivilégium tehát bármely objektumra engedélyezi a kijelölt műveletet.
GRANT rendszer jog TO felhasználó [WITH ADMIN OPTION]; 6. feladat Az itt vázolt megoldás egy lehetséges elképzelés. Bármilyen más megoldás jó, mely az adott munkahelyzet megoldását adja. Például rendszergazdaként egy értékesítő nevű felhasználó létrehozása (akinek jelszava üzlet), és jogosultsága van táblák létrehozására, adatok beszúrására, lekérdezési műveletek elvégzésére. CREATE USER értékesítő IDENTIFIED BY üzlet; GRANT CREATE TABLE, INSERT, SELECT ON vásárlók TO értékesítő;
17
ADATBÁZIS-KEZELÉS -JOGOSULTSÁG KEZELÉS ADATBÁZISOKBAN Egy titkárnő nevű felhasználó létrehozása (akinek jelszava munka), és neki csak adatlekérdezési műveletek elvégzésére van jogosultsága. CREATE USER titkárnő IDENTIFIED BY munka; GRANT SELECT ON vásárlók TO titkárnő;
18
ADATBÁZIS-KEZELÉS -JOGOSULTSÁG KEZELÉS ADATBÁZISOKBAN
ÖNELLENŐRZŐ FELADATOK 1. feladat Hogyan lehet felhasználói fiókokat létrehozni az MS Accessben? Válaszát írja le a kijelölt helyre!
_________________________________________________________________________________________ _________________________________________________________________________________________ _________________________________________________________________________________________ _________________________________________________________________________________________
2. feladat Milyen feladatai vannak a rendszergazdának (DBA) az adatbázisok védelmével kapcsolatban, és milyen SQL utasítással hozhat létre új felhasználót? Válaszát írja le a kijelölt helyre!
_________________________________________________________________________________________ _________________________________________________________________________________________ _________________________________________________________________________________________ _________________________________________________________________________________________
3. feladat Mi az a szerepkör, milyen SQL utasítással lehet adni, elvenni szerepköröket, illetve jogosultságokat hozzárendelni? Válaszát írja le a kijelölt helyre!
_________________________________________________________________________________________ _________________________________________________________________________________________ _________________________________________________________________________________________ _________________________________________________________________________________________ _________________________________________________________________________________________ 19
ADATBÁZIS-KEZELÉS -JOGOSULTSÁG KEZELÉS ADATBÁZISOKBAN 4. feladat Írjon SQL utasításokat a következő feladatok megvalósításához! a) Eladó nevű felhasználó létrehozása, akinek munka a jelszava!
_________________________________________________________________________________________
b) A teszt nevű felhasználónak lekérdezési jog adása a számla táblához!
_________________________________________________________________________________________
c) Összes jog adása a főnök nevű felhasználónak!
_________________________________________________________________________________________
d) A dolgozók tábla bővítési jogának visszavonása a Kati nevű felhasználótól!
_________________________________________________________________________________________
e) Lekérdezési jog a könyvek táblához az összes felhasználónak!
_________________________________________________________________________________________
f) Adjon a raktár tábla tárolt értékeire módosítási jogot az adatrögzítő nevű felhasználónak jog továbbadási lehetőséggel!
_________________________________________________________________________________________
20
ADATBÁZIS-KEZELÉS -JOGOSULTSÁG KEZELÉS ADATBÁZISOKBAN
MEGOLDÁSOK 1. feladat -
A művelet végrehajtásához a Rendszergazdák csoport tagjaként kell bejelentkezni.
-
Válasszuk az Eszközök menün a Biztonság pontot, majd a Felhasználók és csoportok fiókjai parancsot!
-
A Felhasználók panellapon kattintsunk az Új gombra!
-
Az Új felhasználó/csoport párbeszédpanelen írjuk be az új fiók nevét és személyi azonosítót, majd az új fiók létrehozásához kattintsunk az OK gombra! A fiók automatikusan a Felhasználók csoportba kerül.
2. feladat DBA
Feladatai:
erőforrásokkal,
Felhasználók rendszerhibák
felvétele,
jogosultságaik
kiküszöbölése,
mentések,
kiosztása,
gazdálkodás
visszatöltések,
a
az
rendszer
működésének figyelése, hangolása.
CREATE USER felhasználó_név IDENTIFIED BY jelszó; 3. feladat Jogok egy halmaza névvel ellátva, melyet kiadhatunk a felhasználóknak. A DBA hozza létre ezeket a szerepköröket, majd jogokat rendel hozzájuk.
CREATE ROLE szerepkör; DROP ROLE szerepkör; GRANT jogosultság ON objektum TO szerepkör; 4. feladat a) CREATE USER eladó IDENTIFIED BY munka; b) GRANT SELECT ON számla TO teszt; c) GRANT ALL PRIVILEGES TO főnök; d) REVOKE INSERT ON dolgozók FROM Kati; e) GRANT SELECT ON könyvek TO Public; f) GRANT UPDATE ON raktár TO adatrögzítő WITH GRANT OPTION;
21
ADATBÁZIS-KEZELÉS -JOGOSULTSÁG KEZELÉS ADATBÁZISOKBAN
IRODALOMJEGYZÉK FELHASZNÁLT IRODALOM Dr. L. Nagy Éva: SQL röviden (gyakorlati jegyzet) http://erettsegi.com/informatika/adatvedelem/ 2010-07-30 http://office.microsoft.com/hu-hu/access-help/CH001041139.aspx 2010-07-30 http://users.iit.uni-miskolc.hu/~kovacs/db2/ora8.html 2010-07-30
AJÁNLOTT IRODALOM Stolnicki Gyula: SQL kézikönyv. ComputerBooks Kiadói Kft, Budapest, 1998.
22
A(z) 1155-06 modul 004 számú szakmai tankönyvi tartalomeleme felhasználható az alábbi szakképesítésekhez: A szakképesítés OKJ azonosító száma: 54-481-01-1000-00-00 54-481-04-0010-54-01 54-481-04-0010-54-02 54-481-04-0010-54-03 54-481-04-0010-54-04 54-481-04-0010-54-05 54-481-04-0010-54-06 54-481-04-0010-54-07
A szakképesítés megnevezése CAD-CAM informatikus Gazdasági informatikus Infostruktúra menedzser Ipari informatikai technikus Műszaki informatikus Távközlési informatikus Telekommunikációs informatikus Térinformatikus
A szakmai tankönyvi tartalomelem feldolgozásához ajánlott óraszám: 15 óra
A kiadvány az Új Magyarország Fejlesztési Terv TÁMOP 2.2.1 08/1-2008-0002 „A képzés minőségének és tartalmának fejlesztése” keretében készült. A projekt az Európai Unió támogatásával, az Európai Szociális Alap társfinanszírozásával valósul meg. Kiadja a Nemzeti Szakképzési és Felnőttképzési Intézet 1085 Budapest, Baross u. 52. Telefon: (1) 210-1065, Fax: (1) 210-1063 Felelős kiadó: Nagy László főigazgató