Chcę wystawić JMXa po SSLu (w ramach serwera aplikacyjnego) z wymaganym uwierzytelnieniem via login/hasło, ale to do czego dążę, to użycie danych z security realma, w którym:
- mam zdefiniowane role typu Admin, Operator, Monitor, etc.
- uwierzytelnienie i autoryzację robię w oparciu o zewnętrzne repozytorium typu ActiveDirectory
- na kliencie (np. JConsole) chciałbym podać user/pass, które to serwer aplikacyjny przetworzy w ramach zdefiniowanych "dostawców bezpieczeństwa"
W skromniejszym wariancie (skromniejszym funkcjonalnie, ale żeby się nie narobić) chciałbym uniknąć składowania haseł otwartym tekstem i definiowania polityki dostępu w plikach wskazanych via:
-Dcom.sun.management.jmxremote.password.file=jmxremote.password
-Dcom.sun.management.jmxremote.access.file=jmxremote.access
Moje boje (jeszcze bez SSLa):
Parametry dla JVM:
...
-Dcom.sun.management.jmxremote.port=8888 \
-Dcom.sun.management.jmxremote.ssl=false \
-Dcom.sun.management.jmxremote.authenticate=true \
-Dcom.sun.management.jmxremote.login.config=MyDefaultAuthneticator \
-Djava.security.auth.login.config=/u01/app/oracle/config/domains/foobar/jaas.conf \
....
oraz jaas.conf:
MyDefaultAuthneticator
{
weblogic.security.providers.authentication.DefaultAuthenticator REQUIRED
}
Serwer wstaje i nasłuchuje na 8888. Próbuję się łączyć i kicha:
IllegalArgumentException: No Configuration was registered that can handle the configuration named MyDefaultAuthenticator
Ktoś z powodzeniem testował taką/analogiczną konfigurację JMX + JAAS ?