| Termin | Definicja |
|---|---|
| Widok sys.database_principals | sys.database_principals zawiera listę użytkowników, ról i schematów zdefiniowanych w bazie. Widok sys.database_principals – czym jest i do czego służyWidok W praktyce Wśród często analizowanych kolumn znajdują się sys.database_principals w kontekście technicznym i porównaniachW modelu bezpieczeństwa SQL Server trzeba rozróżnić trzy poziomy: logowanie, użytkownika bazy oraz uprawnienia. Logowanie jest obiektem rozpoznawanym na poziomie instancji, użytkownik znajduje się w konkretnej bazie, a uprawnienia określają zakres dozwolonych operacji. Do sprawdzania członkostwa użytkowników i ról stosuje się zwykle Warto odróżnić rolę stałą od roli utworzonej przez administratora. Informacja w Znaczenie ma także typ uwierzytelniania. W zależności od konfiguracji można spotkać użytkowników powiązanych z logowaniem, użytkowników niezależnych od logowania, konta mapowane na certyfikat lub klucz oraz inne typy podmiotów. Dlatego filtrowanie wyłącznie po nazwie może pomijać ważne elementy konfiguracji. Bezpieczniejsza analiza uwzględnia jednocześnie Typowe problemy przy analizie sys.database_principalsCzęstym problemem jest tak zwany osierocony użytkownik. Występuje on wtedy, gdy użytkownik istnieje w bazie, lecz jego powiązanie z odpowiednim logowaniem jest nieaktualne albo niezgodne z bieżącą konfiguracją. W widoku nadal może być widoczny poprawny wiersz, ale próba logowania lub uzyskania dostępu do obiektów kończy się odmową. Przy diagnozie należy więc porównywać dane katalogowe bazy z informacjami o logowaniach, a nie usuwać użytkownika bez sprawdzenia zależności. Inny przypadek to użytkownik, który ma dostęp szerszy, niż wynikałoby to z jego bezpośrednich wpisów. Przyczyną może być członkostwo w roli, zagnieżdżenie ról albo uprawnienie nadane na wyższym poziomie. Odczyt samego Problemy powoduje również niejednoznaczne rozumienie kolumny Podczas migracji bazy mogą pojawić się także duplikaty nazw, nieaktualne role i konta pozostałe po dawnych aplikacjach. Nie każda nieużywana pozycja powinna być od razu usuwana, ponieważ może być właścicielem obiektu albo elementem procedury wdrożeniowej. Przed zmianą warto ustalić właściciela, członków roli, zależne schematy i historię wykorzystania. Najbezpieczniejsza kolejność obejmuje inwentaryzację, potwierdzenie zakresu dostępu, przygotowanie kopii konfiguracji i dopiero późniejsze porządkowanie. Praktyczne wskazówki dla widoku sys.database_principalsPodstawowe zapytanie diagnostyczne powinno zwracać nazwę, identyfikator, opis typu, schemat domyślny oraz informacje o uwierzytelnianiu. Przydatne jest sortowanie po Przykładowy schemat zapytania może wyglądać następująco: Takiego wyniku nie należy interpretować w oderwaniu od bieżącej bazy. Przed wykonaniem analizy trzeba sprawdzić, czy kontekst jest właściwy, ponieważ identyczne zapytanie uruchomione w dwóch bazach może zwrócić zupełnie różne zestawy podmiotów. Przy automatyzacji warto unikać założeń opartych wyłącznie na identyfikatorach liczbowych, gdyż ich wartości mogą różnić się między bazami i środowiskami. Dobrym zwyczajem jest przygotowanie raportu obejmującego trzy zestawienia: podmioty z Nie powinno się zmieniać wpisów katalogowych przez bezpośrednią modyfikację tabel systemowych. Zarządzanie podmiotami należy wykonywać za pomocą poleceń DDL przeznaczonych do tworzenia, zmiany, mapowania i usuwania użytkowników oraz ról. Przed wykonaniem operacji trzeba rozważyć zależności, skutki dla aplikacji i możliwość odtworzenia poprzedniej konfiguracji. Kiedy zgłosić się z problemem widoku sys.database_principalsPomoc techniczna jest uzasadniona wtedy, gdy problem z dostępem nie wynika z jednego oczywistego ustawienia, pojawia się po przeniesieniu bazy, dotyczy wielu użytkowników albo wymaga uporządkowania ról i uprawnień. Warto przygotować nazwę bazy, komunikat błędu, moment wystąpienia problemu oraz informację, czy zmieniano ostatnio logowania, role lub schematy. Takie dane skracają etap rozpoznania i ograniczają ryzyko przypadkowego odebrania potrzebnego dostępu. W sprawach związanych z komputerem używanym do pracy z bazami można skorzystać z pomocy firmy Warszawskie Pogotowie Komputerowe 24/7. Przed przekazaniem urządzenia dobrze zabezpieczyć kopie zapasowe, zanotować sposób odtwarzania problemu i nie udostępniać haseł w treści zgłoszenia. Sama obecność wpisu w |