Гость
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / чем "БД пользователя" отличается от "обычной БД"? / 12 сообщений из 12, страница 1 из 1
30.09.2018, 08:48
    #39710453
чем "БД пользователя" отличается от "обычной БД"?
вопрос возник при чтении langref. В части "CREATE DATABASE" этого нет, а в при описании команд управления правами доступа такая разница отмечается. Нагуглить в лоб не получилось.
...
Рейтинг: 0 / 0
30.09.2018, 09:00
    #39710456
чем "БД пользователя" отличается от "обычной БД"?
Например

langref30.pdf, стр.494....Использование роли RDB$ADMIN в обычной базе данных
Для использования прав роли RDB$ADMIN пользователь просто указывает её при соединении
с базой данных. Он также может указать её позднее с помощью оператора SET ROLE.
Предоставление роли RDB$ADMIN в базе данных пользователей
Так как никто не может соединиться с базой данных пользователей,...

Пользовательская БД каким-то особым образом создается? в чем разница?

Кстати, еще один вопрос по CREATE DATABASE.

langref30.pdf, стр.87Необязательные параметры CREATE DATABASE
Необязательные предложения USER и PASSWORD задают, соответственно, имя и пароль
пользователя присутствующего в базе данных безопасности (security3.fdb или той, что
указана в параметре SecurityDatabase). Пользователя и пароль можно не указывать,
если установлены переменные окружения ISC_USER и ISC_PASSWORD.


Моя непонятка выделена жирным. Если я создаю БД на удаленном сервере, то о каком security3.fdb и о каких переменных окружения идет речь? По мне, если по-простому, если USER и PASSWORD отсутствуют, то в качестве владельца БД должен браться юзер, который выполняет команду (если у него есть права), но здесь про это нет ни слова.
...
Рейтинг: 0 / 0
30.09.2018, 09:04
    #39710458
чем "БД пользователя" отличается от "обычной БД"?
Снимаю вопрос про security3fbd, она естественно одна, на сервере, пользователь должен ыбть там прописан.
Остается вопрос по переменным окружения. Какой пользователь является создателем БД, если он явно в команде не прописан?
...
Рейтинг: 0 / 0
30.09.2018, 11:50
    #39710481
чем "БД пользователя" отличается от "обычной БД"?
И еще вопрос

Правильно я понял, что использование роли требует обязательное её упоминание в команде CONNECT или SET ROLE?

Я как-то привык (не обязательно по СУБД), что если пользователью назначена роль (или он входит в группу), то разрешения этой роли (группы) распространяются на этого пользователя по умолчанию . Например, есть две роли, одна дает право на SELECT из таблицы1, другая из таблицы2, и обе эти роли назначены пользователю. Я ожидал, что когда этот пользователь приконнектился к БД, то он сможет читать обе эти таблицы. В том числе и потому, что коли уж сервер умеет "складывать" разрешения пользователя с разрешениями указанной этому пользователю роли, то можно ожидать, что он умеет "складывать" все разрешения по всем ролям. Но нет, надо 1) роль обязательно явно указать, 2) что бы прочитать данные из одной и из другой таблицы, роль надо явно поменять.

По моему, это неудобно. Роли же уже всяко назначены, зачем пользователю их еще и явно указывать, какой в этом практический смысл? Я понимаю, что, когда роль указана явно, серверу меньше работы. Но, может быть, имеет смысл добавить режим, что б пользователь, приконнектившись к БД, вообще не парился указанием своих ролей, что-то типа CONNECT ... ALL ROLES?
...
Рейтинг: 0 / 0
30.09.2018, 12:29
    #39710493
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
чем "БД пользователя" отличается от "обычной БД"?
старый пеньПользовательская БД каким-то особым образом создается?

Не "пользовательская БД", а "БД пользователей". То есть "БД где хранится список
пользователей сервера". Почувствуй разницу.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
30.09.2018, 12:37
    #39710494
чем "БД пользователя" отличается от "обычной БД"?
Dimitry Sibiryakov,

спс!
...
Рейтинг: 0 / 0
30.09.2018, 12:39
    #39710495
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
чем "БД пользователя" отличается от "обычной БД"?
старый пеньЯ как-то привык (не обязательно по СУБД), что если пользователью назначена роль (или он
входит в группу), то разрешения этой роли (группы) распространяются на этого пользователя
_по умолчанию_.

Запомни и повторяй по утрам как мантру: "группы пользователей и роли в стандарте ANSI SQL
это две большие разницы".
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
30.09.2018, 13:22
    #39710510
Симонов Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
чем "БД пользователя" отличается от "обычной БД"?
старый пеньISC_USER и ISC_PASSWORD

забей на них. Эти переменные никто не устанавливает, да и вредно это.

>> Какой пользователь является создателем БД, если он явно в команде не прописан?

это зависит от способа аутентификации (в Win_Sspi имя пользователя винды, если он не произошёл глобальный маппинг на другого). В любом случае чтобы пользователь мог создать БД у него либо должна быть привилегия CREATE DATABASE, либо он должен быть администратором в security.db (SYSDBA, с ролью RDB$ADMIN).

старый пеньНо, может быть, имеет смысл добавить режим, что б пользователь, приконнектившись к БД, вообще не парился указанием своих ролей, что-то типа CONNECT ... ALL ROLES?

это можно будет сделать в 4.0. Если роль грантована с предложением DEFAULT то её права будут получены пользователем автоматически. Вэтом случае роль рассматривается как группа. Роли грантованные без предложения DEFAULT работают как раньше (настоящие роли).

>> 2) что бы прочитать данные из одной и из другой таблицы, роль надо явно поменять.

в 3.0 роли можно переключать без переконнекта с помощью оператора SET ROLE
...
Рейтинг: 0 / 0
30.09.2018, 13:28
    #39710512
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
чем "БД пользователя" отличается от "обычной БД"?
старый пеньНапример, есть две роли, одна дает право на SELECT из таблицы1, другая из таблицы2, и обе
эти роли назначены пользователю.

Зачем этот бред? Если роли "бухгалтер" нельзя читать из таблицы2, то это, наверное, не
просто так. А если роли "директор" нельзя читать из таблицы1, то это тоже неспроста. Быть
одновременно бухгалтером и директором, конечно, можно, но какой в этом практический смысл?..
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
30.09.2018, 13:49
    #39710515
чем "БД пользователя" отличается от "обычной БД"?
Dimitry Sibiryakov,

Например чел занимает должность и, время от времени, принимает участие в разных проектах, возможно одновременно в нескольких, под каждый проект свои доступы. Есть конторы, где должности тупо размазаны, один немного бухгалтер, другой немного финдиректор (это конечно автоматизация бардака, ну да и хрен с ним, разработчику немного меньше головной боли, как его автоматизировать). Роли иногда удобно создавать не по должностям, а по бизнес-операциям (на каждый SOP - свои роли), чел может участвовать в нескольких операциях (кстати, КМК это полезно в плане автоматизации бардака, меняется SOP-> меняется роль). В любом случае, я не предлагаю отказывать от сущ. порядка, просто было бы полезно иметь доступ одновременно по несколько ролям.
...
Рейтинг: 0 / 0
30.09.2018, 14:02
    #39710522
Симонов Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
чем "БД пользователя" отличается от "обычной БД"?
старый пень,

ещё раз не путай роли и группы. То что ты хочешь будет в 4.0.
В 3.0 можешь разве что создать роль "бухгалтеродиректор"
...
Рейтинг: 0 / 0
30.09.2018, 14:14
    #39710524
Котовасия
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
чем "БД пользователя" отличается от "обычной БД"?
Dimitry Sibiryakovстарый пеньНапример, есть две роли, одна дает право на SELECT из таблицы1, другая из таблицы2, и обе
эти роли назначены пользователю.

Зачем этот бред? Если роли "бухгалтер" нельзя читать из таблицы2, то это, наверное, не
просто так. А если роли "директор" нельзя читать из таблицы1, то это тоже неспроста. Быть
одновременно бухгалтером и директором, конечно, можно, но какой в этом практический смысл?..
У нас в системе именно так и сделано, юзеру можно назначить несколько ролей, права ролей при этом складываются, очень удобно с практической т.зр., не требуется плодить новые роли. Правда, называются они у нас не "роли", а "группы".
Симонов Денис...
ещё раз не путай роли и группы. То что ты хочешь будет в 4.0. Это кул.
...
Рейтинг: 0 / 0
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / чем "БД пользователя" отличается от "обычной БД"? / 12 сообщений из 12, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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