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

start [/forum/topic.php?fid=59&tablet=1&tid=2120785]:  | 
    0ms | 
get settings:  | 
    10ms | 
get forum list:  | 
    14ms | 
check forum access:  | 
    4ms | 
check topic access:  | 
    4ms | 
track hit:  | 
    62ms | 
get topic data:  | 
    10ms | 
get forum data:  | 
    2ms | 
get page messages:  | 
    51ms | 
get tp. blocked users:  | 
    2ms | 
| others: | 231ms | 
| total: | 390ms | 

    | 0 / 0 | 

    Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
    
    
    «На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
    
    
    ... ля, ля, ля ...