| Termin | Definicja |
|---|---|
| Mapa logowania | Mapa logowania to zestawienie powiązań między loginami serwera a użytkownikami poszczególnych baz danych. Powiązanie logowania serwera z użytkownikiem bazyMapa logowania opisuje relację pomiędzy kontem rozpoznawanym przez instancję serwera baz danych a użytkownikiem zdefiniowanym wewnątrz konkretnej bazy. W terminologii Microsoft SQL Server logowanie, czyli Jedno logowanie może mieć użytkownika o tej samej lub innej nazwie w wielu bazach, a każda z tych relacji jest niezależna. Przykładowo login SID, typy podmiotów i skutki odtworzenia bazyW SQL Server podstawą powiązania loginu z użytkownikiem jest identyfikator SID, a nie sama nazwa tekstowa. Login przechowywany na poziomie instancji ma własny SID, podobnie jak użytkownik zapisany w bazie. Gdy wartości SID są zgodne, serwer może potraktować użytkownika bazodanowego jako mapowanie danego loginu. Z tego powodu dwa obiekty o identycznych nazwach nie muszą stanowić poprawnego powiązania. Zmiana nazwy loginu nie musi zerwać mapowania, natomiast usunięcie loginu i utworzenie nowego obiektu o tej samej nazwie może utworzyć inny SID. Informacje o loginach można analizować w widoku katalogowym Typowym problemem jest odtworzenie kopii bazy na innej instancji. Użytkownik zostaje wtedy przeniesiony razem z bazą, ale odpowiadający mu login może nie istnieć na serwerze docelowym albo może mieć inny SID. W efekcie konto może poprawnie przejść etap uwierzytelnienia, lecz nie uzyskać dostępu do bazy. Taki użytkownik bywa określany jako osierocony. Sama zmiana nazwy użytkownika nie naprawia problemu; trzeba odtworzyć właściwe powiązanie z istniejącym loginem, na przykład poleceniem Odczyt mapy i weryfikacja uprawnieńPrzy analizie mapy należy najpierw ustalić, czy login istnieje na poziomie instancji, a następnie sprawdzić jego odpowiednik w każdej bazie, do której ma mieć dostęp. W praktyce porównuje się nazwy, typy podmiotów i wartości SID. Przydatne są także kolumny Drugim etapem jest sprawdzenie, co użytkownik może robić po poprawnym zalogowaniu. Członkostwo w rolach bazodanowych opisuje widok Mapa powinna rozróżniać co najmniej cztery sytuacje: brak loginu, login bez użytkownika w danej bazie, użytkownik z niezgodnym SID oraz poprawne mapowanie z określonym zakresem uprawnień. Warto też zapisać stan konta, domyślną bazę loginu i sposób uwierzytelniania. Jeśli domyślna baza jest niedostępna, użytkownik może otrzymać błąd podczas logowania mimo poprawnych danych; w SQL Server można wtedy użyć innej dostępnej bazy jako punktu połączenia i osobno skorygować konfigurację loginu. Znaczenie mapy przy diagnostyce połączeńMapa logowania jest użyteczna podczas badania błędów aplikacji, migracji oraz przywracania kopii baz. Komunikat o odrzuconym logowaniu wskazuje zwykle na problem z uwierzytelnieniem, istnieniem loginu, hasłem, blokadą lub trybem uwierzytelniania. Komunikat o braku dostępu do konkretnej bazy może natomiast oznaczać brak użytkownika, niezgodność SID albo niewystarczające uprawnienia. Rozdzielenie tych etapów ogranicza ryzyko nadania zbyt szerokich praw tylko po to, aby ominąć nieprawidłowe mapowanie. Przed zmianą mapy należy ustalić, który login powinien reprezentować daną osobę, usługę lub aplikację, oraz sprawdzić zależności od schematów, ról i właścicieli obiektów. Nie powinno się usuwać użytkownika ani loginu bez sprawdzenia, czy nie jest właścicielem schematu, zadania lub obiektu zabezpieczeń. Po korekcie trzeba wykonać kontrolowane połączenie do właściwej bazy i potwierdzić zarówno dostęp do wymaganych obiektów, jak i brak dostępu do zasobów nieobjętych zakresem. Wynik warto zachować w dokumentacji administracyjnej wraz z datą, nazwą instancji i uzasadnieniem zmiany. |