Przejdź do głównej treści

Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych

Zawód: Technik informatyk, Technik programista

Kategorie: Bazy danych Administracja serwerem i bezpieczeństwo

W języku SQL wykonano przedstawione polecenia GRANT. Kto otrzymał prawo do usuwania rekordów z tabel bazy firma?

GRANT ALL ON firma.* TO 'ewa'@'localhost';
GRANT SELECT, DELETE ON firma.* TO 'piotr'@'localhost';
GRANT CREATE, DROP, INDEX ON firma.* TO 'marek'@'localhost';
A. Ewa i Marek
Źle. Marek nie ma prawa DELETE, a DROP dotyczy obiektów, nie wierszy.
B. Piotr i Marek
Źle. Marek ma DROP, które usuwa całe tabele, a nie wybrane rekordy.
C. Ewa i Piotr
Dobrze. Piotr ma DELETE wprost, a Ewa przez ALL, które obejmuje wszystkie prawa.
D. Tylko Piotr
Źle. Ewa też może usuwać rekordy, bo ALL obejmuje DELETE.

Poprawna jest odpowiedź: Ewa i Piotr. Usuwanie rekordów to operacja DELETE. Piotr dostał ją wprost, obok SELECT, a Ewa otrzymała ALL, czyli wszystkie uprawnienia do bazy (poza nadawaniem ich innym, które wymaga WITH GRANT OPTION). Zapis firma.* oznacza wszystkie tabele bazy firma.

Do zapamiętania: uprawnienia dzielą się na operacje na danych (SELECT, INSERT, UPDATE, DELETE) i operacje na strukturze (CREATE, ALTER, DROP, INDEX). Nadane prawa sprawdza się poleceniem SHOW GRANTS FOR 'piotr'@'localhost';, a odbiera poleceniem REVOKE.

Uprawnienia nadaje się zgodnie z zasadą najmniejszych przywilejów - każdy dostaje tylko to, czego potrzebuje.

Najczęstsza pomyłka to uznanie, że DROP usuwa rekordy. DROP usuwa całe obiekty bazy - tabele, widoki albo samą bazę - razem z ich strukturą. Marek może więc skasować tabelę w całości, ale nie ma prawa DELETE, czyli usuwania wybranych wierszy przy zachowaniu tabeli. Dlatego zestawy z Markiem odpadają.

Odpowiedź „tylko Piotr” pomija skrót ALL. Ewa nie ma w poleceniu wymienionego słowa DELETE, ale ALL obejmuje wszystkie uprawnienia na wskazanym poziomie, w tym usuwanie rekordów. Czytając polecenia GRANT, warto przypisać każdej osobie pełną listę praw, rozwijając ALL, i dopiero wtedy szukać tego jednego, o które pyta zadanie. Przy pytaniu o dane liczą się SELECT, INSERT, UPDATE i DELETE.

Z tego samego powodu prawo DROP daje się zwykle tylko administratorowi, a nie użytkownikom aplikacji.

Wymagane logowanie

Ocenianie trudności pytań jest dostępne tylko dla zalogowanych użytkowników. Zaloguj się, aby skorzystać z pełni możliwości platformy.

Twoja ocena pomoże innym uczniom w przygotowaniu do egzaminu, a Tobie pozwoli na dostęp do spersonalizowanych statystyk.

Zgłoś błąd w pytaniu

Rozwiń sekcję i zmień pole, którego dotyczy błąd. Wysłane zostaną tylko zmienione sekcje.

Błędna kwalifikacja
Błąd w treści pytania
Błąd w treści odpowiedzi
Błąd w obrazie
Dane kontaktowe (opcjonalnie)
Podaj email, jeśli chcesz otrzymać informację o rozpatrzeniu zgłoszenia.