230 likes | 282 Vues
Az Oracle SQL 10. A jogosultsági rendszer. A rádiótelefonokat kérem KIKAPCSOLNI!. A jogosultságok szerepe és típusai. Szerepük: Az adatbázis működőképességének megőrzése Az adatok védelme illetéktelen felhasználástól vagy módosítástól Két fő típus:
E N D
Az Oracle SQL 10. A jogosultsági rendszer Markó Tamás, PTE TTK
A rádiótelefonokat kérem KIKAPCSOLNI! Markó Tamás, PTE TTK
A jogosultságok szerepe és típusai • Szerepük: • Az adatbázis működőképességének megőrzése • Az adatok védelme illetéktelen felhasználástól vagy módosítástól • Két fő típus: • rendszer-jogosultság (rendszerprivilégium) • adatbázis-objektumokra vonatkozó jogosultság Markó Tamás, PTE TTK
Rendszerprivilégiumok • System privilege • Jogosultság bizonyos parancsok végrehajtására: • CREATE SESSION: bejelentkezés • CREATE TABLE: új tábla létrehozása • CREATE USER: új felhasználó létrehozása • GRANT ANY PRIVILEGE: rendszerjogosultságok megadása másoknak • stb., kb. 100 különféle jogosultság Markó Tamás, PTE TTK
Rendszerprivilégium adása minden felhasználó • Alakja:GRANT privilégiumok TO PUBLIC | felhasználók [WITH ADMIN OPTION]; • Példa: CREATE TABLE és CREATE USER jogosultság adása TANF01-nek és TANF02-nek úgy, hogy tovább is adhatják:GRANT CREATE TABLE, CREATE USER TO tanf01, tanf02 WITH ADMIN OPTION; a kedvezményezett tovább is adhatja a jogot másnak Markó Tamás, PTE TTK
Rendszerprivilégium megvonása • Alakja:REVOKE rendszerprivilégiumok FROM PUBLIC | felhasználók; • Példa: a CREATE TABLE jogosultság visszavonása TANF01-tőlREVOKE CREATE TABLE FROM tanf01; Markó Tamás, PTE TTK
Jogosultságok az adatbázis objektumaira • Database object privilege • Pl. a táblákra vonatkozó jogosultságok: • ALTER: a szerkezet módosítása • DELETE: rekord törlése • INDEX: index készítése • INSERT: új rekord létrehozása • REFERENCES: hivatkozás a tábla adataira másik táblára adott kényszerben • SELECT: az adatok megnézése • UPDATE: az adatok módosítása Markó Tamás, PTE TTK
A tulajdonos • Az adatbázis-objektumok (táblák, view-k, tárolt eljárások, stb.) tulajdonosa: aki létrehozza őket • A tulajdonosnak az objektum létrehozásától minden joga megvan a saját objektumaira • automatikusan senki másnak nincs semmiféle jogosultsága az új objektumra • A tulajdonos (és az adatbázis-adminisztrátor) másoknak is adhat jogosultságokat a saját objektumaira Markó Tamás, PTE TTK
Objektumra vonatkozó jogosultság adása • Alakja:GRANT jogosultságok ON objektum TO PUBLIC | felhasználók [WITH ADMIN OPTION]; • Példák: • SELECT jogosultság adása TANF01-nek a VEVOK táblára:GRANT SELECT ON vevok TO tanf01; • INSERT jogosultság adása mindenkinek a VEVOK táblára:GRANT INSERT ON vevok TO PUBLIC; a kedvezményezett tovább is adhatja a jogot másnak Markó Tamás, PTE TTK
Objektumra vonatkozó jogosultság megvonása • Alakja:REVOKE jogosultságok ON objektum FROM PUBLIC | felhasználók; • Példa: a SELECT jogosultság visszavonásaREVOKE SELECT ON vevok FROM tanf01; Markó Tamás, PTE TTK
Szerepek (role) • Jogosultságok (privilégiumok) gyűjteménye • Célja a hasonló jogosultságú felhasználók adminisztrációjának egyszerűsítése • Előre definiált szerepek: • CONNECT: elemi jogosultságok gyűjteménye (pl. a bejelentkezés) • RESOURCE: jogosultságok saját objektumok létrehozására • DBA: adminisztrátori jogosultságok Markó Tamás, PTE TTK
Szerep adása • Alakja:GRANT szerepek TO PUBLIC | felhasználók [WITH ADMIN OPTION]; • Példa: CONNECT szerep adása TANF01-nek úgy, hogy tovább is adhatja:GRANT CONNECT TO tanf01 WITH ADMIN OPTION; a kedvezményezett tovább is adhatja a jogot másnak Markó Tamás, PTE TTK
Szerep megvonása • Alakja:REVOKE szerepek FROM PUBLIC | felhasználók; • Példa: a CONNECT jogosultság visszavonásaREVOKE CONNECT FROM tanf01; Markó Tamás, PTE TTK
Saját szerepek használata • Az alkalmazás lépései: • a szerep létrehozása • a szerepnek jogosultságok / szerepek adása • a szerep megadása a felhasználóknak / létező szerepeknek • Példa: • CREATE ROLE hallgato; • GRANT CONNECT, RESOURCE TO hallgato; • GRANT hallgato TO tanf01, tanf02, tanf03; Markó Tamás, PTE TTK
Saját jogosultságaink megnézése • USER_SYS_PRIVS: rendszerprivilégiumok • USER_ROLE_PRIVS: a szerepkörök, amikre jogosultak vagyunk • USER_TAB_PRIVS: az egyes táblákra vonatkozó jogosultságaink • USER_COL_PRIVS: az egyes táblák egyes mezőire vonatkozó jogosultságaink Markó Tamás, PTE TTK
A felhasználók létrehozása • Alakja:CREATE USER név IDENTIFIED BY jelszó [egyéb paraméterek]; • Példa:CREATE USER tanf01 IDENTIFIED BY tanf01; • Ilyenkor a felhasználónak még semmiféle joga sincs! • a beállítások egyszerűsítéséhez felhasználói profilokat is létre lehet hozni Markó Tamás, PTE TTK
A felhasználó módosítása • A login-néven kívül minden más paraméter átállítható • A jelszó módosítása: • Alakja:ALTER USER név IDENTIFIED BY jelszó; • Példa:ALTER USER tanf01 IDENTIFIED BY gep01; • A saját jelszavunk is így módosítható! Markó Tamás, PTE TTK
A felhasználók törlése • Csak olyan felhasználó törölhető, akinek a tulajdonában nem állnak objektumok • A parancs alakja:DROP USER név [CASCADE]; • CASCADE: a felhasználó törlése előtt megtörténik a tulajdonában lévő összes objektum törlése • Példa:DROP USER tanf01 CASCADE; Markó Tamás, PTE TTK
Példa: a hallgatói környezet 1. • Az Oracle felhasználók létrehozása:CREATE USER tanf01 IDENTIFIED BY tanf01 DEFAULT TABLESPACE users QUOTA 2 M ON users;CREATE USER tanf02 … • A HALLGATO szerep létrehozása:CREATE ROLE hallgato; a tablespace az adatbázis- objektumok és az op.rendszer fájljai között teremt kapcsolatot max. 2 MB tárhelyet használhat Markó Tamás, PTE TTK
Példa: a hallgatói környezet 2. • A CONNECT és a RESOURCE szerep megadása:GRANT CONNECT, RESOURCE TO hallgato; • A hallgatóknak jogok adása:GRANT hallgato TO tanf01;GRANT hallgato TO tanf02;… Markó Tamás, PTE TTK
Példa: a hallgatói környezet 3. • SELECT jogosultság adása SCOTT tábláira:GRANT SELECT ON scott.emp TO hallgato;GRANT SELECT ON scott.dept TO hallgato;GRANT SELECT ON scott.bonus TO hallgato;GRANT SELECT ON scott.salgrade TO hallgato; Markó Tamás, PTE TTK
Házi feladat • Script készítése az alábbi feladatok végrehajtására: • adjon mindenkinek jogot arra, hogy az RTETEL nevű táblájában az adatokat megnézhesse és módosíthassa • adjon jogot a SCOTT nevű felhasználónak arra, hogy a RENDEL táblából rekordokat törölhessen • vonja meg a SCOTT nevű felhasználó jogát az RTETEL tábla módosítására • a saját jelszavát módosítsa tanar_leszek-re Markó Tamás, PTE TTK