Zarządzanie użytkownikami jest kluczowym elementem administracji bazą danych. Obejmuje ono tworzenie użytkowników oraz kontrolowanie tego, jakie operacje mogą wykonywać w bazie danych.
Tworzenie użytkowników
Tworzenie użytkowników w SQL odbywa się za pomocą komendy CREATE USER. Nowo utworzony użytkownik domyślnie nie posiada żadnych uprawnień i musi otrzymać stosowne prawa do bazy danych.
Składnia:
CREATE USER 'nazwa_użytkownika'@'host' IDENTIFIED BY 'haslo';
- nazwa_użytkownika – nazwa użytkownika, który ma być tworzony,
- host – określa, z jakiej lokalizacji dany użytkownik może się łączyć (np.
localhost
dla połączeń lokalnych lub%
dla dowolnego hosta), - haslo – hasło zabezpieczające konto użytkownika.
Przykłady:
-
Utwórz użytkownika
jan
mogącego łączyć się z bazy danych z lokalnego hosta:CREATE USER 'jan'@'localhost' IDENTIFIED BY 'haslo123';
-
Utwórz użytkownika
anna
z dostępem z dowolnego miejsca:CREATE USER 'anna'@'%' IDENTIFIED BY 'bezpiecznehaslo'
Nadawanie uprawnień: GRANT, REVOKE
Aby użytkownik mógł wykonywać operacje w bazie danych, należy nadać mu odpowiednie uprawnienia. W SQL służą do tego polecenia GRANT (nadanie uprawnień) i REVOKE (cofnięcie uprawnień).
Instrukcja GRANT
Nadawanie uprawnień za pomocą GRANT pozwala określić, co użytkownik może robić w bazie danych.
Składnia:
GRANT lista_uprawnień ON zakres TO 'nazwa_użytkownika'@'host';
- lista_uprawnień – jakie uprawnienia nadajemy (np. SELECT, INSERT, UPDATE),
- zakres – określa, na jakich zasobach mają obowiązywać uprawnienia (np. konkretna tabela albo cała baza danych),
- nazwa_użytkownika – użytkownik, któremu nadajemy uprawnienia.
Przykłady:
-
Pozwól użytkownikowi
jan
używać baz danych:GRANT ALL PRIVILEGES ON *.* TO 'jan'@'localhost';
-
Przyznaj użytkownikowi
anna
prawo do odczytu danych z tabeliKlienci
w bazieSklep
:GRANT SELECT ON Sklep.Klienci TO 'anna'@'%';
Instrukcja REVOKE
REVOKE służy do cofania uprawnień nadanych wcześniej przy użyciu polecenia GRANT.
Składnia:
REVOKE lista_uprawnień ON zakres FROM 'nazwa_użytkownika'@'host';
Przykład: Cofnij użytkownikowi anna
prawo do odczytu z tabeli Klienci
:
REVOKE SELECT ON Sklep.Klienci FROM 'anna'@'%';
Po cofnięciu wszystkich uprawnień użytkownik nie będzie mógł wykonywać żadnych operacji na bazie danych, dopóki nie zostaną na nowo przyznane.