Konfiguracja ograniczonej delegacji protokołu Kerberos dla serwera MSSQL(TDS)¶
Informacja
Jest to ogólna instrukcja, mająca na celu przybliżenie procesu konfigurowania usługi. Pewne aspekty mogą się różnić w zależności od konfiguracji środowiska Windows Server. Szczegółową instrukcję znajdziesz w dokumentacji Windows Server.
Konfiguracja uwierzytelniania Kerberos na serwerze Windows¶
Konfiguracja DNS:
- Uruchom aplikację Server Manager.
- Kliknij przycisk Tools w prawym górnym rogu okna, aby rozwinąć listę menu, i wybierz DNS.
![]()
- Przejdź do Forward Lookup Zones.
- Dodaj rekord A: kliknij prawym przyciskiem myszy na wybranej nazwie domeny i wybierz New Host (A lub AAAAA).
- Podaj Nazwę i Adres IP panelu administracyjnego Fudo Enterprise (np.
mgmt.qa.fudo, 10.0.32.241
).- Kliknij Add Host.
![]()
Tworzenie konta użytkownika serwisowego:
W tej sekcji dodajemy użytkownika serwisowego mssqluser
, który będzie reprezentował serwis MSSQL w domenie.
- Zaloguj się na serwer, na którym chcesz skonfigurować Kerberos, używając konta administratora.
- Uruchom aplikację Server Manager.
- Kliknij przycisk Tools w prawym górnym rogu okna, aby rozwinąć listę menu, i wybierz Active Directory Users and Computers.
![]()
- W oknie Menedżera przejdź do nazwy domeny lub wybranej grupy użytkowników i kliknij prawym przyciskiem myszy na katalogu Użytkownicy.
- Wybierz New > User.
- Utwórz użytkownika (np. Nazwa logowania użytkownika:
mssqluser
).![]()
- Kliknij Next.
- Podaj hasło dla utworzonego użytkownika (np.
PaSSwOrD
) i zaznacz opcję Hasło nigdy nie wygasa.- Kliknij Next, a następnie Finish.
![]()
Dodanie SPN (Service Principal Name):
Wywołaj poniższe polecenie w konsoli PowerShell lub CMD:
setspn -S <klasa usługi>/<nazwa serwera>.<domena>:<port>@<domena> <konto serwisowe>
Przykład:
setspn -S MSSQLSvc/WIN2019-DC1.qa.fudo:1433@QA.FUDO mssqluser
SQL Server Configuration Manager:
Tworzenie użytkownika serwisowego reprezentującego MSSQL na Fudo:
W tej sekcji dodajemy konto serwisowe mssqlfudo
, które będzie reprezentować usługę MSSQL w Fudo Enterprise.
- Uruchom aplikację Server Manager.
- Kliknij przycisk Tools w prawym górnym rogu okna i wybierz Active Directory Users and Computers.
- W oknie Menedżera przejdź do nazwy domeny lub wybranej grupy użytkowników i kliknij prawym przyciskiem myszy na katalogu Użytkownicy.
- Wybierz New > User.
- Utwórz użytkownika, który będzie korzystał z delegacji Kerberos do logowania na serwer MSSQL(TDS) (np. Nazwa logowania użytkownika:
mssqlfudo
).![]()
- Kliknij Next.
- Podaj hasło dla utworzonego użytkownika (np.
PaSSwOrD
) i zaznacz opcję Hasło nigdy nie wygasa.- Kliknij Next, a następnie Finish.
Dodanie SPN dla użytkownika MSSQL na Fudo:
Wywołaj poniższe polecenie w konsoli PowerShell lub CMD:
setspn -S <klasa usługi>/<nazwa panelu admina Fudo>:<port>@<domena> <konto serwisowe>
Przykład:
setspn -S MSSQLSvc/mgmt.qa.fudo:1433@QA.FUDO mssqlfudo
Delegacja Kerberos
Informacja
- Po ustawieniu SPN dla użytkownika
mssqlfudo
w oknie edycji użytkownika pojawi się nowa zakładka Delegation.- Jeśli zakładka Delegation nie jest widoczna, spróbuj odświeżyć konsolę Active Directory Users and Computers.
Kliknij prawym przyciskiem myszy na konto
mssqlfudo
(utworzone w poprzednich krokach) w oknie Active Directory Users and Computers i wybierz Properties.Przejdź do zakładki Delegation.
Zaznacz Trust this user for delegation to specified services only.
Wybierz opcję Use Kerberos only.
Dodaj usługi:
- Kliknij przycisk Add.
- W oknie Select Users or Computers wpisz
mssqluser
i kliknij Check Names, aby upewnić się, że nazwa jest prawidłowa.- Kliknij OK, aby kontynuować.
![]()
Wybierz usługi do delegacji:
- W oknie Add Services pojawi się lista SPN-ów powiązanych z kontem
mssqluser
.- Możesz wybrać wszystkie dostępne usługi lub wskazać konkretne SPN-y.
- Kliknij OK, aby zatwierdzić wybór.
Kliknij Apply, a następnie OK, aby zapisać ustawienia.
Jeśli zmiany nie są natychmiast widoczne, odśwież konsolę Active Directory Users and Computers naciskając F5 lub klikając prawym przyciskiem myszy na katalog Użytkownicy i wybierając Refresh.
Generowanie Keytab:
Wywołaj następujące polecenie w konsoli PowerShell lub CMD:
ktpass -princ HTTP/hostname.yourdomain.local@yourdomain.local
-mapuser netbios_domain_name\username -pass password -ptype KRB5_NT_PRINCIPAL
-out hostname.yourdomain.local.keytab
- Przykład dla tego przypadku:
ktpass -princ MSSQLSvc/mgmt.qa.fudo:1433@QA.FUDO -mapuser QA\mssqlfudo
-pass PaSSwOrD -pType KRB5_NT_PRINCIPAL -out mssqlfudo.keytab
Skopiuj wygenerowany plik Keytab na stację roboczą, na której będziesz konfigurować Fudo.
Informacja
Jest to alternatywna metoda uwierzytelniania zamiast hasła. Hasło musi być zgodne z tym podanym podczas tworzenia użytkownika. W przypadku zmiany hasła użytkownika, jego plik keytab stanie się nieaktywny.
Konfiguracja Fudo Enterprise¶
Konfiguracja DNS:
- Przejdź do
> .- Przełącz się na zakładkę Nazwa i DNS.
Skonfiguruj serwer DNS tak, aby wskazywał na serwer DNS w domenie yourdomain.local (w tym przykładzie użyjemy adresu IP kontrolera domeny):
- Kliknij
, aby dodać nowy serwer DNS.- Wprowadź adres IP serwera DNS (np.
10.0.242.100
).- Kliknij
.
Tworzenie użytkownika w Fudo:
- Wybierz
> , a następnie kliknij .
- Wprowadź nazwę użytkownika, która odpowiada nazwie utworzonej wcześniej w Active Directory (np.
Administrator
).- Wybierz rolę
user
.- W zakładce Ustawienia, w sekcji Sejfy, wybierz main, aby przyznać dostęp do Panelu Administratora Fudo Enterprise.
- Kliknij
.
- Przejdź do zakładki Dane użytkownika, wprowadź Domena Fudo (np.
QA.FUDO
).Informacja
Domena Fudo powinna odpowiadać nazwie domeny podanej w bilecie Kerberos.
![]()
- Uzupełnij pozostałe parametry w zależności od potrzeb konfiguracji. Więcej informacji znajdziesz w rozdziale Dodawanie użytkownika.
- Kliknij
.
Konfiguracja serwera MSSQL(TDS):
- Wybierz
> , a następnie kliknij .
- Wprowadź unikalną nazwę serwera (np.
tds
).- W sekcji Ustawienia, na liście protokołów, wybierz
MSSQL(TDS)
.- W sekcji Adres źródłowy wybierz
Host
i wprowadź nazwę hosta serwera (np.win2019-dc1.qa.fudo
).- Wprowadź port:
1433
.![]()
- Kliknij
.
Konfiguracja konta:
- Wybierz
> , a następnie kliknij .
- Zdefiniuj unikalną nazwę obiektu (np.
tds:forward
).
- W sekcji Typ wybierz
.- W sekcji Cel kliknij
i z rozwijanej listy wybierz utworzony wcześniej serwer (np.tds
).- W sekcji Zastąp sekret wybierz
.- Kliknij
.Informacja
Typo konta forward jest zalecany w tym scenariuszu, ponieważ w przypadku delegacji S4U2Proxy konieczne jest posługiwanie się istniejącym biletem użytkownika do uwierzytelniania względem serwera TDS. Dlatego zawsze używana jest nazwa użytkownika, który zalogował się do Fudo Enterprise, natomiast jakiekolwiek poświadczenia wprowadzone dla konta nie zostaną wykorzystane.
Konfiguracja gniazda nasłuchiwania:
- Wybierz
> , a następnie kliknij .
- Wprowadź unikalną nazwę listenera (np.
tds-listener
).
- Przejdź do zakładki USTAWIENIA i w polu Protocol wybierz
.- Zaznacz opcję Włącz ograniczoną delegację.
- W polu Service principal name wprowadź:
MSSQLSvc/mgmt.qa.fudo:1433@QA.FUDO
.- Prześlij plik Keytab.
- W sekcji Tryb połączenia wybierz
.Informacja
Możliwe jest również użycie trybu
bastion
, jednak w tym trybie nie można używać loginów bastionowych.
- Ustaw lokalny adres (np.
Any
) oraz port1433
.![]()
- Kliknij
.
Konfiguracja Safe:
- Wybierz
> , a następnie kliknij .
Wprowadź unikalną nazwę Safe (np.
tds-safe
).Kliknij
, aby zapisać obiekt i przejść do dalszej konfiguracji.Przejdź do zakładki Użytkownicy, aby przypisać użytkowników z dostępem do kont przypisanych do tego Safe.
- Kliknij
.- Zaznacz pole wyboru przed nazwami użytkowników, aby umożliwić im dostęp do serwera przez monitorowany Safe (np.
Administrator
).- Kliknij
, aby zamknąć okno modalne.Wybierz zakładkę Konta, aby dodać konta dostępne w ramach tego Safe.
- Kliknij
.- Zaznacz pole wyboru przed nazwami kont, aby dodać je do Safe (np.
tds:forward
).- Kliknij
, aby zamknąć okno modalne.Kliknij
, aby zapisać konfigurację Safe.
Nawiązanie połączenia:
Aby nawiązać połączenie:
- Uruchom aplikację klienta SQL.
- Wybierz File > Connect object explorer….
- W polu Server name podaj nazwę panelu administracyjnego Fudo Enterprise ustawioną w wpisie DNS: mgmt.qa.fudo.
- Z listy Authentication wybierz Windows Authentication.
- Kliknij Connect.
![]()
Informacja
Logowanie przy użyciu trybu SQL Server Authentication jest również możliwe, jeśli listener ma włączoną ograniczoną delegację.
Powiązane tematy: