
Strona o szybkim czytaniu.
Wszystkie operacje, jakie można wykonywać w bazie danych Oracle są podzielone na tzw. uprawnienia. Użytkownik może wykonać jakąś operację tylko wtedy, jeżeli ma odpowiednie do tego uprawnienia.
Wszystkie uprawnienia dzielą się na dwie grupy: systemowe i obiektowe.
Uprawnienia systemowe decydują o możliwości wykonywania pewnych czynności w obrębie całego systemu. W bazie danych Oracle jest zdefiniowanych kilkadziesiąt różnych uprawnień systemowych.
Przykładami uprawnień systemowych mogą być:
CREATE TABLE
CREATE SESSION
GRANT ANY PRIVILEGE
DROP USER
Aby nadać użytkownikowi uprawnienie systemowe, należy wykonać polecenie:
GRANT uprawnienie{, uprawnienie}
TO użytkownik;
Aby odebrać użytkownikowi uprawnienie systemowe, należy wykonać polecenie:
REVOKE uprawnienie{, uprawnienie}
FROM użytkownik;
connect system/manager@baza
GRANT CREATE USER TO student;
Jeżeli chcemy, aby użytkownik, który otrzymał pewne uprawnienie systemowe, mógł przekazywać to uprawnienie dalej, możemy nadać to uprawnienie z opcją admin.
GRANT uprawnienie{, uprawnienie}
TO użytkownik
WITH ADMIN OPTION;
W takim wypadku użytkownik, który otrzymał uprawnienie z opcją admin może to uprawnienie przekazać innym użytkownikom również z opcją admin.
Uprawnienia systemowe nie są odbierane kaskadowo.
Uprawnienia obiektowe decydują, czy możemy wykonywać pewne operacje na konkretnym wskazanym obiekcie, np. czy możemy modyfikować dane w tabeli products
, lub, czy możemy odczytywać dane z tabeli clients
.
W bazie danych Oracle najczęściej wykorzystuje się następujące uprawnienia obiektowe:
SELECT
INSERT
UPDATE
DELETE
EXECUTE
ALL
W celu nadania uprawnienia obiektowego należy wykonać polecenie:
GRANT uprawnienie{, uprawnienie}
ON obiekt
TO użytkownik;
W celu odebrania przywileju obiektowego należy wykonać polecenie:
REVOKE uprawnienie{, uprawnienie}
ON obiekt
FROM użytkownik;
products
GRANT SELECT ON products TO janek;
Jeżeli chcemy, aby użytkownik, który otrzymał pewne uprawnienie obiektowe, mógł przekazywać to uprawnienie dalej, możemy nadać to uprawnienie z opcją grant
.
GRANT uprawnienie{, uprawnienie}
ON obiekt
TO użytkownik
WITH GRANT OPTION;
W takim wypadku użytkownik, który otrzymał uprawnienie z opcją grant
może to uprawnienie przekazać innym użytkownikom również z opcją grant
.
Uprawnienia obiektowe, w przeciwieństwie do systemowych, są odbierane kaskadowo.
Właściciel każdego obiektu ma do niego wszystkie uprawnienia wraz z opcją grant
i nie można mu tych uprawnień odebrać.