Гость
Форумы / IBExpert [игнор отключен] [закрыт для гостей] / GRANT TO PUBLIC / 9 сообщений из 9, страница 1 из 1
03.11.2020, 08:09
    #40014705
CyberMax
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
GRANT TO PUBLIC
Выдал PSQL-функции права пользователя PUBLIC.
На странице "Скрипт" такой текст:
Код: sql
1.
GRANT EXECUTE ON FUNCTION NLE TO "PUBLIC";


Почему PUBLIC обрамлен в кавычки? Если их убрать, то скрипт нормально работает.
И второй вопрос - будет ли убрано бессмысленное грантование для SYSDBA?
Код: sql
1.
GRANT EXECUTE ON FUNCTION NLE TO SYSDBA;
...
Рейтинг: 0 / 0
03.11.2020, 08:38
    #40014712
IBExpert
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
GRANT TO PUBLIC
CyberMax

Почему PUBLIC обрамлен в кавычки? Если их убрать, то скрипт нормально работает.


А если не убирать, то тоже нормально работает. Т.е., проблемы нет.

CyberMax

И второй вопрос - будет ли убрано бессмысленное грантование для SYSDBA?
Код: sql
1.
GRANT EXECUTE ON FUNCTION NLE TO SYSDBA;



Мне отсюда не видно, что оно бессмысленное. Мне отсюда видно только записи в RDB$USER_PRIVILEGES.
...
Рейтинг: 0 / 0
03.11.2020, 11:07
    #40014765
Симонов Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
GRANT TO PUBLIC
IBExpert,

можно фильтровать по владельцу объекта (процедуры, функции, пакета, триггера). Ему гранты давать не надо.
...
Рейтинг: 0 / 0
04.11.2020, 04:48
    #40015125
IBExpert
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
GRANT TO PUBLIC
Симонов Денис

можно фильтровать по владельцу объекта (процедуры, функции, пакета, триггера). Ему гранты давать не надо.
...
Рейтинг: 0 / 0
04.11.2020, 04:49
    #40015126
IBExpert
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
GRANT TO PUBLIC
Симонов Денис

можно фильтровать по владельцу объекта (процедуры, функции, пакета, триггера). Ему гранты давать не надо.


Можно. Но мне отсюда также не видно, для какой цели тот скрипт будет использоваться.
...
Рейтинг: 0 / 0
04.11.2020, 06:40
    #40015135
CyberMax
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
GRANT TO PUBLIC
IBExpert
Мне отсюда не видно, что оно бессмысленное. Мне отсюда видно только записи в RDB$USER_PRIVILEGES.

Видно же. Любой грант для пользователя с именем SYSDBA - бессмысленен. Я же не говорю про анализ владельца объекта или наличие грантованной роли RDB$ADMIN для пользователя для определения, нужен грант или нет.
...
Рейтинг: 0 / 0
04.11.2020, 07:29
    #40015137
IBExpert
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
GRANT TO PUBLIC
CyberMax
Любой грант для пользователя с именем SYSDBA - бессмысленен.


Серьезно? А чего тогда эти бессмысленные гранты место в RDB$USER_PRIVILEGES занимают?
...
Рейтинг: 0 / 0
04.11.2020, 09:51
    #40015150
CyberMax
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
GRANT TO PUBLIC
Для начала процитирую два источника:
1. Официальная документация
Каждая установленная СУБД Firebird имеет предопределенного пользователя с именем SYSDBA. Этот пользователь является администратором, и имеет неограниченный доступ ко всем базам данных, доступным СУБД. Права, определенные в конкретной базе данных, игнорируются, если подключение к базе данных осуществлется пользователем SYSDBA.
2. Статья на ibase.ru
Право на доступ к любому объекту базы данных после его создания имеют только SYSDBA и владелец этого объекта.

Из этих цитат очевидно, что давать гранты SYSDBA не нужно, т.к. доступ к объектам под SYSDBA обеспечивается самим сервером.

IBExpert
А чего тогда эти бессмысленные гранты место в RDB$USER_PRIVILEGES занимают?

Могу предположить, что для внутренних нужд сервера.

Для теста создаю новую функцию "NEW_PSQL_FUNC".
Смотрю права:
Код: sql
1.
SELECT * FROM RDB$USER_PRIVILEGES UP WHERE UP.RDB$RELATION_NAME = 'NEW_PSQL_FUNC'


А там уже есть SYSDBA с правами на EXECUTE.
Так же с таблицей - если создать новую и посмотреть в RDB$USER_PRIVILEGES, то там уже будут все пять прав, выданные SYSDBA для SYSDBA. То есть обеспечением прав для SYSDBA занимается сам сервер. И после создания любого объекта давать ему какие-либо права не нужно - они уже есть.
...
Рейтинг: 0 / 0
04.11.2020, 11:31
    #40015166
IBExpert
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
GRANT TO PUBLIC
CyberMax

Из этих цитат очевидно, что давать гранты SYSDBA не нужно


Эксперт их и не дает, они перечислены в скрипте как существующие привилегии. Выкусывать их оттуда только потому, что они тебе глаза мозолят, я не буду. Можешь сделать это самостоятельно с помощью REVOKE.
...
Рейтинг: 0 / 0
Форумы / IBExpert [игнор отключен] [закрыт для гостей] / GRANT TO PUBLIC / 9 сообщений из 9, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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