BD-1st-2.4-lab14.tresc-1.1-Slajd15
Role (2)
Systemy zarządzania bazami danych często posiadają zestaw predefiniowanych ról systemowych. Np. w SZBD Oracle rola CONNECT zawiera przywilej systemowy CREATE SESSION, rola RESOURCE zawiera przywileje systemowe pozwalające użytkownikowi tworzyć relacje, indeksy, sekwencje, procedury i funkcje składowane w swoim własnym schemacie, natomiast rola DBA jest zbiorem przywilejów dla użytkownika – administratora bazy danych.
Polecenie tworzenia roli ma różną postać w zależności od sposobu autoryzacji roli. Jeśli rola nie ma mieć autoryzacji (użytkownik, który otrzymuje rolę, od razu uzyskuje uprawnienia roli), używamy polecenia CREATE ROLE <nazwa_roli>. Z kolei rola autoryzowana przez system zarządzania bazą danych wymaga od użytkownika, który ją otrzymuje, wykonania polecenia włączającego rolę. Konieczne wtedy jest podanie hasła – dopiero wtedy użytkownik otrzymuje przywileje roli. Polecenie tworzące rolę autoryzowaną przez SZBD to CREATE ROLE <nazwa_roli> IDENTIFIED BY <hasło>. Ostatni rodzaj autoryzacji roli, autoryzacja przez aplikację, pozwala na odblokowanie roli jedynie przez aplikację, używającą autoryzowanego pakietu (pakiety zostały dokładnie omówione w ćwiczeniu 13.). W tym przypadku po nazwie roli po klauzuli IDENTIFIED USING podaje się nazwę odpowiedniego pakietu.
Usunięcie roli jest realizowane poleceniem DROP ROLE <nazwa_roli>.