INSTRUKCJE NADAJĄCE I ODBIERAJĄCE UPRAWNIENIA – GRANT I REVOKE

Instrukcje zabezpieczeń w języku SQL, które są wobec siebie symetryczne. GRANT – nadaje uprawnienia użytkownikom natomiast REVOKE je odbiera. Obie instrukcje podlegają pod DCL (Data Control Language zawierająca się w Data Definition Language) czyli podgrupa języka SQL odpowiadającą za kontrolę na danymi w bazie.

UPRAWNIENIA

Użytkownik ma pełne prawa do wszelkich utworzonych przez siebie obiektów w bazie. Praw tych nie można mu odebrać !

Uprawnienia nadawane w języku SQL dzielą się na dwie grupy :

-uprawnienia systemowe

- uprawnienia do dostępu.

UPRAWNIENIA SYSTEMOWE

Podlegają pod grupę DDL (Data Definition Language) odpowiedzialną za definiowanie danych języka SQL. Uprawnienia te umożliwiają użycie instrukcji CREATE, ALTER i DROP dla danego obiektu.

Dostęp do uprawnienia CREATE [object] automatycznie daje użytkownikowi przywileje ALTER i DROP.

UPRAWNIENIA DO DOSTĘPU

Podlegają pod grupę DML (Data Manipulation Language ) odpowiedzialną za modyfikacje danych języka SQL. Podstawowe instrukcje z tej grupy uprawnień to:

- SELECT (wybieranie)

- INSERT (wstawianie)

- UPDATE (aktualizowanie)

- DELETE (usuwanie)

- EXECUTE (wykonywanie przygotowanej instrukcji)

GRANT

Strona 38/50 Wykład_SQL3_3.pdf

w slajdzie brakuje tej instrukcji:

INDEX- do wykonywania instrukcji CREATE INDEX

Strona 39/50 Wykład_SQL3_3.pdf

Strona 40-45/50 Wykład_SQL3_3.pdf

/Przy składni GRANT w slajdach co Ci wypisałem porób wcięcia TABEM, tak jak zrobiłem poniżej w REVOKE, będzie bardziej czytelne./

REVOKE

REVOKE <lista_przywilejów>

ON<nazwa_obiektu>

TO<lista_uzytkowników>

[WITH GRANT OPTION]

Strona 46-50/50 Wykład_SQL3_3.pdf

Przykład wykorzystujący obie instrukcje:

Przykład:

Chcemy usunąć wszystkim użytkownikom wszystkie uprawnienia z tabeli Nauczyciele, następnie nadać uprawnienia SELECT i INDEX każdemu użytkownikowi oraz zaktualizować uprawnienia w poszczególnych kolumnach dla konkretnych użytkowników ( z możliwością nadawania przez nich uprawnień innym użytkownikom).

REVOKE ALL

ON Nauczyciele

FROM PUBLIC;

GRANT SELECT, INDEX

ON Nauczyciele

TO PUBLIC;

GRANT UPDATE (Title, City, SupNo)

ON Nauczyciele

TO Jan, Katarzyna

WITH GRANT OPTION;