2012. tavaszi félév Vitéz Gergely
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!
Különböző felhasználói jogok léteznek egy korszerű adatbázis-kezelő rendszerben DCL (Data Control Language), mely része a szabvány SQL nyelvnek Célja: Adatbázisok védelme és a beavatkozások korlátozása
Rendszerszintű védelmet biztosító ◦ Ezek az egyes rendszerkomponensek elérését korlátozzák Adatbázis védelmét biztosító ◦ AB-hez való hozzáférést korlátozzák Objektumkezelési jogosultságok ◦ Objektumok tartalmához való hozzáférés Továbbadási jogosultságok
SQL utasítások elvégzése szerint ◦ Rendszerjogosultságok ◦ Objektumkezelési jogosultságok A legáltalánosabb tulajdonos: ◦ DBA (Data Base Administrator) ◦ Tőle kapják a felhasználók a jogokat ◦ Oracle rendszerben System/Sys
A CREATE/ALTER/DROP utasításokat érinti Pl: ◦ CREATE SESSION ◦ CREATE TABLE ◦ ALTER ANY TABLE ◦ DROP ANY TABLE ◦ CREATE USER ◦ DROP USER ◦ Select az összes táblából: ◦ SELECT ANY TABLE
Az ANY-t tartalmazó jogosultságok az összes objektumra vonatkoznak Az ANY nélküliek a saját tulajdonú objektumokra vonatkoznak. Nincs mindegyikhez pár SELECT NAME FROM SYSTEM_PRIVILEGE_MAP;
GRANT kulcsszóval történi GRANT [jogosultság/szerepkör] TO [felhasználó/szerepkör/public] [WITH ADMIN OPTION] Public!!! WITH ADMIN OPTION!!!
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
GRANT [objektumkezelési jog/ALL] [oszlopok] ON [objektum] TO [felhasználó/szerepkör/public] WITH GRANT OPTION SELECT NAME FROM TABLE_PRIVILEGE_MAP;
REVOKE [objektumkezelési jog/ALL] ON [objektum] FROM [felhasználó/szerepkör/public] Illetve: REVOKE [rendszerjogosultság/szerepkör] FROM [felhasználó/szerepkör/public]
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
Mi definiál pontosan egy felhasználót? CREATE USER utasítás Jogosultságainak összessége
CREATE USER felhasználó IDENTIFIED BY jelszó DROP USER felhasználó [CASCADE] Cascade esetén törlődnek a felhasználó által létrehozott objektumok
Jogot kell adni a belépéshez CREATE SESSION Használhatóak a beépített szerepkörök is CONNECT, RESOURCE GRANT CONNECT, RESOURCE TO felhasznalo;
CONNECT felh/jelszó DISCONNECT
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
Kapcsolódjon az adatbázishoz sys felhasználóként (jelszó rendszergazda), é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
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á.
connect system/Oracle as sysdba create user nebulo identified by asdfasdf; GRANT ALL PRIVILEGES TO nebulo; connect nebulo/asdfasdf; create table teszt (nevvarchar2(20), szamnumber(5)); INSERT INTO teszt VALUES('jozsi',20); select * from teszt; connect scott/tiger select * from nebulo.teszt; connect nebulo/asdfasdf grant select on teszt to scott; connect scott/tiger select * from nebulo.teszt;
Köszönöm a figyelmet! Anyag: Példatár 11. fejezet Féléves feladat leadási határidő: 13. hét !!!