GRANT OPTION w MySQL

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

Co to jest GRANT OPTION w MySQL?

GRANT OPTION to uprawnienie w MySQL pozwalające użytkownikowi nadawać innym użytkownikom te uprawnienia, które sam posiada. Nie jest to zwykłe prawo dostępu do tabeli lub bazy, lecz możliwość delegowania uprawnień.

W pytaniach egzaminacyjnych należy zapamiętać, że prawo do nadawania i modyfikowania uprawnień innym użytkownikom uzyskuje się przez klauzulę:

WITH GRANT OPTION

Przykład użycia

GRANT SELECT, INSERT
ON sklep.*
TO 'jan'@'localhost'
WITH GRANT OPTION;

Taki zapis oznacza, że użytkownik jan może wykonywać SELECT i INSERT w bazie sklep, a dodatkowo może nadać te same uprawnienia innym użytkownikom.

Ważne różnice

  • GRANT — instrukcja służąca do nadawania uprawnień.
  • WITH GRANT OPTION — pozwala przekazywać posiadane uprawnienia dalej.
  • ALL PRIVILEGES — nadaje wszystkie standardowe uprawnienia, ale samo w sobie nie oznacza prawa do ich dalszego nadawania.
  • FLUSH PRIVILEGES — odświeża tabele uprawnień, nie nadaje praw.
  • TRIGGER — dotyczy wyzwalaczy, a nie administracji użytkownikami.

Uwaga administracyjna

GRANT OPTION należy nadawać ostrożnie, ponieważ użytkownik z takim prawem może rozszerzać dostęp do danych na kolejne konta. W praktyce powinno być zarezerwowane głównie dla administratorów baz danych.