powered by simpleCommunicator - 2.0.30     © 2024 Programmizd 02
Map
Форумы / Java [игнор отключен] [закрыт для гостей] / Connection pool соединение от имени пользователя
25 сообщений из 32, страница 1 из 2
Connection pool соединение от имени пользователя
    #39968422
ALEX.86
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый вечер. Подскажите пожайлуста в какую сторону капать.

Есть приложение spring boot, spring jpa, hibernate.
Необходимо организовать разграничение доступом на уровне СУБД ORACLE.

Т.е у меня сейчас пул соединений от одного пользователя. Как в существующем стеке уйти от пула, и ходить в,БД отимени подключившегося пользователя?
...
Рейтинг: 0 / 0
Connection pool соединение от имени пользователя
    #39968454
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ALEX.86
Добрый вечер. Подскажите пожайлуста в какую сторону капать.

Есть приложение spring boot, spring jpa, hibernate.
Необходимо организовать разграничение доступом на уровне СУБД ORACLE.

Т.е у меня сейчас пул соединений от одного пользователя. Как в существующем стеке уйти от пула, и ходить в,БД отимени подключившегося пользователя?


Не надо так делать. Пользы никакой, зато куча проблем.

А так. Надо будет создавать для каждой сессии DataSource, EntityManagerFactory, TransactionManager.
При этом скорее всего по дороге отвалиться Spring Data Jpa.
Т.е. работу с БД надо будет делать на чистом Hibernate.

В общем постановка задачи странная, которая создает огромную дыру в безопасности.
...
Рейтинг: 0 / 0
Connection pool соединение от имени пользователя
    #39968472
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В Оракле была реализована подобная технология. Надо книжку достать почитать щас не помню.
Кажется через CONNECT THROUGH. И в статистике сеансов по юзеру отображался user/proxy_user.
...
Рейтинг: 0 / 0
Connection pool соединение от имени пользователя
    #39968484
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
Мудрено очень и админ не даст
...
Рейтинг: 0 / 0
Connection pool соединение от имени пользователя
    #39968486
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не мудрёно а специфично.

Вообще мне кажется автор не тем занят. Если он хочет аудита событий то это делается по другому.
...
Рейтинг: 0 / 0
Connection pool соединение от имени пользователя
    #39968490
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
Если в sql.ru это никто не реализовывал, то это мудрено))
...
Рейтинг: 0 / 0
Connection pool соединение от имени пользователя
    #39968493
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я думаю что 100 раз реализовывали. Просто выглядит так. Автор приходит в форум и говорит. Хочу птичьего молока.

Все спрашивают. А какого? А молоко коровы подойдет?

А потом в конце оказалось что ему надо было вообще не птичьего молока а мышиного сала.
...
Рейтинг: 0 / 0
Connection pool соединение от имени пользователя
    #39968495
ALEX.86
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ситуация такая - есть "большой" проект, вся бизнес - логика которого реализована на PL/SQL безопасность и разграничение доступа к записям таблиц в СУБД на RLS.. К проекту сделан REST API на JAVA стеке, который я указал. REST API использует для доступа рул от имени одного пользователя и разграничения доступа для "текущего" пользователя не используются...

В PostgreSQL есть "set session authorization", а вот как это реализовать применительно к ORA и текущего стека JAVA не поняно(
...
Рейтинг: 0 / 0
Connection pool соединение от имени пользователя
    #39968500
ALEX.86
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
То есть есть варианты сохранив стек, использовать не пул соединений, а отдельное для каждого запроса пользователя, от его имени?
...
Рейтинг: 0 / 0
Connection pool соединение от имени пользователя
    #39968501
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Давай я тебе просто дам ссылку на книгу которую я читал и там эта процедура описана.

Oracle Database 10g. Создание эффективной системы безопасности
...
Рейтинг: 0 / 0
Connection pool соединение от имени пользователя
    #39968508
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не очень понимаю, что значит уйти. При соединение указывать правильный имя пользователя и пароль и все. Другое дело, что смысла в пуле тогда особого не видно, кроме случая, что приложение полностью state-less и негде хранить соединение между Http-запросами. IMHO

Но лучше читать в доке. Я особо с таким не разбирался

https://docs.oracle.com/cd/B10501_01/java.920/a96654/connpoca.htm
...
Рейтинг: 0 / 0
Connection pool соединение от имени пользователя
    #39968511
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ALEX.86,

>К проекту сделан REST
Не верно. Нужно отдельный проект.
...
Рейтинг: 0 / 0
Connection pool соединение от имени пользователя
    #39968514
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ALEX.86
Ситуация такая - есть "большой" проект, вся бизнес - логика которого реализована на PL/SQL безопасность и разграничение доступа к записям таблиц в СУБД на RLS.. К проекту сделан REST API на JAVA стеке, который я указал. REST API использует для доступа рул от имени одного пользователя и разграничения доступа для "текущего" пользователя не используются...

В PostgreSQL есть "set session authorization", а вот как это реализовать применительно к ORA и текущего стека JAVA не поняно(


Ну тут Java + Spring явно лишнее.

Если пишите, на Oracle, то и продолжайте писать на Oracle . :-)
...
Рейтинг: 0 / 0
Connection pool соединение от имени пользователя
    #39968515
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ALEX.86,
>от имени одного пользователя
Именно. Изучите апекс от оракла.
У вас будет один юзверь как в апексе.
Ему грантуете роли юзверей.
...
Рейтинг: 0 / 0
Connection pool соединение от имени пользователя
    #39968517
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ALEX.86
То есть есть варианты сохранив стек, использовать не пул соединений, а отдельное для каждого запроса пользователя, от его имени?

Как в апексе. Пул остается. Вход под одним юзверем. Аутентификация не оракла а отдельная при входе на инфу из пула по логину.
...
Рейтинг: 0 / 0
Connection pool соединение от имени пользователя
    #39968521
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ALEX.86,
Грубо представьте что у вас большая субд уровня предприятия. И есть 20 отделов со своими ИС.
Значит это 20 проектов отдельных. А не куча мала.
...
Рейтинг: 0 / 0
Connection pool соединение от имени пользователя
    #39968524
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне кажется в топике есть два смысла. Два антагонизма.
- Экономия ресурсов (пулы и сокеты и процессы ora* на сервере)
- Безопасность и аудит (отслеживание каждого действия на уровне БД)
...
Рейтинг: 0 / 0
Connection pool соединение от имени пользователя
    #39968526
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
Да.
Третий смысл архитектура. "Не мешать все в кучу".
...
Рейтинг: 0 / 0
Connection pool соединение от имени пользователя
    #39968529
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
- Экономия ресурсов (пулы и сокеты и процессы ora* на сервере)

от Shared Server до как минимум 3-х вариантов пулов в современных версиях Oracle. AFAIK
mayton

- Безопасность и аудит (отслеживание каждого действия на уровне БД)

+ возможность хранения состояния на сервере

настроили один раз нужные параметры сессии юзера и дальше они юзаются
да в принципе, любые пакеты с переменными уровня пакета
если есть legacy код в таких пакетах, "тупо" использовать пул - не лучшая идея

+ целый ряд специфических для СУБД фич
Row-Level Security и пр.
...
Рейтинг: 0 / 0
Connection pool соединение от имени пользователя
    #39968537
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev

от Shared Server до как минимум 3-х вариантов пулов в современных версиях Oracle. AFAIK

Точно. Спасибо. Про shared_mode я как-то и забыл. Редкая штука.
...
Рейтинг: 0 / 0
Connection pool соединение от имени пользователя
    #39968597
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Мне кажется в топике есть два смысла. Два антагонизма.
- Экономия ресурсов (пулы и сокеты и процессы ora* на сервере)


ИМХО тут скорее не экономия ресурсов, а экономия времени.
Т.к. быстрее отдать готовое и настроенное соединение. Чем каждый раз поднимать соединение пр обращении к БД.
И да, нагрузка на БД будет меньше при пуле.

mayton

- Безопасность и аудит (отслеживание каждого действия на уровне БД)


ИМХО насчет безопасности можно поспорить.
Т.к. давать человеку напрямую обращаться к БД, даже с ограниченными правами, не очень безопасно.
...
Рейтинг: 0 / 0
Connection pool соединение от имени пользователя
    #39968604
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mad_nazgul
Т.к. давать человеку напрямую обращаться к БД, даже с ограниченными правами, не очень безопасно.

Тут если в фразе заменить БД на удалённый доступ к системе X - то смысл будет тот-же.

Даже http-протокол давать опасно. Ну по крайней мере админы сетевого периметра на предприятиях
так считают. Я ржу над ними но ... пускай. Это их епархия. Хотя-бы трафик отгоняют лишний.
...
Рейтинг: 0 / 0
Connection pool соединение от имени пользователя
    #39968607
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
mad_nazgul
Т.к. давать человеку напрямую обращаться к БД, даже с ограниченными правами, не очень безопасно.

Тут если в фразе заменить БД на удалённый доступ к системе X - то смысл будет тот-же.

Даже http-протокол давать опасно. Ну по крайней мере админы сетевого периметра на предприятиях
так считают. Я ржу над ними но ... пускай. Это их епархия. Хотя-бы трафик отгоняют лишний.


Смотря куда доступ.
Если по SSH к терминалу - то да.
Если по HTTP к приложению, то скорее всего ничего страшного. Главное чтобы в SQL запросы передавались через параметры, а не через конкатенацию строк. :-)
...
Рейтинг: 0 / 0
Connection pool соединение от имени пользователя
    #39968627
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mad_nazgul

ИМХО тут скорее не экономия ресурсов, а экономия времени.
Т.к. быстрее отдать готовое и настроенное соединение. Чем каждый раз поднимать соединение пр обращении к БД.

Один раз за рабочий день при входе в прикладную систему поднял и используешь, при чем тут экономия времени и нагрузка, не очень понятно.
...
Рейтинг: 0 / 0
Connection pool соединение от имени пользователя
    #39968629
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mad_nazgul

Если по SSH к терминалу - то да.

В начале 90-х, приобретали электронную почту. Работа была устроена таким образом:
1. провайдер выдавал unix login и пароль
2. по модему заходили на провайдера под login и пароль на сервер
3. читали и писали почту
В 90-х было безопасно, в 2020-ом юные подаваны-любители Unix'а cделали так, что стало не безопасно. Прогресс не стоит на месте.

До этого, у меня был доступ на ЕС ЭВМ которая обслуживала ВЦ работающий на оборону. Проблем с безопасностью так же не наблюдалось. Операционная система ПДО СВМ (аналог VMS от IBM)

Может проблема не в технологиях, а в очумелых ручках? Админ не может / не умеет нормально безопасность на сервере настроить?
...
Рейтинг: 0 / 0
25 сообщений из 32, страница 1 из 2
Форумы / Java [игнор отключен] [закрыт для гостей] / Connection pool соединение от имени пользователя
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]