Tworzenie
użytkownika
W
celu stworzenia użytkownika dla bazy ORACLE musimy zalogować się
do niej jako sys, a następnie wydać polecenie, które nadaję
nowemu użytkownikowi nazwę, oraz hasło do logowania:
CREATE
USER nazwa_użytkownika IDENTIFIED BY hasło;
Nadawanie
uprawnień użytkownikowi
Następną
czynnością jest nadanie nowo stworzonemu użytkownikowi nadanie
odpowiednich uprawnień. Poniżej
widzimy
przykładowe uprawnienia:
CREATE
TABLE - umożliwia tworzenie tabel
CREATE
SESSION - umożliwia łączenie się z bazą
CREATE
VIEW - umożliwia tworzenie widoku
CREATE
USER - umożliwia tworzenie nowych
użytkowników
DROP
USER - umożliwia usuwanie użytkowników
SELECT
– umożliwia przeglądanie tabeli
UPDATE
- umożliwia zmianę wartości w tabeli
INSERT
- umożliwia dodawanie nowych wierszy w tabeli
DELETE
- umożliwia usuwanie wierszy w tabeli
Aby
nadać użytkowi uprawnienia wpisujemy:
GRANT
uprawnienie TO nazwa_uzytkownika;
Zmiana
hasła
W
celu zmiany hasła dla użytkownika wywołujemy następującą
komendę:
ALTER
USER nazwa_użytkownika identified by nowe_hasło;
ODBIERANIE
UPRAWNIEŃ UŻYTKOWNIKOWI
Aby
odebrać użytkownikowi uprawnienia należy wpisać komendę:
REVOKE
uprawnienie FROM nazwa_uzytkownika;
USUWANIE
UŻYTKOWNIKA
Aby
usunąć użytkownika wprowadzamy komendę:
DROP
USER nazwa_uzytkownika;
to
usuwanie jest możliwe do wykonania, kiedy użytkownik nie posiada w
swoim schemacie żadnych obiektów.
DROP
USER nazwa_uzytkownika CASCADE;
ten
sposób usuwamy wszystkie obiekty dodane/stworzone przez konkretnego
użytkownika
NADAWANIE
ROLI UŻYTKOWNIKOM
Nadając
użytkownikowi role, nadajemy mu pewien zbiór uprawnień zawartych w
danej roli. Najważniejsze role to:
DBA
- rola jaką ma użytkownik system. Posiada
wszystkie podstawowe uprawnienia niezbędne do
administrowania
bazą danych.
CONNECT,
RESOURCE- te dwie role zazwyczaj nadajemy
użytkownikom zaraz po ich stworzeniu. Pozwalają na
łączenie
się z bazą danych (CONNECT), oraz tworzenie obiektów w obrębie
swojego schematu.
PUBLIC
- Ta rola nadawana jest domyślnie każdemu
użytkownikowi przez system. Nadając jakieś
uprawnienie
tej roli otrzymają ją wszyscy.
GRANT
CONNECT, RESOURCE TO nazwa_uzytkownika;
TWORZENIE
WŁASNYCH ROLI
Poza
predefiniowanymi rolami mogą istnieć również role stworzone przez
nas samych (lub innych użytkowników).
Rolę
tworzymy poleceniem:
CREATE
ROLE nazwa_roli;
rolę
usuwamy komendą:
DROP
ROLE nazwa_roli;
Dzięki
temu zabiegowi użytkownik nie będzie mógł korzystać z uprawnień
z nią związanych zanim nie poda do niej hasła. W roli mogą
znajdować się zarówno polecenia obiektowe jak i systemowe. Do roli
mogą należeć inne role.
Uprawnienia
nadajemy roli poleceniem:
GRANT
uprawnienie TO nazwa_roli;
Np.
GRANT
CREATE TABLE TO nazwa_roli;
SPRAWDZANIE
PRZYZNANYCH ROLI I UPRAWNIEŃ ROLI
Aby
sprawdzić jakie role zostały nam przypisane możemy zajrzeć do
słownika user_role_privs:
SELECT
* FROM USER_ROLE_PRIVS;
Jako
użytkownik SYS możesz też sprawdzić jakie role zostały nadane
wszystkim użytkownikom:
SELECT
* FROM DBA_ROLE_PRIVS;
Oczywiście
możemy też na tym widoku wykonywać normalne selecty, więc bez
problemu sprawdzimy jakie role
zostały
przypisane wybranemu użytkownikowi.
Możemy
też sprawdzić jakie uprawnienia systemowe zostały przypisane roli:
SELECT
* FROM ROLE_SYS_PRIVS;
W
tym widoku zobaczymy jednak tylko uprawnienia systemowe. Aby zobaczyć
uprawnienia obiektowe, zaglądamy
do
słownika ROLE_TAB_PRIVS
SELECT
* FROM ROLE_TAB_PRIVS;
ODBIERANIE
ROLI UŻYTKOWNIKOM
Aby
odebrać rolę użytkownikowi wywołujemy komendę:
REVOKE
nazwa roli FROM nazwa_uzytkownika;
Czy jest możliwość sprawdzenia, który z użytkowników oracle od dłuższego czasu nie wykonał żadnego zapytania lub wisi tam bezczynnie - np. w celu zarezerwowania sobie licencji systemu ERP opartego o baze oracle?
OdpowiedzUsuńBardzo dobry wpis. Pozdrawiam serdecznie.
OdpowiedzUsuńBardzo ciekawie to zostało opisane.
OdpowiedzUsuń