При вызове JNI в MIP SDK выдается ошибка. Не удается открыть базу данных, проверьте права доступа к папке: mip_data \ mip \ mip.policies.sqlite3 - PullRequest
0 голосов
/ 02 марта 2020

У нас есть приложение в java, где включена защита Java. Нам нужно получить теги из облака AIP. Мы могли бы получить токен доступа, используя библиотеку msal4j java. Нет библиотеки java, предоставляемой MS для MIP, поэтому мы реализовали нативный dll для получения меток AIP. Эта DLL интегрирована с нашим веб-приложением. Приложение выполняет вызовы JNI в собственную библиотеку для извлечения меток.

Я думаю, MIP SDK создает базу данных sqlite для кэширования меток. Таким образом, он создает файл sqlite на локальном диске внутри. Но так как защита включена, я получаю сообщение об отказе в доступе для MIP dll.

"Не удается открыть базу данных, проверьте права доступа к папке: mip_data \ mip \ mip.policies.sqlite3"

Я попытался дать ниже разрешения в manager.policy, но не работает

grant codeBase "../Protect/lib/native/*" {

permission java.io.FilePermission "../Protect/bin/mip_data/mip/mip.policies.sqlite3", "read,write,delete";
permission java.io.FilePermission "../Protect/bin/mip_data/mip", "read,write,delete";
permission java.io.FilePermission "../Protect/bin/mip_data", "read,write,delete";
permission java.io.FilePermission "../Protect/bin", "read,write,delete";
};

grant codeBase "../Protect/lib/native/-" {

permission java.io.FilePermission "../Protect/bin/mip_data/mip/mip.policies.sqlite3", "read,write,delete";
permission java.io.FilePermission "../Protect/bin/mip_data/mip", "read,write,delete";
permission java.io.FilePermission "../Protect/bin/mip_data", "read,write,delete";
permission java.io.FilePermission "../Protect/bin", "read,write,delete";
};

grant codeBase "../Protect/lib/native/-" {

permission java.io.FilePermission "../Protect/bin/mip_data/mip/mip.policies.sqlite3", "read,write,delete";
permission java.io.FilePermission "../Protect/bin/mip_data/mip", "read,write,delete";
permission java.io.FilePermission "../Protect/bin/mip_data", "read,write,delete";
permission java.io.FilePermission "../Protect/bin", "read,write,delete";
};

grant codeBase "file:${catalina.home}/webapps/ProtectManager/WEB-INF/lib/*" 
{
permission java.io.FilePermission "../Protect/bin/mip_data/mip/mip.policies.sqlite3", "read,write,delete";
permission java.io.FilePermission "../Protect/bin/mip_data/mip", "read,write,delete";
permission java.io.FilePermission "../Protect/bin/mip_data", "read,write,delete";
permission java.io.FilePermission "../Protect/bin", "read,write,delete";

}

Как работает защита Java в случае JNI? Унаследует ли он все разрешения для собственных вызовов?

1 Ответ

0 голосов
/ 02 марта 2020

Какую ОС вы используете? Я не могу ответить на ваш Java вопрос, но у нас есть приватный предварительный просмотр MIP SDK Java Wrapper на Windows. Мы планируем расширить до нескольких Linux дистрибутивов в ближайшем будущем, но сначала собираем отзывы о версии Windows.

Если вам интересно, я рад предоставить сборку.

...