powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / чем "БД пользователя" отличается от "обычной БД"?
12 сообщений из 12, страница 1 из 1
чем "БД пользователя" отличается от "обычной БД"?
    #39710453
вопрос возник при чтении langref. В части "CREATE DATABASE" этого нет, а в при описании команд управления правами доступа такая разница отмечается. Нагуглить в лоб не получилось.
...
Рейтинг: 0 / 0
чем "БД пользователя" отличается от "обычной БД"?
    #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
чем "БД пользователя" отличается от "обычной БД"?
    #39710458
Снимаю вопрос про security3fbd, она естественно одна, на сервере, пользователь должен ыбть там прописан.
Остается вопрос по переменным окружения. Какой пользователь является создателем БД, если он явно в команде не прописан?
...
Рейтинг: 0 / 0
чем "БД пользователя" отличается от "обычной БД"?
    #39710481
И еще вопрос

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

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

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

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

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

Запомни и повторяй по утрам как мантру: "группы пользователей и роли в стандарте ANSI SQL
это две большие разницы".
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
чем "БД пользователя" отличается от "обычной БД"?
    #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
чем "БД пользователя" отличается от "обычной БД"?
    #39710512
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
старый пеньНапример, есть две роли, одна дает право на SELECT из таблицы1, другая из таблицы2, и обе
эти роли назначены пользователю.

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

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

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

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


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