powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / ограничить коннекты <SYSADM>'а по IP
11 сообщений из 11, страница 1 из 1
ограничить коннекты <SYSADM>'а по IP
    #38511949
sysdummy1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день.

Правильно понимаю, что через connect role и trusted context субж сделать не получится ?
Если нет, то какие на 9.7 есть еще штатные варианты ?
...
Рейтинг: 0 / 0
ограничить коннекты <SYSADM>'а по IP
    #38512172
CawaSPb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sysdummy1,

Правильно.
Можно с помощью WLM (если редакция AWSE, AESE или есть лицензия на Performance Optimization Feature):
Код: sql
1.
2.
3.
4.
CREATE WORKLOAD WL_RESTRICTED_ACCESS 
  ADDRESS('192.168....', ...)
  SYSTEM_USER('USER1', 'USER2', ...)
  DISALLOW DB ACCESS;



CONNECT пройдёт (т.е. можно вести логирование таких коннектов), но любые действия будут сопровождаться:
Код: plaintext
1.
2.
SQL4707N  Workload "WL_RESTRICTED_ACCESS" cannot service the request because
the workload is not allowed to access the database or is disabled.  Reason
code: ""  SQLSTATE=5U020

Детали см. тут - http://pic.dhe.ibm.com/infocenter/db2luw/v9r7/topic/com.ibm.db2.luw.sql.ref.doc/doc/r0050554.html

Это, конечно, "микроскопом гвозди забивать", но почему нет, если микроскоп прочный и в том числе и для забивания гвоздей предназначен.
...
Рейтинг: 0 / 0
ограничить коннекты <SYSADM>'а по IP
    #38512184
xz321
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Logon Trigger???

https://www.ibm.com/developerworks/community/blogs/SQLTips4DB2LUW/entry/logon_triggers_in_db2_kind_of136?lang=en

UPDATE DB CFG USING CONNECT_PROC ENVIRONMENT.CONNECTION_SETUP;

В процедуре ENVIRONMENT.CONNECTION_SETUP сделать

что-то типа
call sysibm.com.admin_cmd('force application (' || current_applicationid || ')');
...
Рейтинг: 0 / 0
ограничить коннекты <SYSADM>'а по IP
    #38512908
sysdummy1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
CawaSPb,

Cпасибо.

Попробовал на 10.5 AESE :

Код: sql
1.
2.
3.
4.
CREATE WORKLOAD WL_RESTRICTED_ACCESS 
  ADDRESS('172.25.16.184')
  SYSTEM_USER('db2inst5')
  DISALLOW DB ACCESS;



Но SQL4707N после коннекта из clp с хоста 172.25.16.184 не выдается, работает как обычно.
WLM до этого не иcпользовал. Его как-то нужно отдельно активировать ?
...
Рейтинг: 0 / 0
ограничить коннекты <SYSADM>'а по IP
    #38513089
CawaSPb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sysdummy1,

Активировать ничего не надо, 'db2inst5' надо в UPPER CASE => 'DB2INST5'.
...
Рейтинг: 0 / 0
ограничить коннекты <SYSADM>'а по IP
    #38513239
sysdummy1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
CawaSPbsysdummy1,

Активировать ничего не надо, 'db2inst5' надо в UPPER CASE => 'DB2INST5'.
Упс...ага, заработало. Спасибо.
Только получается, что придется описывать все IP, c которых запрещать доступ, а запретить всем кроме избранных не получится ?
...
Рейтинг: 0 / 0
ограничить коннекты <SYSADM>'а по IP
    #38513262
sysdummy1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
xz321Logon Trigger???

https://www.ibm.com/developerworks/community/blogs/SQLTips4DB2LUW/entry/logon_triggers_in_db2_kind_of136?lang=en

UPDATE DB CFG USING CONNECT_PROC ENVIRONMENT.CONNECTION_SETUP;

В процедуре ENVIRONMENT.CONNECTION_SETUP сделать

что-то типа
call sysibm.com.admin_cmd('force application (' || current_applicationid || ')');

Cпасибо.

В списке special registers не обнаружил CURRENT_APPLICATIONID.
Правда есть CURRENT CLIENT_WRKSTNNAME, но он почему то пустой если смотреть сразу после коннекта в сессии

В принципе APPL_ID можно взять из SYSIBMADM.APPLICATIONS, но не соображу как его связать с CURRENT USER в процедуре.
...
Рейтинг: 0 / 0
ограничить коннекты <SYSADM>'а по IP
    #38513293
CawaSPb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sysdummy1,

Почему не получится? Вполне:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
CREATE WORKLOAD WL_ADMIN_ACCESS 
  ADDRESS('192.168....', <some other "good" IP>, ...)
  SYSTEM_USER('DB2INST5', ...);

CREATE WORKLOAD WL_RESTRICTED_ADMIN_ACCESS 
  POSITION AFTER WL_ADMIN_ACCESS
  SYSTEM_USER('DB2INST5', ...)
  DISALLOW DB ACCESS;

:)
...
Рейтинг: 0 / 0
ограничить коннекты <SYSADM>'а по IP
    #38513314
CawaSPb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sysdummy1В списке special registers не обнаружил CURRENT_APPLICATIONID.
Это функция - "values(APPLICATION_ID())"

Но это Application ID, а нужен handle:
Код: sql
1.
select agent_id from SYSIBMADM.APPLICATIONS where APPL_ID = APPLICATION_ID();


Но я бы посоветовал быть осторожным с использованием ADMIN_CMD() для "прибить самого себя". По крайней мере предварительно проверить, что оно работает за приемлемое время, не возникает утечек памяти и т.п.
...
Рейтинг: 0 / 0
ограничить коннекты <SYSADM>'а по IP
    #38513935
sysdummy1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
CawaSPb
Почему не получится? Вполне:

Работает! :)
Спасибо!
...
Рейтинг: 0 / 0
ограничить коннекты <SYSADM>'а по IP
    #38522023
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
xz321Logon Trigger???

https://www.ibm.com/developerworks/community/blogs/SQLTips4DB2LUW/entry/logon_triggers_in_db2_kind_of136?lang=en

UPDATE DB CFG USING CONNECT_PROC ENVIRONMENT.CONNECTION_SETUP;

В процедуре ENVIRONMENT.CONNECTION_SETUP сделать

что-то типа
call sysibm.com.admin_cmd('force application (' || current_applicationid || ')');
force сам себя лучше не надо.
Можно для этого в процедуре SIGNAL SQLSTATE по условию делать.
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / ограничить коннекты <SYSADM>'а по IP
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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