Гость
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / dba-assistant с правом только созд-я усеров, должен иметь rdb$admin в non-secur базе. Why? / 6 сообщений из 6, страница 1 из 1
11.01.2016, 19:51
    #39144935
Таблоид
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
dba-assistant с правом только созд-я усеров, должен иметь rdb$admin в non-secur базе. Why?
hi all

В доке по 3.0 есть вот такой текст: Операторы управления пользователями
В данном разделе описываются операторы создания, модификации и удаления
учётных записей пользователей Firebird средствами операторов SQL. Такая возможность
предоставлена следующим пользователям:
• SYSDBA;
• Любому пользователю, имеющему права на роль RDB$ADMIN
в базе данных пользователей
и права на ту же роль для
базы данных в активном подключении
(пользователь должен подключаться к базе данных с ролью RDB$ADMIN);Это значит, что если у "настоящего ДБА-пацана" (SYSDBA) появился помощник, которому разрешено только лишь создавать усеров (create user dba_assistant password '1' grant admin role), и ничего более, то этому помощнику всё равно надо выдать роль RDB$ADMIN в какой-то "NON-security" базе (хотя бы и в пустышке типа emp.fdb).

То есть, мало создавать учетную запись помощника вот так:
Код: plaintext
create or alter user dba_assistant passowrd '1' grant admin role;

Надо непременно в какой-то базе, отличающейся от sec3.fdb, сделать:
Код: plaintext
grant rdb$admin to dba_assistant;

-- и только после этого позвать этого дба-ассистента и сказать ему: "слышь, чтобы добавлять усеров, делай коннект к emp.fdb (обязательно, и только к ней), указывай в строке подключения 'role rdb$admin' (тоже обязательно!), и только после этого, сидя уже в этой базе emp.fdb - можешь добавлять других усеров".

Объясните колхознику, плз: почему недостаточно просто наличия admin-роли этого dba_assistant'a в security3.fdb ?

ЗЫ. К Алексу прошу не отсылать. Я его уже спросил, и не только об этом. И он очень устал от мну за сегодня :-)
...
Рейтинг: 0 / 0
11.01.2016, 19:59
    #39144936
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
dba-assistant с правом только созд-я усеров, должен иметь rdb$admin в non-secur базе. Why?
Таблоидпочему недостаточно просто наличия admin-роли этого dba_assistant'a в
security3.fdb ?
Потому что роль автоматически сбрасывается в NONE при подключении в БД если на неё у
пользователя нет прав.

Твой ассистент может создавать пользователей с помощью сервисов. Проблемы только с SQL.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
11.01.2016, 20:08
    #39144944
Таблоид
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
dba-assistant с правом только созд-я усеров, должен иметь rdb$admin в non-secur базе. Why?
Dimitry SibiryakovПотому что роль автоматически сбрасывается в NONE при подключении в БД если на неё у пользователя нет прав.Ты про какую именно "БД" говоришь ? в sec3.fdb - так там право на админство у ассистента как раз ЕСТЬ. А если про "emp", то нахрена там вообще эта роль ему ? Он в этой emp ничего и не должен менять/создавать.

Dimitry SibiryakovТвой ассистент может создавать пользователей с помощью сервисов. Проблемы только с SQL.как-то не очень сильно бросается в глаза...
Создаем сначала ассистента, разумеется с грантованием ему админ-роли:

Код: plaintext
echo create or alter user dba_helper password '1' grant admin role; | isql /:e30


А теперь от его имени вызываем сервис добавления другого усера (foo):

Код: plaintext
1.
2.
3.
4.
fbsvcmgr localhost/3333:service_mgr ^
     user dba_helper password 1  ^
    action_add_user dbname C:\MIX\firebird\fb30\security3.fdb ^
    sec_username foo sec_password bar

- и получаем в ответ:
Код: plaintext
1.
2.
An error occurred while attempting to add the user.
-no permission for INSERT access to TABLE PLG$VIEW_USERS
...
Рейтинг: 0 / 0
11.01.2016, 20:27
    #39144954
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
dba-assistant с правом только созд-я усеров, должен иметь rdb$admin в non-secur базе. Why?
ТаблоидА теперь от его имени вызываем сервис добавления другого усера (foo):

Код: sql
1.
2.
3.
4.
fbsvcmgr localhost/3333:service_mgr ^
	user dba_helper password 1 ^
	action_add_user dbname C:\MIX\firebird\fb30\security3.fdb ^
	sec_username foo sec_password bar


А роль указывать Пушкин будет?..
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
11.01.2016, 21:03
    #39144972
Таблоид
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
dba-assistant с правом только созд-я усеров, должен иметь rdb$admin в non-secur базе. Why?
Dimitry SibiryakovА роль указывать Пушкин будет?..oops, точно! псип, прокатило:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
fbsvcmgr localhost/3333:service_mgr ^
    user dba_helper password 1 role rdb$admin ^
    action_add_user dbname C:\MIX\firebird\fb30\security3.fdb ^
    sec_username foo sec_password bar

fbsvcmgr localhost/3333:service_mgr ^
    user dba_helper password 1  role rdb$admin  ^
    action_display_user ^
    dbname C:\MIX\firebird\fb30\security3.fdb sec_username foo

Login                        Full name                                 uid  gid adm
FOO                                                                      0    0  no

BTW: для просмотра созданного усера также надо указать role rdb$admin . Почему - хз, но это так :-)
...
Рейтинг: 0 / 0
12.01.2016, 09:58
    #39145152
Симонов Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
dba-assistant с правом только созд-я усеров, должен иметь rdb$admin в non-secur базе. Why?
Таблоид,

ну это как раз понятно. Ограничения секурити. Если ты не админ в БД пользователей, то можешь смотреть инфу только о себе как и для таблиц мониторинга.

Пользователей можно смотреть и через SEC$USERS.

Таблоид-- и только после этого позвать этого дба-ассистента и сказать ему: "слышь, чтобы добавлять усеров, делай коннект к emp.fdb (обязательно, и только к ней), указывай в строке подключения 'role rdb$admin' (тоже обязательно!), и только после этого, сидя уже в этой базе emp.fdb - можешь добавлять других усеров".

По уму должна быть отдельная спец роль для управления пользователями. Но расширения количество системных ролей (RDB$MONITOR, SEC$ADMIN) обещается только после тройки.
...
Рейтинг: 0 / 0
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / dba-assistant с правом только созд-я усеров, должен иметь rdb$admin в non-secur базе. Why? / 6 сообщений из 6, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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