270 likes | 455 Views
Jogosultságkezelés. A diasor ismerete nem helyettesíti a tankönyvet, és a példatárat. A diasor ismerete szükséges, de nem elégséges feltétele a minimum elégséges érdemjegynek !. Bevezető. A mai adatbázis kezelő rendszerek már kezdenek annyira bonyolultak lenni, mint az operációs rendszerek.
E N D
Jogosultságkezelés Zoltán Botond
A diasor ismerete nem helyettesíti a tankönyvet, és a példatárat. A diasor ismerete szükséges, de nem elégséges feltétele a minimum elégséges érdemjegynek! Zoltán Botond
Bevezető • A mai adatbázis kezelő rendszerek már kezdenek annyira bonyolultak lenni, mint az operációs rendszerek. • Az operációs rendszereknél lehetőség van jogokat adni az egyes fájlokra, mappákra, hogy megvédhessük azokat, ez adatbázis kezelő rendszereknél is így van. Zoltán Botond
Jogosultságok Az informatikában 2+3 követelmény létezik. • Integritás • Bizalmasság • Elérhetőség + • Funkcionalitás • Dokumentáció • Ezek közül melye(ke)t érinthet a jogosultságkezelés? Zoltán Botond
Jogosultságok • A jogosultságok használatának célja az adatbázis védelme (bizalmasság). • A jogosultságokat DCL (Data ControlLanguage) adatvezérlő nyelvel tudjuk létrehozni. Zoltán Botond
Jogosultságok fajtái • a rendszerszintű védelmet biztosító jogosultságok (amelyek az egyes rendszerkomponensek elérését korlátozzák), • azadatbázis védelmét biztosító jogosultságok (amelyek az adatbázishoz való hozzáférést korlátozzák), Zoltán Botond
Jogosultságok fajtái • az objetumkezelési jogosultságok (amelyek az objektumok tartalmához való hozzáférést korlátozzák), és • a továbbadási jogosultságok (melyek a jogosultságok más felhasználónak vagy úgynevezett szerepkörnek való átadását és visszavonását korlátozzák- a szerepkör fogalmát lásd később). Zoltán Botond
Jogosultság kezelés • Az SQL utasítások végrehajtását korlátozhatjuk: • Rendszerjogosultságokról • Objektumkezelési jogosultságokról • A jogosultságok legáltalánosabb tulajdonosa az adatbázis adminisztrátor – DBA • A DBA ki lehet a főnöke, azaz ki mondja meg, hogy kinek adhat jogosultságot? • Az adatgazda vagy adattulajdonos. Zoltán Botond
DBA • A DBA a jogosultságok legáltalánosabb tulajdonosa. • Az OraclebenSYS vagy SYSTEMnek hívják • A felhasználók tőle kapják a jogokat és továbbadhatják, ha van arra vonatkozó joguk. Zoltán Botond
Rendszerjogosultságok • A rendszerjogosultságok biztosítják az adatbázis védelmét azáltal, hogy korlátozzák a lemezterülethez és az adatbázishoz való hozzáférést. • Például: adatbázis-objektumok létrehozását, törlését. Zoltán Botond
Rendszerjogosultságok • CREATE SESSIONkapcsolódás az adatbázishoz • CREATE TABLEtábla létrehozása a felhasználó saját tulajdonában • ALTER ANY TABLEaz adatbázisban bármely tábla szerkezetének megváltoztatása • DROP ANY TABLEaz adatbázis bármely táblájának törlése Zoltán Botond
Rendszerjogosultságok • CREATE PROCEDUREtárolt eljárás, függvény vagy csomag létrehozása a felhasználó saját tulajdonában • ALTER ANY TRIGGERaz adatbázisban bármely triggermegváltoztatása • CREATE USERfelhasználó létrehozása • DROP USERfelhasználó törlése Zoltán Botond
Rendszerjogosultságok adása • GRANT kulcsszóval történik • GRANT [jogosultság/szerepkör] TO [felhasználó/szerepkör/public] [WITH ADMIN OPTION] • PUBLlCminden (jelenlegi és jövőbeni) felhasználót kijelöl • WITH ADMIN OPTION megadja a felhasználónak a jogosultság továbbadásának jogát. Zoltán Botond
Rendszerjogosultságok visszavonása • REVOKE kulcsszóval történik • REVOKE [jogosultság/szerepkör] FROM [felhasználó/szerepkör/public] Zoltán Botond
Objektumkezelési jogosultságok • Egy objektum tulajdonosa a saját objektumaihoz minden jogosultsággal rendelkezik, és tovább is adhatja! • Pl: • SELECT • INSERT • UPDATE • DELETE • ALTER • Megszorítások létrehozása Zoltán Botond
Objektumkezelési jogosultságok • GRANT [objektumkezelési jog/ALL] [oszlopok] ON [objektum] TO [felhasználó/szerepkör/public]WITH GRANT OPTION • REVOKE [objektumkezelési jog/ALL]ON [objektum]FROM [felhasználó/szerepkör/public] Zoltán Botond
Jogosultságok lekérdezése • role_ sys _privs • role_ tab _privs • user_sys_privs • user_role_privs • Továbbá lásd a példatárban a 207. oldalon Zoltán Botond
Táblaterület • Az Oracle objektumai itt tárolódnak • Ezek fizikai fájlok, melyek szerkezetét az adatbázis-kezelő rendszer alakítja ki • A rendszeradatok a SYSTEM táblaterületen tárolódnak Zoltán Botond
Táblaterület létrehozása • CREAT E TABLESPACE táblaterület • DATAFILE 'állománynév' • [SIZE méret [K|M] [REUSE]]; • Fontos, hogy az útvonalat kell megadni az állománynévnél. • Kell a felhasználónak a CREATE TABLESPACE jogosultság. Zoltán Botond
Táblaterületen egy tábla létrehozása • CREATE TAB LE táblanév( ... )TABLESPACE táblaterület; Zoltán Botond
Táblaterület törlése, módosítása • DROP TABLESPACE TáblaterületNeve[INCLUDING CONTENTS]; • ALTER TABLESPACE TáblaterületNeve{ONLINE l OFFLINE}; • Akkor használjuk, ha másolni szeretnénk a táblaterületet Zoltán Botond
Felhasználó • Mi határoz meg egy felhasználót? • Felhasználónév • A hozzá tartozó jogosultságok Zoltán Botond
Felhasználó létrehozása/törlése • CREATE USER felhasználó IDENTIFIED BY jelszó[DEFAULT TABLESPACE Táblaterület[TEMPORARY TABLESPACE IdeiglenesTáblaterület][QUOTA {méret [K l M]|UNLIMITED} ON Táblaterület][QUOTA {méret [K l M]|UNLIMITED} ON IdeiglenesTáblaterület]]; • DROP USER felhasználó [CASCADE] • Cascade esetén törlődnek a felhasználó által létrehozott objektumok Zoltán Botond
Kapcsolódás az adatbázishoz • CONNECT felh/jelszó • DISCONNECT Zoltán Botond
Szerepkör • Jogosultságok halmaza • Csak jogosultságokkal rendelkezik, objektumokkal nem! • Létrehozása: CREATE ROLE név [IDENTIFIED BY jelszó] • Törlése: DROP ROLE név Zoltán Botond
Feladatok • Kapcsolódjon az adatbázishoz sys felhasználóként (jelszó gazda), és változtassa meg a system felhasználó jelszavát Oracle-re • AS SYSDBA!!! Ha adminisztrátorként szeretnénk csatlakozni, ezt kell a végére írni!!! • CONNECT sys/rendszergazda as SYSDBA • ALTER USER system IDENTIFIED BY Oracle Zoltán Botond
Hozzon létre egy új felhasználót nebulo néven asdfasdf jelszóval, majd lássa el a szükséges jogosultságokkal, hogy létrehozhasson új táblákat.Ezután hozzon létre egy táblát és próbálja meg lekérdezni scott/tiger-el, majd miután látjuk, hogy nem megy, adjunk scottnak jogosultságot hozzá. Zoltán Botond