Начало » Использование СУБД » Firebird, HQbird, InterBase » FB 4.0 как правильно создать роль?
|
|
Re: FB 4.0 как правильно создать роль? [сообщение #2579 является ответом на сообщение #2576] |
Sat, 17 June 2023 16:14 |
DmitryKn
Сообщений: 12 Зарегистрирован: June 2023
|
Junior Member |
|
|
Что еще за БД пользователей?
Пользователей создаю через IDExpert , можно через редактор скриптов, но про отдельную БД пользователей не слышал.
UPD: Так, БД существует, но мы же все равно пользователя создаем-редактируем в приложении, так что вопрос не изменился. Как создать пользователя не-админа, который мог бы создавать-редактировать других пользователей, может, если бы пример кода, а то новичку сложновато.
[Обновления: Sat, 17 June 2023 17:50] Известить модератора
|
|
|
|
Re: FB 4.0 как правильно создать роль? [сообщение #2582 является ответом на сообщение #2580] |
Sun, 18 June 2023 12:28 |
DmitryKn
Сообщений: 12 Зарегистрирован: June 2023
|
Junior Member |
|
|
SD писал(а) Sun, 18 June 2023 00:43Очевидно, что "БД пользователей" это БД в которой хранятся пользователи. Также она известна как "база паролей" или security.db.
Да, это понятно. Но как это реализовать через команды?
Хочу сделать свой интерфейс, из которого можно назначить буха Лену, которая может потом завести кладовщика Васю. Без утилит и командной строки.
И по идее, то, что я в первом посте выкладывал, должно работать, а оно не работает. Какой должен быть скрипт для создания юзера, без админских прав, но с правом создания других пользователей, если
CREATE ROLE BUH
SET SYSTEM PRIVILEGES TO USER_MANAGEMENT, CREATE_USER_TYPES;
create user LENA password '123' active;
GRANT DEFAULT buh TO USER LENA;
не работает, в чем ошибка?
|
|
|
|
Re: FB 4.0 как правильно создать роль? [сообщение #2584 является ответом на сообщение #2583] |
Sun, 18 June 2023 15:30 |
DmitryKn
Сообщений: 12 Зарегистрирован: June 2023
|
Junior Member |
|
|
SD писал(а) Sun, 18 June 2023 14:11Не к той базы ты подключен во время выполнения команд. Повторяю медленно: это надо делать в базе пользователей.
IBExpert создает же пользователей без явного подключения к security4.fdb, включая админские права..
И если админ создает пользователя, то тоже создается, без явного подключения к security4.fdb. Но вот создать роль, которая в свою очередь может создавать пользователей, и по умолчанию ее присвоить, не выходит, т.е. вроде выходит, но пользователи не создаются (
Хорошо, это надо делать в security4.fdb, как к ней подключится, она может с клиента и не подключится. Я совсем новичек, только пробую разобраться.
[Обновления: Sun, 18 June 2023 15:33] Известить модератора
|
|
|
|
|
Re: FB 4.0 как правильно создать роль? [сообщение #2591 является ответом на сообщение #2587] |
Mon, 19 June 2023 12:58 |
DmitryKn
Сообщений: 12 Зарегистрирован: June 2023
|
Junior Member |
|
|
sim_84 писал(а) Mon, 19 June 2023 09:40В твоём случае надо было ...
Огромное спасибо!
Теоретический такой вопрос, плаваю в ролях и в пользователях с RDB$ADMIN.
В первом случае:
create user LENA password '123' grant admin role; -- мы предоставляем админские права на базу данных и на базу пользователей (?)
В развернутом примере, видимо, реализован этот момент:
Цитата:
13.2. Управление пользователями ...
... Любому пользователю с ролью, которой назначена системная привилегия
USER_MANAGEMENT в базе данных безопасности. Пользователь должен подключаться к
базе данных с этой ролью или получить её права, если роль назначена в качестве роли
по умолчанию;
Так а чем тогда будет принципиально отличаться роль с RDB$ADMIN от роли с системной привилегией USER_MANAGEMENT, пусть в этом случае будет BUH, если этот BUH не будучи админом может назначить другого админа или отобрать админские права у назначенного SYSDBA админа?
Я новичек в создании приложений, но везде, где бы и что бы не читал, всегда было как императив - не давать админских прав юзерам, отсюда вот и вопросы.
Получается, если без "извращений", то явно даем админа, а если с извращениями - то неявно. Но можем ограничить доступ к таблицам и процедурам в базе данных, но юзер может сам себе назначить админскую роль уже безо всяких ограничений, я правильно это понимаю?
|
|
|
Re: FB 4.0 как правильно создать роль? [сообщение #2592 является ответом на сообщение #2591] |
Mon, 19 June 2023 14:39 |
sim_84
Сообщений: 332 Зарегистрирован: June 2022
|
Senior Member |
|
|
>> мы предоставляем админские права на базу данных и на базу пользователей (?)
нет. Только на базу данных пользователей.
>> Так а чем тогда будет принципиально отличаться роль с RDB$ADMIN от роли с системной привилегией USER_MANAGEMENT, пусть в этом случае будет BUH, если этот BUH не будучи админом может назначить другого админа или отобрать админские права у назначенного SYSDBA админа?
RDB$ADMIN содержит все административные привилегии, а не только управление пользователями.
BUH - никого назначить не может ибо у него нет прав в обычной БД. Права на объекты и роли находятся там где их назначают.
>> Получается, если без "извращений", то явно даем админа, а если с извращениями - то неявно. Но можем ограничить доступ к таблицам и процедурам в базе данных, но юзер может сам себе назначить админскую роль уже безо всяких ограничений, я правильно это понимаю?
Не правильно, смотри выше.
Мог бы уже эксперимент провести.
|
|
|
|
|
|
Re: FB 4.0 как правильно создать роль? [сообщение #2605 является ответом на сообщение #2601] |
Tue, 20 June 2023 11:26 |
DmitryKn
Сообщений: 12 Зарегистрирован: June 2023
|
Junior Member |
|
|
SD писал(а) Tue, 20 June 2023 00:36sim_84 писал(а) Mon, 19 June 2023 13:39
BUH - никого назначить не может ибо у него нет прав в обычной БД. Права на объекты и роли находятся там где их назначают.
Зато он может сменить пароль SYSDBA, подключиться под ним и назначить себе всё что угодно.
а вот это расстраивает.
Есть какие-либо общепринятые приемы для купирования таких явлений при создании приложений ?
[Обновления: Tue, 20 June 2023 11:29] Известить модератора
|
|
|
|
Re: FB 4.0 как правильно создать роль? [сообщение #2613 является ответом на сообщение #2606] |
Wed, 21 June 2023 10:31 |
DmitryKn
Сообщений: 12 Зарегистрирован: June 2023
|
Junior Member |
|
|
Когда админ и админ, и жнец и косец, и часто в поле, то есть соблазн спихнуть такие вещи на буха. Компания маленькая, нет "выделенного" админа.
Но ведь и в большой компании, разве админ занимается "кадровой" работой, если людей , например, от 500 ? Там только на юзеров нужен будет "выделенный" админ, а то и целый сектор.
Видимо, в приложении, в клиенте нужно это разруливать, но тогда вся идея с ролями слегка тускнеет. Так-то люди 2-х юзеров заводят, один админ, один - все остальные, но врядли при создании ФБ стремились именно к этому.
Нужна роль с доступом к управлению пользователями, но без возможности управлять пользователями типа админ, тогда будет идеально.
[Обновления: Wed, 21 June 2023 10:34] Известить модератора
|
|
|
|
|
|
Re: FB 4.0 как правильно создать роль? [сообщение #2624 является ответом на сообщение #2623] |
Wed, 21 June 2023 19:53 |
DmitryKn
Сообщений: 12 Зарегистрирован: June 2023
|
Junior Member |
|
|
Господа!
Я совершенно неправильно вами понят )
Поясняю:
1.
SD писал(а) Wed, 21 June 2023 16:22Да брось, даже при 500 человеках приём на работу и увольнения бухгалтеров происходят от силы пару раз в год.
В моем посте шла речь не о бухах, а о том, что админ занят управлением 500 пользователями, их добавляет, удаляет и редактирует, потому что SD не давать пользователям прав на работу, которую должен делать админ. т.е. буху прав не дали на управление пользователями.
2.
basid писал(а) Wed, 21 June 2023 17:56...
Если кто-то сменил пароль sysdba, то сразу известно, что люлей получит владелец "специально обученной" учётной записи.
Что дисцпилинирует уже само по себе.
Я новичек, и только учусь, но мне говорили, что ничего само себя дисциплинировать не будет, и при создании приложений нужно избегать любых допущений.
Моделирую пример: Сильно располневшая и постаревшая бухгалтер Клава кидает предъяву боссу и вместе с ней заявление, в надежде услышать мольбы и на коленях. Босс тем временем наладил мосты с молоденькой приветливой секретаршей Светой, и страшно довольный сложившейся ситуацией мгновенно подписывает заяву. Клава же, помимо прочего удаленно сожительствовала с админом ФБ, фанатиком своего дела, любящим рассказывать Клаве премудрости. Клава идет и ломает БД, даже не делая никаких копий, гордо уходит и не берет трубку. Случай почти жизненный, только был с 1С, и чуть другие обстоятельства. Имена тоже изменены, но в редакции есть.
3.
sim_84 писал(а) Wed, 21 June 2023 18:24500 человек это совсем не маленькая компания, может позволить себе нанять админа.
Это я не про себя, компания в 500 человек будет иметь целый отдел, но и ему будет неудобно. В моей компании с десяток пользователей и я в ней и админ, и разработчик, и юзер, и на складе, и даже еще дети есть ))
но вы глубоко в теме (хотел, кстати, спросить, есть ли уже книга?) , скажите, разве логика ФБ не предусматривает, что бы ВСЕ юзеры были заведены, и им уже давались права, роли и т.п ? Мне давали советы, типа, сделай одного пользователя, заведи соединение одно на всех и живи спокойно. Ну двух пользователей, больше не надо. В моем представлении должно быть так (для моего случая): - создаю ВСЕХ юзеров, создаю несколько ролей, например, одна роль бухам, одна продажникам, одна складским, раздаю права, иду на пенсию. Такой подход верен или я не так все понял?
[Обновления: Wed, 21 June 2023 20:06] Известить модератора
|
|
|
Re: FB 4.0 как правильно создать роль? [сообщение #2626 является ответом на сообщение #2624] |
Thu, 22 June 2023 00:45 |
SD
Сообщений: 418 Зарегистрирован: August 2022
|
Senior Member |
|
|
DmitryKn писал(а) Wed, 21 June 2023 18:53
Я совершенно неправильно вами понят )
Поясняю:
В моем посте шла речь не о бухах, а о том, что админ занят управлением 500 пользователями, их добавляет, удаляет и редактирует
Это ты нас совершенно не понял. Поэтому слушай, что тебе говорит человек, админивший предприятие на 500 пользователей: если ты каждый день добавляешь/удаляешь/редактируеш ь пользователей - что-то протухло в консерватории. Ибо, ещё раз, медленно: люди, которым нужен доступ в систему/сеть, приходят и увольняются не каждый день и даже не каждый месяц. И эту работу никому перепоручать не имеет смысла, поскольку именно ты несёшь ответственность за систему. И за потерю/утечку данных будут спрашивать с тебя. И отмазки "я передоверил это какому-то буху" не прокатят, ибо бух должен делать свою работу, а не твою.
PS: Trusted auth делает эту работу гораздо проще и для тебя и для пользователя.
[Обновления: Thu, 22 June 2023 00:46] Известить модератора
|
|
|
|
Re: FB 4.0 как правильно создать роль? [сообщение #2628 является ответом на сообщение #2626] |
Thu, 22 June 2023 11:48 |
DmitryKn
Сообщений: 12 Зарегистрирован: June 2023
|
Junior Member |
|
|
SD писал(а) Thu, 22 June 2023 00:45- что-то протухло в консерватории...
PS: Trusted auth делает эту работу гораздо проще и для тебя и для пользователя.
Какая разница, протухло не протухло... речь о подходе при создании приложения, исключить, по-возможности, любые негативные моменты. И я, как заказчик, поставил задачу сделать так, чтобы бух мог управлять пользователями с ограничением по админам. Теперь я, как исполнитель, чешу репу и прошу тут вашей помощи и совета. А "протухло-не протухло" к делу не пришьешь, это субъективная оценка, которая к ТЗ отношения не имеет.
|
|
|
|
|
|
Re: FB 4.0 как правильно создать роль? [сообщение #2633 является ответом на сообщение #2629] |
Thu, 22 June 2023 18:03 |
DmitryKn
Сообщений: 12 Зарегистрирован: June 2023
|
Junior Member |
|
|
SD писал(а) Thu, 22 June 2023 14:49DmitryKn писал(а) Thu, 22 June 2023 10:48Теперь я, как исполнитель, чешу репу и прошу тут вашей помощи и совета.
Совет: иди к заказчику и на пальцах ему объясняй, что его хотелка гнилая, работать так, как задумано, не будет и в конечном итоге выльется в полную Ж. Повторяй пока он не передумает и не сделает всё по уму.
Совет хорош, надо обдумать
|
|
|
|
|
|
Переход к форуму:
Текущее время: Mon Dec 30 23:33:22 GMT+3 2024
Общее время, затраченное на создание страницы: 0.01332 секунд
|