Przejdź do głównej treści
  1. Strona główna
  2. Słownik
  3. INF.03
  4. GRANT i REVOKE w SQL

GRANT i REVOKE w SQL

Słownik kwalifikacji INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych

GRANT i REVOKE to polecenia języka SQL należące do grupy DCL (Data Control Language), czyli poleceń służących do nadawania i odbierania uprawnień użytkownikom bazy danych.

Polecenie GRANT

GRANT nadaje użytkownikowi wskazane uprawnienia do obiektu bazy danych, np. tabeli.

GRANT SELECT, INSERT ON klienci TO adam;

To polecenie oznacza, że użytkownik adam może przeglądać dane z tabeli klienci oraz dodawać do niej rekordy.

Często spotykane uprawnienia:
- SELECT - odczyt danych,
- INSERT - dodawanie rekordów,
- UPDATE - modyfikowanie rekordów,
- DELETE - usuwanie rekordów,
- ALTER - zmiana struktury tabeli,
- DROP - usunięcie tabeli,
- ALL PRIVILEGES - nadanie wszystkich dostępnych uprawnień.

Polecenie REVOKE

REVOKE odbiera wcześniej nadane uprawnienia.

REVOKE SELECT, INSERT, UPDATE ON klienci FROM adam;

Po tym poleceniu użytkownik adam traci możliwość odczytu, dodawania i modyfikowania danych w tabeli klienci.

Jak analizować kolejność poleceń?

Uprawnienia należy analizować po kolei. Jeśli najpierw wykonano:

GRANT ALL PRIVILEGES ON klienci TO adam;

a następnie:

REVOKE SELECT, INSERT, UPDATE ON klienci FROM adam;

to użytkownik miał wszystkie uprawnienia, ale stracił SELECT, INSERT i UPDATE. Nadal pozostają mu inne uprawnienia, np. DELETE lub DROP, czyli może usuwać rekordy albo tabelę, jeśli takie uprawnienia obejmuje ALL PRIVILEGES w danym systemie bazodanowym.

Wniosek egzaminacyjny

Jeżeli odebrano tylko SELECT, INSERT i UPDATE, to użytkownik nie może przeglądać, dodawać ani modyfikować danych, ale może nadal mieć prawo do usuwania danych lub tabeli.