22
2006. november 6 . Markó Tamás, PTE TTK 1 Az Oracle SQL 10. A jogosultsági rendszer

Az Oracle SQL 10

  • Upload
    joy

  • View
    45

  • Download
    0

Embed Size (px)

DESCRIPTION

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: - PowerPoint PPT Presentation

Citation preview

Page 1: Az  Oracle  SQL 10

2006. november 6. Markó Tamás, PTE TTK 1

Az Oracle SQL 10.

A jogosultsági rendszer

Page 2: Az  Oracle  SQL 10

2006. november 6. Markó Tamás, PTE TTK 2

A rádiótelefonokat kérem

KIKAPCSOLNI!

Page 3: Az  Oracle  SQL 10

2006. november 6. Markó Tamás, PTE TTK 3

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

Page 4: Az  Oracle  SQL 10

2006. november 6. Markó Tamás, PTE TTK 4

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

Page 5: Az  Oracle  SQL 10

2006. november 6. Markó Tamás, PTE TTK 5

minden felhasználó

Rendszerprivilégium adása

• 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ényezetttovább is adhatjaa jogot másnak

Page 6: Az  Oracle  SQL 10

2006. november 6. Markó Tamás, PTE TTK 6

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;

Page 7: Az  Oracle  SQL 10

2006. november 6. Markó Tamás, PTE TTK 7

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

Page 8: Az  Oracle  SQL 10

2006. november 6. Markó Tamás, PTE TTK 8

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

Page 9: Az  Oracle  SQL 10

2006. november 6. Markó Tamás, PTE TTK 9

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ényezetttovább is adhatjaa jogot másnak

Page 10: Az  Oracle  SQL 10

2006. november 6. Markó Tamás, PTE TTK 10

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;

Page 11: Az  Oracle  SQL 10

2006. november 6. Markó Tamás, PTE TTK 11

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

Page 12: Az  Oracle  SQL 10

2006. november 6. Markó Tamás, PTE TTK 12

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ényezetttovább is adhatjaa jogot másnak

Page 13: Az  Oracle  SQL 10

2006. november 6. Markó Tamás, PTE TTK 13

Szerep megvonása

• Alakja:REVOKE szerepek

FROM PUBLIC | felhasználók;

• Példa: a CONNECT jogosultság visszavonásaREVOKE CONNECT FROM tanf01;

Page 14: Az  Oracle  SQL 10

2006. november 6. Markó Tamás, PTE TTK 14

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;

Page 15: Az  Oracle  SQL 10

2006. november 6. Markó Tamás, PTE TTK 15

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

Page 16: Az  Oracle  SQL 10

2006. november 6. Markó Tamás, PTE TTK 16

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

Page 17: Az  Oracle  SQL 10

2006. november 6. Markó Tamás, PTE TTK 17

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ó!

Page 18: Az  Oracle  SQL 10

2006. november 6. Markó Tamás, PTE TTK 18

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;

Page 19: Az  Oracle  SQL 10

2006. november 6. Markó Tamás, PTE TTK 19

Példa: a hallgatói környezet 1.

• Az Oracle felhasználók létrehozása:CREATE USER tanf01

IDENTIFIED BY tanf01 DEFAULT TABLESPACE usersQUOTA 2 M ON users;

CREATE USER tanf02 …

• A HALLGATO szerep létrehozása:CREATE ROLE hallgato;

max. 2 MB tárhelyethasználhat

a tablespace az adatbázis-objektumok és az op.rendszer

fájljai között teremt kapcsolatot

Page 20: Az  Oracle  SQL 10

2006. november 6. Markó Tamás, PTE TTK 20

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;…

Page 21: Az  Oracle  SQL 10

2006. november 6. Markó Tamás, PTE TTK 21

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;

Page 22: Az  Oracle  SQL 10

2006. november 6. Markó Tamás, PTE TTK 22

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