adatbázisok használata 1. (11. gyakorlat)

Post on 09-Feb-2016

41 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

DESCRIPTION

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

TRANSCRIPT

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

vitez.gergely@spectronet.hu

top related