Przywileje obiektowe w SQL

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

Przywileje obiektowe to uprawnienia nadawane do konkretnych obiektów bazy danych, takich jak tabela, widok, procedura, funkcja lub sekwencja. Nie dotyczą one zarządzania całym systemem bazy danych ani kontami użytkowników.

Najprościej: przywilej obiektowy odpowiada na pytanie: co użytkownik może zrobić z konkretnym obiektem?

Przykładowe przywileje obiektowe

Typowe przywileje obiektowe to:

  • SELECT — odczyt danych z tabeli lub widoku,
  • INSERT — dodawanie rekordów,
  • UPDATE — modyfikowanie rekordów,
  • DELETE — usuwanie rekordów,
  • REFERENCES — tworzenie kluczy obcych odwołujących się do tabeli,
  • EXECUTE — wykonywanie procedury lub funkcji.

Przykład

GRANT SELECT, INSERT ON sklep.klienci TO 'adam'@'localhost';

To polecenie pozwala użytkownikowi adam odczytywać i dodawać dane w tabeli klienci w bazie sklep.

Odebranie takiego uprawnienia może wyglądać tak:

REVOKE INSERT ON sklep.klienci FROM 'adam'@'localhost';

Po tej operacji użytkownik może nadal mieć prawo odczytu, ale traci możliwość dodawania rekordów.

Przywileje obiektowe a systemowe

Przywileje obiektowe dotyczą konkretnego obiektu, np. tabeli klienci. Przywileje systemowe dotyczą szerszych działań administracyjnych, np. tworzenia użytkowników lub zarządzania uprawnieniami.

Zapamiętaj

Jeżeli w pytaniu pojawia się konkretna tabela, widok lub procedura oraz operacje typu SELECT, INSERT, UPDATE, DELETE, chodzi zwykle o przywileje obiektowe. Jeżeli pytanie dotyczy kont użytkowników i administracji bazą, chodzi raczej o przywileje systemowe.