powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Программные пользователи. Чревато?
35 сообщений из 35, показаны все 2 страниц
Программные пользователи. Чревато?
    #38981615
Softologic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый вечер коллеги!
Интересует следующее: чем и насколько чревата имитация создания пользователей "программным" способом. Поясню - речь идет о том, чтобы вместо использования механизма создания и подключения пользователей на стороне сервера, использовать подключение под одним и тем же пользователем для всех.
Таким образом, при создании аккаунта мы уходим от понятия логина (при авторизации будет комбобокс с ФИО-ми), пароль же будет шифроваться в мд5 и хранится в таблице пользователей.
Такой метод я еще не использовал, обходился классическим способом, но заказчик категорически против логинов :) Хочет чтобы их не было совсем. Пришлось придумать вышеописанное :)
...
Рейтинг: 0 / 0
Программные пользователи. Чревато?
    #38981640
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rtfm trusted autentification
...
Рейтинг: 0 / 0
Программные пользователи. Чревато?
    #38981652
dennis-r
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Softologic,

Ну, например, чревато отсутствием разграничения прав доступа на уровне базы (использвания прав ролей/пользователей), отсутствие вменяемого журналирования действий пользователей в процедурах/триггерах.

Проблему можно решить приблизительно так:
1. Создаётся таблица соответствия логинов и отображаемых имён пользователей. Логины создаются автоматически (при добавлении пользователей либо простой нумерацией "USER1", "USER2" и т.п., либо преобразованием кирилицы в латиницу "Иванов П.С." -> "IVANOV_P_S", либо ещё хэш знает как-нибудь).
2. Перед подключением пользователя происходит подключение под специальной учётной записью, которая может читать только эту таблицу соответствий. Пользователь выбирает из списка себя и выполняет соединение уже под своим логином. Сами логины в списке выбора можно и не отображать, чтобы заказчик не кипятился.

Ну, или, как уже подсказали выше, можно использовать trusted autentification. Тогда пользователю вообще ничего вводить не надо, но есть некоторые но.
...
Рейтинг: 0 / 0
Программные пользователи. Чревато?
    #38981654
Softologic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
trusted autentification не подойдет. По той причине, что перелогиниваться через выход из системы не вариант - долго (розничная точка с большой проходимостью в торговом центре в мск) и нужны параллельно открытые программы...
...
Рейтинг: 0 / 0
Программные пользователи. Чревато?
    #38981658
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Softologicперелогиниваться через выход из системы не вариант
А зачем вообще перелогиниваться-то? Раз уж начальству пофиг на безопасность, разграничение
прав и всё остальное, что написали выше, то зачем вообще имена пользователей? Пусть все
работают под одним SYSDBA.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Программные пользователи. Чревато?
    #38981660
dennis-r
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovРаз уж начальству пофиг на безопасность...

На это может и пофиг, но, скорей всего, это просто широко распространённый синдром "не-хочу-печатать-много-букв-хочу-тыкать-мышкой". Ведь "и-так-пароль-набирать-приходится"!
...
Рейтинг: 0 / 0
Программные пользователи. Чревато?
    #38981662
Softologic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry SibiryakovSoftologicперелогиниваться через выход из системы не вариант
А зачем вообще перелогиниваться-то? Раз уж начальству пофиг на безопасность, разграничение
прав и всё остальное, что написали выше, то зачем вообще имена пользователей? Пусть все
работают под одним SYSDBA.

Разграничение прав он видит в двух вариантах - SYSDBA (неогран. права) и все остальные (с ограниченными правами, настраиваемые и реализуемые программно). Как то так.
...
Рейтинг: 0 / 0
Программные пользователи. Чревато?
    #38981664
dennis-r
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SoftologicКак то так.Это НЕ разграничение прав. :)
...
Рейтинг: 0 / 0
Программные пользователи. Чревато?
    #38981666
Softologic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
dennis-rSoftologicКак то так.Это НЕ разграничение прав. :)
На уровне базы согласен, но на уровне программы вполне.
В общем, скорее всего сделаю с автогенерацией логинов все же. Спасибо всем за комментарии и советы!
...
Рейтинг: 0 / 0
Программные пользователи. Чревато?
    #38981690
Фотография krapotkin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
у меня в одной системе сделано именно так
программа ходит в базу под одним логином и паролем
в зависимости от того, какой пароль вводят, перелогинивается с найденной ролью в базе и программе
...
Рейтинг: 0 / 0
Программные пользователи. Чревато?
    #38981725
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Softologic,

да сделай логин и пароль тупо одним и тем же
...
Рейтинг: 0 / 0
Программные пользователи. Чревато?
    #38981767
Фотография aleksandr-pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SoftologicДобрый вечер коллеги!
Интересует следующее: чем и насколько чревата имитация создания пользователей "программным" способом. достаточно давно пользуюсь данным методом, могу поделиться наработками, есть уже готовый механизм управления пользователями, правами, форма ввода логина, и т.д. где то на форуме уже выкладывал пример, найду повторю.
...
Рейтинг: 0 / 0
Программные пользователи. Чревато?
    #38981770
Фотография aleksandr-pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пример правда староват Delphi 2007 test.rar
...
Рейтинг: 0 / 0
Программные пользователи. Чревато?
    #38981782
kaktus1983
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Softologic,
Когда-то давно делал как у Вас описано:
- таблица юзеров с шифр. паролями, ФИО, даже аватар)))
- подключение к БД идет только под SYSDBA,
- при заходе в программу имя выбирается из списка,
- есть тип пользователя и взависимости от него настраивается вид приложения (доступность пунктов меню)
- ID пользователя, тип хранятся глобально после входа в проложение,
- количество однеовременно запущенных копий приложения на 1 машине неограничено (даже под одним логином)
- при необходимости в параметрах запросов перадается ID пользователя (если надо зафиксировать его действия, например пометить что запись удаленена и кем)
Как-то так...
Без проблем работало не один год, нареканий не было.
...
Рейтинг: 0 / 0
Программные пользователи. Чревато?
    #38981813
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Softologictrusted autentification не подойдет. По той причине, что перелогиниваться через выход из системы не вариант - долго (розничная точка с большой проходимостью в торговом центре в мск) и нужны параллельно открытые программы...Ужоснах.
Шляются все кому не лень, работают с деньгами и лень заводить пароль?
Страна непуганых идиотов, простите мой аглицкий.

Кури в строну УСБ токенов и аутентификация оными в домене винды, далее трастет аутентификация.

У каждого юзера свой токен на шее на веревочке, отошел комп заблокировался, пришел, воткнул в разъем, разблокировался.
...
Рейтинг: 0 / 0
Программные пользователи. Чревато?
    #38981845
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kaktus1983,

не надо ходить обычным пользователям под SYSDBA. Если уже надо всем ходить под одним пользователем, то заведи отдельного и дай ему все права.
...
Рейтинг: 0 / 0
Программные пользователи. Чревато?
    #38981873
Фотография o_v_a
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У нас пользователи программные.
SQL-пользователь для юзеров свой - бесправный. Коннект приложения выполняют только с указанием роли.
SQL-ролей с правами на таблицы, вьюхи, процедуры в базе по необходимости несколько.
Роль для приложения прописана каждому жёстко. А вот права юзерам ещё и дополнительно прописываются программно (кто какую роль в системе имеет право выполнять: начальник, кассир, бухгалтер и т.п.).
Каждая программа коннектится к базе общим бесправным SQL-пользователем своей SQL-ролью.
Авторизует пользователя программно по логину/паролю, проверяет его права и уже только после этого впускает в интерфейс, если тот имеет право.
...
Рейтинг: 0 / 0
Программные пользователи. Чревато?
    #38982110
MaratIsk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
o_v_aУ нас пользователи программные.
SQL-пользователь для юзеров свой - бесправный. Коннект приложения выполняют только с указанием роли.
SQL-ролей с правами на таблицы, вьюхи, процедуры в базе по необходимости несколько.
Роль для приложения прописана каждому жёстко. А вот права юзерам ещё и дополнительно прописываются программно (кто какую роль в системе имеет право выполнять: начальник, кассир, бухгалтер и т.п.).
Каждая программа коннектится к базе общим бесправным SQL-пользователем своей SQL-ролью.
Авторизует пользователя программно по логину/паролю, проверяет его права и уже только после этого впускает в интерфейс, если тот имеет право.

программные пользователи - признак того, что разработчики не знают СУБД :) кроме SELECT, UPDATE, INSERT и т.д.
...
Рейтинг: 0 / 0
Программные пользователи. Чревато?
    #38982473
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MaratIsk,

еще программные пользователи - признак трехзвенки. Потому что обычные пользователи в web или трехзвенке нафиг не нужны.
...
Рейтинг: 0 / 0
Программные пользователи. Чревато?
    #38982544
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hello, Kdv!
You wrote on 11 июня 2015 г. 17:10:10:

Kdv> еще программные пользователи - признак трехзвенки.
> Потому что обычные пользователи в web или трехзвенке нафиг не нужны.
+500
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Программные пользователи. Чревато?
    #38982580
Softologic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kdvMaratIsk,

еще программные пользователи - признак трехзвенки. Потому что обычные пользователи в web или трехзвенке нафиг не нужны.
А можно поподробнее пожалуйста, почему они (в web или трехзвенке) не нужны?
...
Рейтинг: 0 / 0
Программные пользователи. Чревато?
    #38982585
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Softologic,

в вебе по многим причинам. Начиная с того, что зачастую в вебе пользователи добавляются автоматом при регистрации, а для добавление пользователя в СУБД нужны не маленькие права. Никто в здравом уме не даст выполнять DDL запросы при каждой регистрации пользователя.
...
Рейтинг: 0 / 0
Программные пользователи. Чревато?
    #38982589
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SoftologicА можно поподробнее пожалуйста, почему они (в web или трехзвенке) не нужны?
во-первых, количество коннектов к СУБД в трехзвенке или веб обычно не равно и сильно меньше, чем коннектов в клиент-сервере. Иначе смысл трехзвенки теряется.
во-вторых, исходя из первого пункта, пользователь не может быть извне спроецирован на коннект к СУБД. И это не нужно. Потому что пользователей веба или трехзвенки может быть миллионы, но одновременно будут работать максимум тысячи или десятки тысяч (есть такой принцип, понятый еще в телефонии - трехзвенкой была "барышня", которая соединяла абонентов).

отсюда следует, что
- права пользователей веба или трехзвенки регулируются правами веба или трехзвенки, а не СУБД, тем более что система прав веба или трехзвенки может совсем не совпадать с правами SQL (как минимум, разграничение доступа на уровне записей).
- соответственно, для веба (всяческие форумы, e-commerce, e-education и проч) обычно требуется только 1 пользователь СУБД (не SYSDBA). Для трехзвенки пользователей может быть потребуется побольше, зависит от системы.

И т.д.

как-то так.
...
Рейтинг: 0 / 0
Программные пользователи. Чревато?
    #38982652
kaktus1983
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Симонов Денисkaktus1983,
не надо ходить обычным пользователям под SYSDBA. Если уже надо всем ходить под одним пользователем, то заведи отдельного и дай ему все права.
kdv обычно требуется только 1 пользователь СУБД (не SYSDBA).

Подскажите, а чем чревато если этот 1 пользователь будет именно SYSDBA,
при условии, что добавление пользователей и ролей в будущем исключается?
...
Рейтинг: 0 / 0
Программные пользователи. Чревато?
    #38982657
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kaktus1983Подскажите, а чем чревато если этот 1 пользователь будет именно SYSDBA,
да ё-мое. для SYSDBA не выполняются никакие проверки прав, и на него не действует shutdown БД. Фактически это root для СУБД.
Существует масса систем, в которых "все пользователи - SYSDBA", из-за чего как раз проблемы с shutdown.
Тут уже говорили, что если не хотите N пользователей СУБД - создайте ОДНОГО, и дайте ему все права. Но он не будет SYSDBA.
...
Рейтинг: 0 / 0
Программные пользователи. Чревато?
    #38982660
MrCat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как так, shutdown full разве не всем запрещает соединяться с БД, включая SYSDBA? "full - Shutdown and don't allow any connections from anyone, even SYSDBA or the database owner."
...
Рейтинг: 0 / 0
Программные пользователи. Чревато?
    #38982665
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MrCat,

дальше-то что? я вам предлагаю разобраться с режимами shutdown, для чего каждый режим нужен. Нормальный режим - это когда мы запрещаем доступ ПОЛЬЗОВАТЕЛЯМ оставляя доступ SYSDBA для осуществления регламентных операций. В этом случае, если каждый юзер SYSDBA, выполнение регламентных операций по факту невозможно, т.к. shutdown в этом режиме не приводит к реальному shutdown.
...
Рейтинг: 0 / 0
Программные пользователи. Чревато?
    #38982674
MrCat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я вполне понимаю, как использовать эти режимы по уму, и что всем сидеть под SYSDBA|OWNER чревато не спорю. Внезапный DDL чего стоит.

Мне непонятно откуда "куча" проблем с shutdown, когда пользователь один. Если требуется отрубить пользователей, то вполне хватает и shutdown single. Если после него удаётся начать обслуживание - ок, больше никто не помешает. Если нет - значит подцепился пользователь и обслужить не выйдет, обслуживание аварийно завершается. БД при этом остаётся в частичном shutdown'е, но вернёть её в online не проблема.

"Да, ужас, но не ужас-ужас" =)
...
Рейтинг: 0 / 0
Программные пользователи. Чревато?
    #38982701
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MrCatто вполне хватает и shutdown single.
ага. юзеры при внезапном дисконнекте к БД начинают "тыкать в приложение", в резульатате этим самым single sysdba может оказаться кто угодно, только не настоящий sysdba.

В любом случае, массово пользователи НЕ должны работать под рутом. Аминь.
...
Рейтинг: 0 / 0
Программные пользователи. Чревато?
    #38982725
MrCat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
в результате этим самым single sysdba может оказаться кто угодно
Верно. Но в приложениях, в которых один пользователь БД, разграничением прав занимается само приложение. А это значит, что даже если пользователь SYSDBA-обычный успеет подрубиться в паузе между shutdown single и SYSDBA-админом, то он не натворит ничего страшнее того, чего он мог бы натворить и без shutdown single - приложение не даст. Да и времени у него не так много на реконнект, т.к. пауза - кратчайшая.

И какой смысл "создать пользователя, отличного от SYSDBA, но дать ему все права на БД"? Он наворотит бед не меньше, чем SYSDBA. Ну разве что базу не удалит (если только он не DB OWNER). Второго пользователя надо сильно поражать в правах, DDL запрещать, хотя бы на физические данные. Но тут мы выходим за рамки темы, ТС говорит про одного пользователя.

И да, я ни в коем случае не говорю, что один пользователь на БД - хорошая идея. Плохая. Но не смертельная. Как рыба фугу.
...
Рейтинг: 0 / 0
Программные пользователи. Чревато?
    #38982730
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MrCat,

разница большая. Владелец БД он хотя бы может творить что угодно только со своей БД. А SYSDBA с любой которая находится на том же сервере.

DDL до тройки ты всё равно не запретишь. По крайней мере создание объектов метаданных.
...
Рейтинг: 0 / 0
Программные пользователи. Чревато?
    #38983826
Fr0sT-Brutal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Имхо, оправдание работе клиентов под sysdba только одно - лень заводить юзера при инсталляции.
...
Рейтинг: 0 / 0
Программные пользователи. Чревато?
    #38983834
Фотография o_v_a
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MaratIskпрограммные пользователи - признак того, что разработчики не знают СУБД :) кроме SELECT, UPDATE, INSERT и т.д.
Видимо, мусью просто не имел опыта разработки систем из десятков приложений, которые рождаются в течение десятков лет в процессе автоматизации сложных техпроцессов уровня предприятия со сложной иерархией должностных обязанностей персонала.
Про трёхзвенку тоже верно приметили. Есть такое дело.
...
Рейтинг: 0 / 0
Программные пользователи. Чревато?
    #38984324
чччД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Softologictrusted autentification не подойдет. По той причине, что перелогиниваться через выход из системы не вариант - долго (розничная точка с большой проходимостью в торговом центре в мск) и нужны параллельно открытые программы...

Используешь т.н. "Mixed model autentification":

1. По умолчанию - trusted autentification.
2. Если юзер хочет перелогиниться - используем Native. То есть, ручками логин+пароль.
3. При удачном коннекте (правильный логин+пароль) запоминаем имя пользователя (в реестре, например).
4. При следующем коннекте "вспоминаем" логин и, если он совпадает с именем юзера Windows => trusted autentification. Иначе => снова native.
...
Рейтинг: 0 / 0
Программные пользователи. Чревато?
    #38984427
pastor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Приложение подключается с ролью "АРМ".

Логин/пароль trusted или шифрован в реестре/xml.

Авторизация пользователя - картой/штрихкодом/паролем. Пишется user_id в SET_CONTEXT.

Во все операции/хранимые процедуры/логи пишется user_id из GET_CONTEXT.

Как-то так.
...
Рейтинг: 0 / 0
35 сообщений из 35, показаны все 2 страниц
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Программные пользователи. Чревато?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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