| Termin | Definicja |
|---|---|
| Widok sys.server_principals | sys.server_principals zawiera listę logowań i ról zdefiniowanych na poziomie serwera. Widok sys.server_principals — czym jest i do czego służyWidok Wynik zapytania do Sam widok nie jest mechanizmem nadawania uprawnień. Służy do odczytu metadanych i dostarcza punkt wyjścia do dalszej analizy. Na podstawie jego wyników można następnie sprawdzić członkostwo w rolach, uprawnienia serwerowe, powiązania z użytkownikami baz danych oraz aktywność poszczególnych logowań. Dzięki temu łatwiej oddzielić problem z istnieniem logowania od problemu z dostępem do konkretnej bazy, schematu lub obiektu. Widok sys.server_principals w kontekście warstw zabezpieczeńW SQL Server uprawnienia są rozłożone na kilka poziomów. Istotnym elementem porównania jest relacja między logowaniem a użytkownikiem bazy danych. Logowanie identyfikuje osobę, usługę albo grupę na poziomie instancji. Użytkownik bazy danych jest natomiast lokalnym odwzorowaniem tej tożsamości w określonej bazie. Gdy logowanie może się połączyć z serwerem, ale nie może otworzyć wybranej bazy, przyczyną bywa brak odpowiedniego użytkownika, niezgodność identyfikatora bezpieczeństwa albo ograniczenie wynikające z konfiguracji bazy. W takim przypadku sam odczyt Warto też odróżnić role serwerowe od ról bazodanowych. Rola serwerowa grupuje uprawnienia obowiązujące w obrębie instancji, a rola bazy danych porządkuje uprawnienia w jednej bazie. Członkostwo w jednej z tych struktur może wpływać na dostęp w zupełnie innym zakresie niż członkostwo w drugiej. Przegląd konfiguracji powinien więc uwzględniać nazwę podmiotu, typ, identyfikator, członkostwo w rolach oraz konkretne nadania i odmowy uprawnień. Widok sys.server_principals a typowe problemy z dostępemJednym z częstszych zastosowań widoku jest sprawdzenie, dlaczego logowanie nie działa mimo przekonania, że zostało utworzone. W pierwszej kolejności można zweryfikować, czy nazwa znajduje się wśród podmiotów zabezpieczeń, czy obiekt jest właściwego typu oraz czy pozostaje włączony. Błędny typ podmiotu może prowadzić do mylnego wniosku, że skonfigurowano konto indywidualne, podczas gdy w rzeczywistości utworzono grupę lub rolę. Równie ważne jest sprawdzenie, czy aplikacja korzysta z dokładnie tej instancji, na której wykonano konfigurację. Problem może dotyczyć także nieaktualnych kont. W środowisku, w którym zmieniają się osoby odpowiedzialne za obsługę systemu, pozostawione logowania zwiększają trudność przeglądu i mogą utrudniać ustalenie, kto powinien mieć dostęp. Odczyt z Inny przypadek to logowanie, które działa, ale otrzymuje komunikat o braku uprawnień. Wtedy widok potwierdza jedynie istnienie tożsamości na poziomie serwera. Należy jeszcze zbadać członkostwo w rolach, uprawnienia do bazy, mapowanie użytkownika oraz prawa do żądanego obiektu. Przydatne bywa porównanie identyfikatorów bezpieczeństwa, ponieważ sama zgodność nazw nie zawsze oznacza prawidłowe powiązanie. Szczególnej uwagi wymagają bazy przenoszone między instancjami, odtwarzane z kopii oraz konfiguracje, w których logowania były tworzone w różnym czasie. Nie należy również utożsamiać braku logowania z awarią samego silnika. Przyczyną może być tryb uwierzytelniania, blokada konta po stronie systemu, nieprawidłowe dane połączeniowe, reguły zapory, błędny adres instancji albo wybrana baza startowa. Widok sys.server_principals — praktyczne wskazówki do analizyPrzegląd warto rozpocząć od ograniczenia wyników do potrzebnego zakresu. Zamiast analizować wszystkie wiersze, można wyszukać konkretną nazwę, typ podmiotu albo stan aktywności. Przydatne jest również sortowanie według typu i nazwy, ponieważ ułatwia zauważenie podobnych wpisów, powtórzeń nazewniczych oraz kont utworzonych dla różnych celów. W środowisku testowym można dodatkowo porównywać wyniki w czasie, zachowując datę wykonania zestawienia i opis zmian. Podczas interpretacji kolumn należy rozdzielać dane opisowe od danych decyzyjnych. Nazwa pomaga zidentyfikować podmiot, ale dopiero typ informuje, czy chodzi o logowanie, grupę czy rolę. Identyfikator pozwala śledzić tożsamość bardziej precyzyjnie niż tekstowa nazwa. Informacja o stanie wskazuje, czy podmiot jest aktywny, lecz nie odpowiada na pytanie, czy ma dostęp do konkretnej bazy. Daty utworzenia i modyfikacji pomagają ustalić kolejność zmian, ale nie są dowodem bieżącego użycia konta. Warto zachować ostrożność przy automatyzacji. Skrypt generujący raport powinien uwzględniać uprawnienia osoby uruchamiającej, różnice wersji SQL Server oraz możliwość występowania nazw zawierających znaki specjalne. Wyniki można zestawić z informacjami o członkostwie w rolach i z lokalnymi użytkownikami baz danych, aby powstał pełniejszy obraz. Dobrą praktyką jest także dokumentowanie uzasadnienia dla kont usługowych, terminów przeglądu oraz osoby odpowiedzialnej za zatwierdzenie zmian. Odczyt katalogu nie powinien być mylony z kontrolą aktywności. To, że podmiot widnieje w Kiedy zgłosić się w sprawie widoku sys.server_principalsDo specjalistycznej diagnostyki warto zgłosić się wtedy, gdy nie można ustalić, dlaczego logowanie nie pojawia się w wynikach, gdy dostęp do jednej bazy działa, a do innej nie, albo gdy po przeniesieniu bazy występuje rozbieżność między logowaniem i użytkownikiem. Konsultacja jest również wskazana przed porządkowaniem wielu kont, zmianą członkostwa w rolach lub wyłączaniem wpisów, których przeznaczenie nie jest znane. W takich sytuacjach potrzebne jest spojrzenie na całą ścieżkę dostępu, a nie tylko na pojedynczy widok. Warszawskie Pogotowie Komputerowe 24/7 zajmuje się analizą problemów z działaniem komputerów i oprogramowania, gdy przyczyna wymaga uporządkowanego sprawdzenia konfiguracji. Przed przekazaniem urządzenia lub informacji dobrze przygotować opis objawów, nazwę używanej aplikacji, moment pojawienia się problemu oraz dostępne komunikaty. Nie należy przesyłać haseł ani pełnych danych uwierzytelniających. Wystarczające są bezpieczne, ograniczone informacje potrzebne do odtworzenia sytuacji i oceny konfiguracji. W przypadku widoku |