background image

Użytkownik

 – osoba lub aplikacja, która jest 

uprawniona do dostępu do danych zgromadzonych w 
bazie danych

Schemat

 – zbiór logicznych struktur danych (tabel, 

perspektyw, ograniczeń, indeksów, programów 
składowanych, itd.) – każdy użytkownik ma przypisany 
schemat, który należy rozumieć jako konto 
użytkownika

– schemat jest własnością określonego użytkownika

– schemat posiada swoją nazwę – nazwa schematu jest 

zgodna z nazwą użytkownika, który jest właścicielem 
schematu

Schematy

background image

Schematy i użytkownicy

Schemat 
A

Schemat 
B

BAZA DANYCH:

 

wypożyczalnia

SELECT *
FROM 
B.samochody;

SELECT *
FROM 
samochody;

SELECT *
FROM 
samochody;

użytkownik 
A

użytkownik 
B

background image

Uwierzytelnianie - weryfikacja tożsamości 
użytkownika bazy danych

Metody realizacji uwierzytelnień:

– 

uwierzytelnianie przez SZBD

– uwierzytelnianie przez system operacyjny

– uwierzytelnianie przez usługę sieciową

– uwierzytelnianie wielowarstwowe

Uwierzytelnianie użytkowników

background image

Autoryzacja - proces weryfikacji uprawnień użytkownika 

do wykonywania określonych operacji na bazie danych

Ograniczenia mogą dotyczyć:

obiektów i operacji

• system przywilejów
• role bazodanowe

wykorzystania zasobów systemowych bazy danych

• profile

Autoryzacja użytkowników

background image

• Przywilej – prawo wykonywania przez 

użytkownika określonej akcji w bazie 
danych lub dostępu do określonego 
obiektu

Rodzaje przywilejów:

– systemowe
– obiektowe

Przywileje

background image

Prawa wykonania określonej akcji lub wykonania 

określonej operacji na wskazanym typie obiektu w 

schemacie bazy danych

Przykłady:

– CREATE SESSION
– CREATE TABLE
– CREATE ANY TABLE
– SELECT ANY TABLE
– INSERT ANY TABLE
– DROP ANY VIEW

Przywileje systemowe

background image

GRANT <przywileje>
TO <użytkownicy> | PUBLIC
[WITH ADMIN OPTION];

Nadawanie przywilejów 

systemowych

• Polecenie 

GRANT

 służy do nadawania użytkownikowi 

przywilejów systemowych

• PUBLIC

 służy do nadania przywilejów wszystkim użytkownikom

• WITH ADMIN OPTION

 umożliwia użytkownikowi, który otrzymał 

przywilej przekazania go dalej innym użytkownikom

background image

REVOKE <przywileje>
FROM <użytkownicy> | PUBLIC;

Odbieranie przywilejów 

systemowych

Przykład

GRANT CREATE SESSION, SELECT ANY TABLE TO B;
GRANT 
CREATE TABLE TO A;
REVOKE SELECT ANY TABLE FROM B;

background image

Prawa wykonania określonej operacji na 
wskazanym obiekcie w określonym schemacie 
bazy danych

Przykłady:

– SELECT ON wypozyczenia
– ALTER ON samochody
– EXECUTE ON Wyszukaj_samochod
– REFERENCES ON samochody

Przywileje obiektowe

background image

Przywileje obiektowe

Przywilej

Tabela

Perspektyw

a

Procedura/

funkcja/pakie

t

Sekwencj

a

ALTER

+

+

DELETE 

+

+

EXECUTE

+

INDEX

+

INSERT

+

+

REFERENCE
S

+

+

SELECT

+

+

+

UPDATE

+

+

background image

GRANT <przywileje> | ALL ON <obiekt>
TO <użytkownicy> | PUBLIC
[WITH GRANT OPTION];

Nadawanie przywilejów obiektowych

przywileje 

INSERT, UPDATE i REFERENCES

mogą dotyczyć kolumn tabeli

background image

REVOKE <przywileje> | ALL ON <obiekt>
FROM <użytkownicy> | PUBLIC
[CASCADE CONSTRAINTS];

Odebranie przywilejów obiektowych

GRANT SELECT ON klienci TO B;
GRANT UPDATE(marka, model) ON samochody TO A;
REVOKE DELETE ON klienci FROM B;

Przykład

background image

Rola

 – nazwany zbiór przywilejów

ułatwiają zarządzanie przywilejami

użytkownik może mieć wiele ról

rola może zostać przyznana wielu użytkownikom 

Przykłady zastosowań

– role aplikacyjne – grupują przywileje potrzebne 

do działania określonej aplikacji

– role użytkowników – tworzone dla grup 

użytkowników, którzy mają takie same 
przywileje

Role

background image

Predefiniowane role w SZBD Oracle: 

CONNECT, RESOURCE, DBA

Tworzenie roli:
– bez autoryzacji

– autoryzowanej przez SZBD

– autoryzowanej przez aplikację

Usunięcie roli

Role

CREATE ROLE <nazwa>;

CREATE ROLE <nazwa> IDENTIFIED BY 

<hasło>;

CREATE ROLE <nazwa> IDENTIFIED USING <pakiet>;

DROP ROLE <nazwa>;

background image

Nadawanie przywilejów roli:

Nadawanie roli użytkownikowi

Odbieranie przywilejów roli

Odbieranie roli użytkownikowi

Role

GRANT <przywileje> [ON <obiekt>] TO <role>;

GRANT <role> TO <użytkownicy> | <role> | PUBLIC
[WITH ADMIN OPTION];

REVOKE 

przywileje

 

> [ON <obiekt>] FROM <role>;

REVOKE <role> FROM <użytkownicy>|<role> 

PUBLIC;

background image

Zablokowanie/odblokowanie roli dla bieżącej sesji

Przykład

Role

SET ROLE [ <nazwa> [ IDENTIFIED BY <hasło> ]
ALL [EXCEPT <nazwa>
NONE ];

CREATE ROLE wypożyczający IDENTIFIED BY pass123;
GRANT SELECT, UPDATE, DELETE ON wypożyczenia TO
wypożyczający;
GRANT wypożyczający TO KOWALSKI;


Document Outline