Download - Adatbázisok használata 1. (11. gyakorlat)
Adatbázisok használata 1.(11. gyakorlat) 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!
Privilégiumok 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
Jogosultságok csoportosítá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
Jogosultságok csoportosítása 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
Rendszerjogosultságok 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;
Rendszerjogosultságok
Jogosultságok adása• GRANT kulcsszóval történi
GRANT [jogosultság/szerepkör]TO [felhasználó/szerepkör/public][WITH ADMIN OPTION]
• Public!!!• WITH ADMIN OPTION!!!
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
Objektumkezelési jogosultság adásaGRANT [objektumkezelési jog/ALL] [oszlopok]
ON [objektum]TO [felhasználó/szerepkör/public]
WITH GRANT OPTION
SELECT NAME FROM TABLE_PRIVILEGE_MAP;
VisszavonásokREVOKE [objektumkezelési jog/ALL]ON [objektum]FROM [felhasználó/szerepkör/public]Illetve:REVOKE [rendszerjogosultság/szerepkör]FROM [felhasználó/szerepkör/public]
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
Felhasználó Mi definiál pontosan egy felhasználót?
CREATE USER utasítás Jogosultságainak összessége
Felhasználó létrehozása/törléseCREATE 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;
Felhasználó létrehozása
Kapcsolódás az adatbázishoz CONNECT felh/jelszó DISCONNECT
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
Gyakorlás• 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
Gyakorlás 2 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á.
Megoldás• connect system/Oracle as sysdba• create user nebulo identified by asdfasdf;• GRANT ALL PRIVILEGES TO nebulo;• connect nebulo/asdfasdf;• create table teszt
(nev varchar2(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. fejezetFéléves feladat leadási határidő: 13. hét !!!
http://www.orakulum.com http://jerry.gorextar.hu/ab1