Jak korzystać z ról SQL Server

Jak korzystać z ról SQL Server

Zastosowania serwera SQL to przechowywanie, pobieranie i manipulowanie danymi. Jedną z kluczowych funkcji serwera SQL jest możliwość przyznawania i zarządzania uprawnieniami dla różnych użytkowników i grup. Role SQL Server to potężne narzędzie, które pozwala administratorom bazy danych przypisać zestaw uprawnień do grupy użytkowników o podobnych potrzebach.

W tym artykule zawiera przewodnik na temat korzystania z ról SQL Server, w tym przegląd różnych rodzajów dostępnych ról, przykłady przypisania tych ról użytkownikom oraz wskazówki dotyczące zarządzania tymi ról.

Jakie są role SQL?

Role pozwalają DBA na bardziej wydajne zarządzanie uprawnieniami. Najpierw musimy stworzyć role. Następnie przypisujemy uprawnienia do ról, a następnie odpowiednio dodajemy loginy do ról.

Serwer SQL obsługuje głównie dwa rodzaje ról:

  • Naprawiono role serwera: Role te mają już predefiniowany zestaw uprawnień.
  • Role serwera zdefiniowanych przez użytkownika: Role te można zmienić, aby spełnić wymagania Twojej organizacji.

Rodzaje ról SQL Server

SQL Server zapewnia kilka wbudowanych ról, których można użyć do przypisania uprawnień użytkownikom. Oto niektóre z najczęstszych ról i odpowiadające im uprawnienia:

  • Bulkadmin: Członkowie stałej roli serwera Bulkadmin mogą uruchomić instrukcję „Wstawkę luzem”.
  • Sysadmin: Ta rola ma najwyższy poziom uprawnień i może wykonywać dowolne działania w instancji SQL Server, w tym tworzenie, modyfikowanie i usuwanie baz danych i loginów.
  • ServerAdmin: Ta rola może skonfigurować ustawienia na poziomie serwera, takie jak alokacja pamięci i protokoły sieciowe, ale nie może modyfikować baz danych.
  • SecurityAdmin: Ta rola może zarządzać loginami i ich uprawnieniami, w tym tworzeniem i modyfikowaniem loginów, ról i haseł.
  • ProcessAdmin: ProcessAdmin stałej rola serwera zapewnia jego członkom możliwość zakończenia lub zatrzymania procesów, które obecnie wykonują w instancji silnika bazy danych SQL Server.
  • DBCreator: Ma to uprawnienia do tworzenia, modyfikacji i usuwania baz danych, ale nie ma uprawnień do wykonywania innych obowiązków administracyjnych.
  • Diskadmin: Ta rola może zarządzać plikami dysku, takimi jak tworzenie i usuwanie plików oraz dodawanie lub usuwanie dysków.
  • Datareader: Rola Datareader ma możliwość dostępu i odczytania wszystkich informacji przechowywanych w tabelach użytkowników bazy danych.
  • DataWriter: Rola DataWriter ma uprawnienia do wstawienia, aktualizacji i usuwania danych ze wszystkich tabel użytkowników w bazie danych.
  • ddladmin: Ta rola może tworzyć, modyfikować i upuszczać wyzwalacze DDL i obiekty (widoki, tabele i procedury przechowywane).
  • publiczny: Domyślnie wszyscy użytkownicy, grupy i role serwera SQL są automatycznie uwzględnione w roli publicznej stałych serwerów.

Tworzenie roli serwera zdefiniowanego przez użytkownika za pomocą GUI

Tworzenie roli serwera zdefiniowanego przez użytkownika w serwerze SQL można wykonać za pośrednictwem GUI za pomocą SQL Server Management Studio (SSMS). Aby utworzyć rolę serwera zdefiniowanego przez użytkownika za pomocą GUI w SSMS, wykonaj następujące kroki:

1. Uruchom SQL Server Management Studio (SSMS) i nawiązuj połączenie z konkretną instancją SQL Server.

2. Przejdź do bezpieczeństwa -> Role serwera-> nowa rola serwera.

3. Podaj nazwę nowej roli na stronie ogólnej.

4. Podaj setury na poziomie serwera, które rola będzie miała uprawnienia na stronie Securables.

5. Dodaj dowolne użytkowników lub inne role na stronie członków.

Tworzenie i korzystanie z roli serwera za pośrednictwem T-SQL

Tworzenie i korzystanie z roli serwera za pomocą T-SQL na serwerze SQL to kolejny sposób zarządzania uprawnieniami na poziomie serwera. Aby utworzyć rolę serwera zdefiniowanego przez użytkownika za pomocą T-SQL, musimy wykonać te kroki:

1. Otwórz nowe okno zapytania i wykonaj następujący kod, aby utworzyć nową rolę serwera:

-- << Create a user defined Server role
Użyj [Master]
IŚĆ
Utwórz rolę serwera [Junior DBA]
IŚĆ

W tym przykładzie tworzymy nową rolę serwera - „Junior DBA”.

2. Wykonaj następujący kod, aby udzielić uprawnień do nowej roli:

Użyj [Master]
IŚĆ
Grant Utwórz dowolną bazę danych --<< now can create db
Do [junior dba]
IŚĆ

W tym przykładzie zezwalamy na nową rolę „Junior DBA” na tworzenie baz danych.

Daj wyświetl dowolną bazę danych --<< only can view any db but not tables
Do [junior dba]
IŚĆ

W tym przykładzie polecenie „Widok dotacji dowolna baza danych” służy do udzielania pozwolenia na poziomie serwera, która umożliwia rolę zobaczenia metadanych dla dowolnej bazy danych na serwerze. W takim przypadku udzielamy tego zgody na rolę serwera „Junior DBA”, którą stworzyliśmy wcześniej.

Należy jednak zauważyć, że przyznanie uprawnień „Wyświetl dowolną bazę danych” nie daje użytkownikowi ani roli uprawnień do dostępu do jakichkolwiek danych w bazach danych - pozwala im po prostu zobaczyć metadane (takie jak nazwy baz danych i schematy).

3. Dodaj login lub konto użytkownika do nowej roli, wykonując następujący kod:

--Dodaj loginy SQL do nowej roli serwera
Alter Server Rola [Junior DBA]
Dodaj członek [Papan]
IŚĆ
Alter Server Rola [Junior DBA]
Dodaj członek [Rima]
IŚĆ

W tym przykładzie dodajemy relacje „Papan” i „Rima” jako członkowie roli „Junior DBA”.

Wniosek

Role SQL Server zapewniają potężne narzędzie do zarządzania uprawnieniami w środowisku bazy danych. Przypisując użytkownikom role, możesz upewnić się, że mają odpowiedni poziom dostępu do danych, których potrzebują, nie podając im niepotrzebnych uprawnień. Niezależnie od tego, czy zarządzasz małą bazą danych, czy dużym systemem przedsiębiorstw, zrozumienie, jak korzystać z ról SQL Server, jest ważną umiejętnością, która może pomóc utrzymać bezpieczeństwo i integralność danych.