|
Connection pool соединение от имени пользователя
|
|||
---|---|---|---|
#18+
Добрый вечер. Подскажите пожайлуста в какую сторону капать. Есть приложение spring boot, spring jpa, hibernate. Необходимо организовать разграничение доступом на уровне СУБД ORACLE. Т.е у меня сейчас пул соединений от одного пользователя. Как в существующем стеке уйти от пула, и ходить в,БД отимени подключившегося пользователя? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.06.2020, 22:43 |
|
Connection pool соединение от имени пользователя
|
|||
---|---|---|---|
#18+
ALEX.86 Добрый вечер. Подскажите пожайлуста в какую сторону капать. Есть приложение spring boot, spring jpa, hibernate. Необходимо организовать разграничение доступом на уровне СУБД ORACLE. Т.е у меня сейчас пул соединений от одного пользователя. Как в существующем стеке уйти от пула, и ходить в,БД отимени подключившегося пользователя? Не надо так делать. Пользы никакой, зато куча проблем. А так. Надо будет создавать для каждой сессии DataSource, EntityManagerFactory, TransactionManager. При этом скорее всего по дороге отвалиться Spring Data Jpa. Т.е. работу с БД надо будет делать на чистом Hibernate. В общем постановка задачи странная, которая создает огромную дыру в безопасности. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.06.2020, 06:40 |
|
Connection pool соединение от имени пользователя
|
|||
---|---|---|---|
#18+
В Оракле была реализована подобная технология. Надо книжку достать почитать щас не помню. Кажется через CONNECT THROUGH. И в статистике сеансов по юзеру отображался user/proxy_user. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.06.2020, 09:51 |
|
Connection pool соединение от имени пользователя
|
|||
---|---|---|---|
#18+
mayton, Мудрено очень и админ не даст ... |
|||
:
Нравится:
Не нравится:
|
|||
12.06.2020, 10:48 |
|
Connection pool соединение от имени пользователя
|
|||
---|---|---|---|
#18+
Не мудрёно а специфично. Вообще мне кажется автор не тем занят. Если он хочет аудита событий то это делается по другому. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.06.2020, 10:50 |
|
Connection pool соединение от имени пользователя
|
|||
---|---|---|---|
#18+
mayton, Если в sql.ru это никто не реализовывал, то это мудрено)) ... |
|||
:
Нравится:
Не нравится:
|
|||
12.06.2020, 10:57 |
|
Connection pool соединение от имени пользователя
|
|||
---|---|---|---|
#18+
Я думаю что 100 раз реализовывали. Просто выглядит так. Автор приходит в форум и говорит. Хочу птичьего молока. Все спрашивают. А какого? А молоко коровы подойдет? А потом в конце оказалось что ему надо было вообще не птичьего молока а мышиного сала. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.06.2020, 11:00 |
|
Connection pool соединение от имени пользователя
|
|||
---|---|---|---|
#18+
Ситуация такая - есть "большой" проект, вся бизнес - логика которого реализована на PL/SQL безопасность и разграничение доступа к записям таблиц в СУБД на RLS.. К проекту сделан REST API на JAVA стеке, который я указал. REST API использует для доступа рул от имени одного пользователя и разграничения доступа для "текущего" пользователя не используются... В PostgreSQL есть "set session authorization", а вот как это реализовать применительно к ORA и текущего стека JAVA не поняно( ... |
|||
:
Нравится:
Не нравится:
|
|||
12.06.2020, 11:16 |
|
Connection pool соединение от имени пользователя
|
|||
---|---|---|---|
#18+
То есть есть варианты сохранив стек, использовать не пул соединений, а отдельное для каждого запроса пользователя, от его имени? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.06.2020, 11:33 |
|
Connection pool соединение от имени пользователя
|
|||
---|---|---|---|
#18+
Давай я тебе просто дам ссылку на книгу которую я читал и там эта процедура описана. Oracle Database 10g. Создание эффективной системы безопасности ... |
|||
:
Нравится:
Не нравится:
|
|||
12.06.2020, 11:44 |
|
Connection pool соединение от имени пользователя
|
|||
---|---|---|---|
#18+
Не очень понимаю, что значит уйти. При соединение указывать правильный имя пользователя и пароль и все. Другое дело, что смысла в пуле тогда особого не видно, кроме случая, что приложение полностью state-less и негде хранить соединение между Http-запросами. IMHO Но лучше читать в доке. Я особо с таким не разбирался https://docs.oracle.com/cd/B10501_01/java.920/a96654/connpoca.htm ... |
|||
:
Нравится:
Не нравится:
|
|||
12.06.2020, 12:18 |
|
Connection pool соединение от имени пользователя
|
|||
---|---|---|---|
#18+
ALEX.86, >К проекту сделан REST Не верно. Нужно отдельный проект. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.06.2020, 12:20 |
|
Connection pool соединение от имени пользователя
|
|||
---|---|---|---|
#18+
ALEX.86 Ситуация такая - есть "большой" проект, вся бизнес - логика которого реализована на PL/SQL безопасность и разграничение доступа к записям таблиц в СУБД на RLS.. К проекту сделан REST API на JAVA стеке, который я указал. REST API использует для доступа рул от имени одного пользователя и разграничения доступа для "текущего" пользователя не используются... В PostgreSQL есть "set session authorization", а вот как это реализовать применительно к ORA и текущего стека JAVA не поняно( Ну тут Java + Spring явно лишнее. Если пишите, на Oracle, то и продолжайте писать на Oracle . :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
12.06.2020, 12:27 |
|
Connection pool соединение от имени пользователя
|
|||
---|---|---|---|
#18+
ALEX.86, >от имени одного пользователя Именно. Изучите апекс от оракла. У вас будет один юзверь как в апексе. Ему грантуете роли юзверей. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.06.2020, 12:28 |
|
Connection pool соединение от имени пользователя
|
|||
---|---|---|---|
#18+
ALEX.86 То есть есть варианты сохранив стек, использовать не пул соединений, а отдельное для каждого запроса пользователя, от его имени? Как в апексе. Пул остается. Вход под одним юзверем. Аутентификация не оракла а отдельная при входе на инфу из пула по логину. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.06.2020, 12:31 |
|
Connection pool соединение от имени пользователя
|
|||
---|---|---|---|
#18+
ALEX.86, Грубо представьте что у вас большая субд уровня предприятия. И есть 20 отделов со своими ИС. Значит это 20 проектов отдельных. А не куча мала. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.06.2020, 12:35 |
|
Connection pool соединение от имени пользователя
|
|||
---|---|---|---|
#18+
Мне кажется в топике есть два смысла. Два антагонизма. - Экономия ресурсов (пулы и сокеты и процессы ora* на сервере) - Безопасность и аудит (отслеживание каждого действия на уровне БД) ... |
|||
:
Нравится:
Не нравится:
|
|||
12.06.2020, 12:38 |
|
Connection pool соединение от имени пользователя
|
|||
---|---|---|---|
#18+
mayton, Да. Третий смысл архитектура. "Не мешать все в кучу". ... |
|||
:
Нравится:
Не нравится:
|
|||
12.06.2020, 12:45 |
|
Connection pool соединение от имени пользователя
|
|||
---|---|---|---|
#18+
mayton - Экономия ресурсов (пулы и сокеты и процессы ora* на сервере) от Shared Server до как минимум 3-х вариантов пулов в современных версиях Oracle. AFAIK mayton - Безопасность и аудит (отслеживание каждого действия на уровне БД) + возможность хранения состояния на сервере настроили один раз нужные параметры сессии юзера и дальше они юзаются да в принципе, любые пакеты с переменными уровня пакета если есть legacy код в таких пакетах, "тупо" использовать пул - не лучшая идея + целый ряд специфических для СУБД фич Row-Level Security и пр. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.06.2020, 12:49 |
|
Connection pool соединение от имени пользователя
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev от Shared Server до как минимум 3-х вариантов пулов в современных версиях Oracle. AFAIK Точно. Спасибо. Про shared_mode я как-то и забыл. Редкая штука. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.06.2020, 13:05 |
|
Connection pool соединение от имени пользователя
|
|||
---|---|---|---|
#18+
mayton Мне кажется в топике есть два смысла. Два антагонизма. - Экономия ресурсов (пулы и сокеты и процессы ora* на сервере) ИМХО тут скорее не экономия ресурсов, а экономия времени. Т.к. быстрее отдать готовое и настроенное соединение. Чем каждый раз поднимать соединение пр обращении к БД. И да, нагрузка на БД будет меньше при пуле. mayton - Безопасность и аудит (отслеживание каждого действия на уровне БД) ИМХО насчет безопасности можно поспорить. Т.к. давать человеку напрямую обращаться к БД, даже с ограниченными правами, не очень безопасно. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.06.2020, 15:04 |
|
Connection pool соединение от имени пользователя
|
|||
---|---|---|---|
#18+
mad_nazgul Т.к. давать человеку напрямую обращаться к БД, даже с ограниченными правами, не очень безопасно. Тут если в фразе заменить БД на удалённый доступ к системе X - то смысл будет тот-же. Даже http-протокол давать опасно. Ну по крайней мере админы сетевого периметра на предприятиях так считают. Я ржу над ними но ... пускай. Это их епархия. Хотя-бы трафик отгоняют лишний. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.06.2020, 15:27 |
|
Connection pool соединение от имени пользователя
|
|||
---|---|---|---|
#18+
mayton mad_nazgul Т.к. давать человеку напрямую обращаться к БД, даже с ограниченными правами, не очень безопасно. Тут если в фразе заменить БД на удалённый доступ к системе X - то смысл будет тот-же. Даже http-протокол давать опасно. Ну по крайней мере админы сетевого периметра на предприятиях так считают. Я ржу над ними но ... пускай. Это их епархия. Хотя-бы трафик отгоняют лишний. Смотря куда доступ. Если по SSH к терминалу - то да. Если по HTTP к приложению, то скорее всего ничего страшного. Главное чтобы в SQL запросы передавались через параметры, а не через конкатенацию строк. :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
12.06.2020, 15:31 |
|
Connection pool соединение от имени пользователя
|
|||
---|---|---|---|
#18+
mad_nazgul ИМХО тут скорее не экономия ресурсов, а экономия времени. Т.к. быстрее отдать готовое и настроенное соединение. Чем каждый раз поднимать соединение пр обращении к БД. Один раз за рабочий день при входе в прикладную систему поднял и используешь, при чем тут экономия времени и нагрузка, не очень понятно. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.06.2020, 16:10 |
|
Connection pool соединение от имени пользователя
|
|||
---|---|---|---|
#18+
mad_nazgul Если по SSH к терминалу - то да. В начале 90-х, приобретали электронную почту. Работа была устроена таким образом: 1. провайдер выдавал unix login и пароль 2. по модему заходили на провайдера под login и пароль на сервер 3. читали и писали почту В 90-х было безопасно, в 2020-ом юные подаваны-любители Unix'а cделали так, что стало не безопасно. Прогресс не стоит на месте. До этого, у меня был доступ на ЕС ЭВМ которая обслуживала ВЦ работающий на оборону. Проблем с безопасностью так же не наблюдалось. Операционная система ПДО СВМ (аналог VMS от IBM) Может проблема не в технологиях, а в очумелых ручках? Админ не может / не умеет нормально безопасность на сервере настроить? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.06.2020, 16:18 |
|
|
start [/forum/topic.php?fid=59&msg=39968422&tid=2120785]: |
0ms |
get settings: |
28ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
58ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
468ms |
get tp. blocked users: |
2ms |
others: | 310ms |
total: | 901ms |
0 / 0 |