Masowe dodawanie wyjątków Java

Java nastręcza administratorom wielu problemów w zakresie utrzymania i wdrażania rozwiązań o nią opartych. Od wersji Java 7 Update 51 wprowadzono dodatkowy mechanizm kontrolny w postaci Listy wyjątków witryn. Zmiana ta oznacza, że strony używające apletów typu RIA muszą być dodane do wspomnianej listy wyjątków na każdej maszynie korzystającej z Java i apletów RIA. W artykule tym pokażę jak masowo ustawić taki wyjątek w obrębie infrastruktury zarządzanej z poziomu Active Direcotry.

Konieczność dodawania do listy wyjątków adresu url witryny korzystającej z apletu Rich Internet Application oznacza, że bez tego kroku nasza aplikacja straci m.in. możliwość komunikowania się z Java Script. Ustawienie wyjątku samo w sobie nie jest szczególnie skomplikowane i w warunkach małych albo średnich infrastruktur IT można przerzucić je na użytkowników. Jeżeli jednak zarządzamy dużą siecią z wieloma użytkownikami i stacjami roboczymi sprawa staje się dużo bardziej skomplikowana, zwłaszcza w kontekście restrykcyjnych polityk bezpieczeństwa i uprawnień, które często nie zezwalają użytkownikom na wykonywanie zmian w ustawieniach oprogramowania.

Zgodnie z dokumentacją RIA lista wyjątków stron (exception sites list) dostępna jest z poziomu panelu kontrolnego Java (Java Control Panel). Jednak zmiana ustawień w ten sposób wymaga uruchomienia aplikacji na każdej stacji roboczej. Aby wprowadzić zmiany automatycznie i bez ingerencji użytkownika musimy sięgnąć do drugiej metody dostępu do listy wyjątków stron. Przechowywana jest ona jako plik tekstowy, w którym pojedyncze wpisy umieszczane są jako kolejne linie. Możemy więc zmieniać listę podmieniając plik bądź dodając do niego linie. Sama lista przechowywana jest per user i dostępna jest (w systemach Windows) w lokalizacji:

<User Application Data Folder>\LocalLow\Sun\Java\Deployment\security

W obrębie infrastruktur zarządzanych przy pomocy Active Directory możemy więc ustawić odpowiednie reguły, które podczas logowania użytkownika skopiują do podanego wyżej katalogu przygotowany wcześniej plik z listą wyjątków stron.

Realizację takiej operacji należy zacząć od umieszczenia w zasobach kontrolera domeny pliku z listą wyjątków stron, który – zgodnie z dokumentacją Java – nazywa się exception.sites. Plik możemy umieścić np. w lokalizacji:

 \\<DOMAIN>\netlogon\exception.sites

Następnie tworzymy GPO (Group Policy Object) dla którego w sekcji User Configuration, w gałęzi Files ustawiamy regułę, która skopiuje plik z listą wyjątków stron z zasobu kontrolera domeny do katalogu domowego użytkownika logującego się na maszynie. Zmienną środowiskową Windows wskazującą ten katalog jest %UserProfile% i zgodnie z podaną wcześniej ścieżką docelowa lokalizacja pliku będzie wyglądała więc następująco:

%UserProfile%\AppData\LocalLow\Sun\Java\Deployment\security\exception.sites

Tak przygotowany GPO wydaje się kompletny. Należy jednak pamiętać, że aby Active Directory poprawnie interpretowało zmienne środowiskowe należy w ustawieniach GPO zaznaczyć opcję Run in logged-on user’s sceurity context (user policy option). W przeciwnym wypadku obiekt uruchomiony zostanie jako System user i zmienne nie zadziałają poprawnie.

W opisany powyżej sposób możemy łatwo dostarczyć przygotowany wcześniej plik z wyjątkami dla każdego użytkownika, który zaloguje się w domenie. Korzystając ze szczegółowych opcji GPO możemy ustalić czy Windows ma nadpisać plik, scalić itd. Dokumentacja Deployment Configuration File and Properties wskazuje lokalizacje plików konfiguracyjnych Java również w innych systemach operacyjnych, co pozwala analogicznie przygotować skrypty kopiujące odpowiednie ustawienia również w Linux Mac OS.

Podziel się:

Mikołaj Niedbała

I'm a Poland based IT administrator, linux administrator and IT engineer creating professional IT infrastructure solutions based on Linux and virtual environments.

One thought to “Masowe dodawanie wyjątków Java”

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *