SQL GRANT

Tworząc i administrując bazami danych przychodzi taki moment kiedy potrzebujemy nadać komuś uprawnienia do naszej bazy i niekoniecznie chcemy aby miał on wszystkie uprawnienia do całej naszej bazy np. jakiś analityk potrzebuje robić okresowe zestawienia sprzedaży, jakaś aplikacja korzysta z naszej bazy danych itd. Zwróć uwagę, że jenek użytkownik potrzebuje większe uprawnienia np. odczyt ale również i zapis danych na jakichś tabelach, a drugiemu użytkownikowi wystarczy tylko odczyt na jednej tabeli. Rozwiązaniem tej sytuacji jest stworzenie użytkownika na bazie i nadanie mu odpowiednich uprawnień. Możemy to zrobić dzięki poleceniu GRANT. Jedna uwaga we różnych środowiskach bazodanowych uprawnienia nadajemy w różny sposób tzn. niektóre środowiska jak np. SQL Server wymaga już utworzonego użytkownika i dopiero dla utworzonego użytkownika możemy nadać uprawnienia.


    


Składnia GRANT

GRANT
    uprawnienia_użytkownika ON nazwa_tabeli TO nazwa_użytkownika

uprawnienia użytkownika – to lista która może zawierać jedno lub więcej (oddzielonych przecinkami) uprawnień które chcemy nadać użytkownikowi
nazwa tabeli – tutaj wpisujemy nazwę tabeli na którą chcemy nadać uprawnienie
nazwa_użytkownika – tutaj wpisujemy nazwę użytkownika, któremu chcemy nadać uprawnienia 


Nadawanie uprawnień w SQL SERVERZE

Krok 1. Uruchamiamy Management Studio

Krok 2. Przechodzimy do gałęzi Security -> Logins i sprawdzamy czy nasz użytkownik (któremu chcemy nadać uprawnienia) jest na liście. Jeżeli jest to z poziomu okna zapytań możemy poleceniem GRANT nadać użytkownikowi wymagane uprawnienia. Jeżeli użytkownika nie ma na liście klikamy prawym przyciskiem myszy (dalej PPM) i z menu wybieramy opcję "New Login"

Krok 3. W oknie "Login – New" wprowadzamy nazwę użytkownika (UWAGA wymagana jest pełna nazwa użytkownika razem z domeną: domena\nazwa_użytkownika), możemy określić metodę autektykacji użytkownika a nawet domyślą bazę danych. Po wypełnieniu formatki potwierdzamy nasz wybór przyciskiem OK. W tym momencie nasz użytkownik powiniem znaleźć się na liście Security -> Logins

sql grant sql server

Krok 4. W oknie zapytań wybieramy odpowiedni kontekst (odpowiednią bazę danych) i poleceniem GRANT nadajemy odpowiednia uprawnienia naszemu użytkownikowi np.
GRANT select ON Wypozyczenia TO [DESKTOP\USER]

Krok 5. Teraz we właściwościach tabeli Wypozyczenia możemy sprawdzić i zobaczyć czy uprawnienia zostały nadane. W tym celu klikamy PPM na tabeli Wypozyczenia w bazie Biblioteka i wybieramy opcję Properties. W oknie "Table Properties – Wypozyczenia" w sekcji "Select a page" klikamy na "Permissions". Na poniższym zrzucie widzimy nadane uprawnienie SELECT dla użytkowniak USER.

sql grant sql server


Nadawanie uprawnień w PhpMyAdmin (MySQL)

Krok 1. Łączymy się z PhpMyAdmin

Krok 2. W oknie głównym szukaj opcji "User accounts" i dalej "Add user account".

sql grant phpmyadmin mysql

Krok 3. W kolejnym oknie wypełniamy informacje w sekcji "Login information". Są to informacje dotyczące użytkowniak, a następnie zjeżdżamy stroną w dół i wypełniamy jakie uprawnienia chcemy nadać temu użytkownikowi i potwierdzamy nasz wybór przyciskiem GO na dole strony.

sql grant phpmyadmin mysql

sql grant phpmyadmin mysql

Krok 4. Pojawi nam się nowe okno gdzie zostaniemy poinformowani o pozytywnym nadaniu uprawnień oraz zobaczymy polecenie którym serwer nadał uprawnienia użytkownikowi. Możemy z niego wyczytać, że na początku został utworzony nowy użytkownik o nazwie "user" i nadano mu odpowiednie uprawnienia.
sql grant phpmyadmin mysql

GRANT SELECT ON *.* TO 'user'@'localhost'

widzimy, że użytkownikowi 'user' zostało nadane upoważnienie SELECT na wszytkich tabelach *.*