0

При подключении к СУБД PostgreSQL из java-приложения через jdbc-драйвер значение ac_session_maclabel всегда {0,0}. В pgadmin3 и psql, запущенных в той же самой сессии, значение верное — {2,0}.

Тестовый стенд — 3 машины (ald-сервер, сервер БД, клиент). ОС — АстраЛинукс Смоленск 1.6 со всеми обновлениями. Сервер БД и клиент внесены в домен ALD. Вход выполняется от имени пользователя, зарегистрированного в ALD.
JRE использовалась от Oracle, AdoptOpenJDK и ГосJava. JDBC-драйвер — из состава ГосJava. В качестве java-приложения выступали dbeaver и jdbcsql. Во всех случаях результат одинаковый. По проблеме создан багрепорт :

https://bt.astralinux.ru/view.php?id=493

Разработчики ОС АстраЛинукс в настоящий момент занимаются этой проблемой, но попросили о ней уведомить разработчиков java для защищённых систем, то есть вас. Возможно, вы сможете прояснить ситуацию и дать рекомендации по решению проблемы.

Администрация оставил комментарий

Мы проводим тестирование ГосJava с ненулевой мандатной меткой. Нужно больше подробностей, что вы запускаете и как.

kraynopp оставил комментарий

Небольшое дополнение. Если сервер БД исключён из домена ALD и уровни доступа прописаны локально через pdpl-user, то всё работает. Запрос select current_setting(‘ac_session_maclabel’), запущенный из java-приложения, возвращает верное значение. Проблема возникает если сервер БД включён в домен и уровни доступа должны браться с сервера ALD.

Администрация оставил комментарий

Принципал СУБД в группе mac? Подключение по GSS API?

kraynopp оставил комментарий

Да, принципал в группе mac, подключение по gssapi тоже настроено. Но из java используется обычное подключение по логину/паролю

Администрация оставил комментарий

А вы уверены, что пользователь авторизуется как доменный?