Podręcznik użytkownika systemu EZD RP

Konfiguracja usługi Active Directory (AD) dla systemu EZD RP

Usługa dostępna jedynie w modelu onpremis!

Przed skonfigurowaniem usługi Active Directory (AD) dla systemu EZD RP, konieczne jest przeprowadzenie importu użytkowników w KUiP z danymi domeny. Aby zweryfikować, czy import ten został już wykonany, należy sprawdzić tabelę UzytkownikZewnetrznegoDostawcy. W tej tabeli powinny być dostępne odpowiednie dane, a kolumna IdUzytkownikaDostawcy powinna zawierać przedrostek odpowiadający domenie, do której użytkownik należy. Przykład:

Ad\kowalski, nask\kowalski
Zapytanie
SELECT * FROM kuip.”UzytkownikZewnetrznegoDostawcy”;

Gdy tabela jest pusta, należy się wstrzymać z konfiguracją usługi AD.

Przygotowanie do konfiguracji

Pobieramy paczkę publish.7z oraz instalujemy oprogramowanie .NET Core 9.

W pierwszym kroku należy przejść do widoku Control Panel > Administrative Tools > Server Manager. Klikamy zakładkę Dashboard i wybieramy opcję Add roles and features.

W menu po lewej stronie klikamy zakładkę Server Roles i zaznaczamy pole wyboru przy pozycji Web Server IIS. Następnie klikamy przycisk Next.

W kolejnym kroku wybieramy zakładkę Features, zaznaczamy wszystkie pola wyboru przy opcjach dotyczących .NET Framework i klikamy przycisk Next.

Po kliknięciu zakładki Web Server Role IIS i sekcji Role Services, zaznaczamy pola wyboru przy wszystkich usługach, które zostały pokazane na poniższym zrzucie. Następnie klikamy przyciski NextInstall.

Rozpakowujemy pobraną aplikację publish.7z i umieszczamy folder publish w katalogu c:\inetpub.

Następnie dodajemy użytkownika do AD i nadajemy uprawnienia modyfikacji do folderu c:\inetpub użytkownikowi domenowemu.

Uruchamiamy usługę IIS, przechodząc do Control Panel > Administrative Tools > Internet Information Services IIS Manager.

Przechodzimy do dodania certyfikatu. Najpierw w panelu po lewej stronie wskazujemy serwer, a następnie klikamy Server Certificates.

Należy sprawdzić, czy mamy dodany certyfikat. Jeśli nie, należy go zaimportować do tworzonej witryny.

Tworzymy witrynę, wybierając w panelu po lewej stronie pozycję Sites i klikając prawym przyciskiem myszy pozycję Add Website….

W kolejnym kroku podajemy nazwę witryny w polu Site name i ścieżkę fizyczną do witryny w polu Physical path – w naszym przypadku jest to c:\inetpub\publish. Na liście rozwijanej w polu Type wskazujemy protokół https. Następnie podajemy nazwę hosta i wybieramy nasz certyfikat dla domeny (*.nask.waw.pl). Zmiany zatwierdzamy przyciskiem OK.

Następnie w panelu po lewej stronie klikamy Application Pools, wybieramy ad.ezd oraz Basic Settings….

W polu .NET CLR version zmieniamy opcję na No Managed Code i klikamy OK.

W następnym kroku wybieramy Advanced Settings….

Klikamy przycisk menu podręcznego (trzy kropki) przy pozycji ApplicationPoolIdentity.

Zaznaczamy pozycję Custom account i klikamy przycisk Set….

Wpisujemy nazwę użytkownika domenowego, który ma dostęp do folderu c:\inetpub. Zmianę zatwierdzamy przyciskiem OK.

W kolejnym kroku klikamy Sites w panelu po lewej stronie i wybieramy witrynę ad.ezd. Klikamy pozycję Authentication i ustawiamy uwierzytelnienie.

Na liście należy odnaleźć i kliknąć pozycję Windows Authentication i zmienić ustawienie z Disabled na Enable.

Przechodzimy do sprawdzenia, czy witryna działa, klikając odpowiednią pozycję w sekcji Browse Website, która znajduje się po prawej stronie ekranu.

Przed uruchomieniem należy dodać adres witryny do DNS.

Powinniśmy otrzymać komunikat podobny do przedstawionego poniżej.

Brak przełączenia Windows Authentication na wartość Enable i zainstalowania .NET Core 6 będzie skutkować komunikatami o błędach.


Konfiguracja na potrzeby nawiązania połączenia z EZD RP

Aby skonfigurować połączenie z EZD RP, w pierwszej kolejności kopiujemy z Ranchera nasz adres: sso-idp. W tym celu należy kliknąć zakładkę Service Discovery i wybrać sekcję Ingresses.


Wracamy do IIS i naszej witryny. Należy kliknąć pozycję Configuration Editor i dodać skopiowany adres.

Na liście należy znaleźć pozycję system.webserver/aspNetCore i ją kliknąć.

Następnie edytujemy zmienną environmentVariables, co jest możliwe po kliknięciu przycisku menu podręcznego (trzy kropki).

Wklejamy skopiowany adres sso-idp z Ranchera. Uwaga! Adres nie może zawierać znaku slash (/) na końcu.

Wracamy do okna Configuration Editor i zatwierdzamy zmiany, wybierając Apply.

Po wprowadzeniu zmiany, należy kliknąć w panelu po lewej stronie pozycję Application Pools i zrestartować pule aplikacji (izolowane przestrzenie dla aplikacji webowych). W tym celu klikamy pozycję Recycle.

Wygenerowanie klucza JWKS (JSON Web Key Set)

Ponownie uruchamiamy przeglądarkę i tym razem do adresu dodajemy /sso-configuration-init: https://ad.domenaklienta.com/sso-configuration-init.

Przykład wygenerowania kluczy na naszej skonfigurowanej witrynie widoczny jest na poniższym zrzucie.

Następnie należy skopiować klucz dla cloudadmin. Aby to zrobić, ponownie uruchamiamy przeglądarkę, lecz do adresu dodajemy /sso-configuration: https://ad.domenaklienta.com/sso-configuration. Należy skopiować treść zaznaczoną czerwonym kolorem.

Weryfikacja i uzupełnienie danych w cloudadmin

Przechodzimy do Ranchera do widoku Workload > Deployments. Klikamy pozycję Cloudadmin… i wybieramy pozycję Edit Config.

Należy odszukać i zmodyfikować poniższe zmienne:
EZD_EXTERNALPROVIDER_AD_IS_ENABLED – ustawiamy na true;
EZD_EXTERNALPROVIDER_AD_OPTIONS – wklejamy wygenerowany klucz JWKS;
EZD_EXTERNALPROVIDER_AD_DISPLAY_NAME – wpisujemy Logowanie AD.

Po uzupełnieniu danych klikamy Save. Następnie należy wykonać ponowne wdrożenie (opcja Redeploy) dla ssoidentity-server.

Przed weryfikacją działania należy wyłączyć anonimowe uwierzytelnianie dla głównej witryny w IIS. Z listy wybieramy Anonymous Authentication i zmieniamy status Enabled na Disable.

Jeśli logowanie anonimowe nie zostanie wyłączone, podczas próby zalogowania do EZD RP pojawi się komunikat o błędzie.

Weryfikacja logowania

Aby sprawdzić możliwość logowania, przechodzimy do EZD RP i klikamy przycisk Logowanie AD.

W razie problemow z logowanie zweryfikuj w KUIP.

ID Dostawca: wpisujemy z małych liter ad
ID Użytkownik Dostawcy: podajemy nazwę domeny z dużych liter, oraz nazwę użytkownika dokładnie tak samo wpisaną jak w domenie(wielkość liter ma znaczenie). Np. DOMENA\macjen, DOMENA\MaciejN

Dodanie ustawień na stałe

Przechodzimy do widoku Apps > Installed apps w Rancherze, wybieramy naszą aplikację i w menu kontekstowym klikamy opcję Edit/Upgrade.

Wybieramy zakładkę Edit YAML.

Odszukujemy externalIDP: AD. Zmieniamy ustawienie enabled na wartość ‘true’. Z kolei w options należy wkleić klucz JWKS z cloudadmin w miejsce wartości false. Treść tokena powinna zostać umieszczona w znakach apostrofu np. 'XYZXYZ’

Nowe ustawienia należy zapisać.

Automatyczne logowanie SSO

Możliwe jest ustawienie automatycznego logowania(SSO) bez wpisania użytkownika i hasła domenowego na końcówkach.

Rozwiązanie dla Chrome / Edge
Na komputerze użytkownika w Panelu Sterowania -> Opcje Internetowe -> Zakładka zabezpieczenia -> wybieramy strefę Lokalny intranet -> Przycisk Witryny

Zaawansowane

Dodajemy adres naszej przykładowej witryny https://adezd.nask.waw.pl

Rozwiązanie dla Firefox

W pasku adresu wpisujemy about:config, wyszukujemy klucz network.automatic-ntlm-auth.trusted-uris i wpisujemy adres przykładowej witryny adezd.nask.waw.pl lub z protokołem https://adezd.nask.waw.pl (nie dodajemy/na końcu adresu), więcej adresów wpisujemy po przecinku.
Po skonfigurowaniu należy wyłączyć i włączyć przeglądarkę.

Drugie rozwiązanie, jeśli nie zadziała pierwsze:

Wpisujemy adres przykładowej witryny adezd.nask.waw.pl w trzech kluczach

network.automatic-ntlm-auth.trusted-uris
network.negotiate-auth.delegation-uris
network.negotiate-auth.trusted-uris

i przełączamy klucz signon.autologin.proxy na true

Po skonfigurowaniu należy wyłączyć i włączyć przeglądarkę.

Dodatkowe informacje

Jeśli chcemy skonfigurować jeden serwer IIS do obsługi wielu instancji EZD RP, należy po średniku w pliku dodać kolejny adres. Uwaga! Adres nie może zawierać znaku slash (/) na końcu.

Ponownie uruchamiamy przeglądarkę i tym razem do adresu dodajemy /sso-configuration-init: https://ad.domenaklienta.com/sso-configuration-init.

Przykład wygenerowania kluczy na naszej skonfigurowanej witrynie widoczny jest na poniższym zrzucie.

Następnie należy skopiować klucz do cloudadmin dla danej instancji. Aby to zrobić, ponownie uruchamiamy przeglądarkę, lecz do adresu dodajemy /sso-configuration: https://ad.domenaklienta.com/sso-configuration. Należy skopiować treść zaznaczoną czerwonym kolorem.

Po uzupełnieniu danych Cloudadmin, należy wykonać ponowne wdrożenie (opcja Redeploy) dla ssoidentity-server.