| Termin | Definicja |
|---|---|
| Zarządzanie użytkownikami w SSMS | Zarządzanie użytkownikami w SSMS odbywa się z poziomu Object Explorer, w folderze Security danej bazy. Użytkownik bazy danych a logowanie do SQL ServerZarządzanie użytkownikami w SQL Server Management Studio (SSMS) rozpoczyna się w Object Explorerze od rozwinięcia instancji, wybrania konkretnej bazy danych, a następnie otwarcia folderu Security. W tym miejscu znajduje się folder Users, który zawiera użytkowników przypisanych do danej bazy. Użytkownik bazy danych nie jest tym samym obiektem co login instancji SQL Server. Login służy do uwierzytelnienia na poziomie instancji, natomiast użytkownik określa dostęp do konkretnej bazy danych. Jeden login może mieć użytkownika w kilku bazach, przy czym w każdej bazie użytkownik może otrzymać inny zestaw uprawnień. SQL Server rozróżnia logowania SQL Server, oparte na nazwie i haśle przechowywanym przez silnik, oraz logowania Windows, wykorzystujące konto użytkownika lub grupę systemu Windows. W przypadku grupy Windows uprawnienia można nadawać użytkownikowi reprezentującemu całą grupę, bez tworzenia osobnej konfiguracji dla każdego jej członka. Tworzenie i konfiguracja użytkowników w SSMSAby utworzyć użytkownika w graficznym interfejsie SSMS, należy kliknąć prawym przyciskiem folder Users w wybranej bazie i wybrać polecenie New User. W oknie konfiguracji wskazuje się typ użytkownika, nazwę użytkownika bazy oraz login, z którym użytkownik ma być powiązany. Dla użytkownika mapowanego na istniejący login wybiera się właściwe konto w polu Login name. Nazwa użytkownika w bazie może być taka sama jak nazwa loginu, ale nie jest to wymagane. Konfigurację można również wykonać za pomocą języka Transact-SQL. Przykładowe polecenie tworzy użytkownika bazy danych powiązanego z istniejącym loginem:
Jeżeli konto ma być używane tylko w określonej bazie, login można utworzyć na poziomie instancji, a następnie zmapować go na użytkownika w tej bazie. Przykładowo polecenie Role, schematy i nadawanie uprawnieńNajczęściej uprawnienia użytkownikom nadaje się przez role bazodanowe. W folderze Security znajduje się podfolder Database Roles, w którym można sprawdzić role istniejące w bazie, między innymi db_datareader, db_datawriter oraz db_owner. Rola db_datareader pozwala odczytywać dane ze wszystkich tabel i widoków użytkownika, a db_datawriter pozwala modyfikować dane w tabelach i widokach użytkownika. Członkostwo w db_owner daje pełną kontrolę nad bazą, dlatego powinno być ograniczone do kont, które rzeczywiście muszą wykonywać operacje administracyjne. Dodanie użytkownika do roli można wykonać w SSMS przez właściwości roli i zakładkę Members albo poleceniem T-SQL:
Dokładniejsze uprawnienia można nadawać bezpośrednio do obiektów. Przykład Schemat, taki jak dbo, jest przestrzenią nazw dla obiektów bazy i może również służyć do zarządzania uprawnieniami. Użytkownik może mieć domyślny schemat, ale nie oznacza to automatycznego dostępu do wszystkich obiektów znajdujących się w tym schemacie. Dostęp wynika z członkostwa w rolach oraz z poleceń GRANT, DENY i REVOKE zastosowanych do użytkownika, roli, schematu lub obiektu. Kontrola dostępu i bezpieczna obsługa kont w SSMSPodczas przeglądania użytkownika w SSMS należy sprawdzić jego mapowanie do loginu, członkostwo w rolach oraz uprawnienia nadane bezpośrednio. Właściwości użytkownika pozwalają przejść do członkostwa w rolach i uprawnień, natomiast pełny obraz często wymaga także sprawdzenia uprawnień odziedziczonych przez role. Samo usunięcie użytkownika z jednej roli nie musi odebrać mu dostępu, jeżeli to samo uprawnienie otrzymuje z innej roli albo z uprawnienia nadanego bezpośrednio. Usunięcie użytkownika z bazy wykonuje się w SSMS przez polecenie Delete albo za pomocą Do sprawdzenia bieżącego użytkownika i jego kontekstu można użyć zapytań |