Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / IBExpert Новый топик    Ответить
 GRANT TO PUBLIC  [new]
CyberMax
Member

Откуда: Хабаровск
Сообщений: 1435
Выдал PSQL-функции права пользователя PUBLIC.
На странице "Скрипт" такой текст:
GRANT EXECUTE ON FUNCTION NLE TO "PUBLIC";

Почему PUBLIC обрамлен в кавычки? Если их убрать, то скрипт нормально работает.
И второй вопрос - будет ли убрано бессмысленное грантование для SYSDBA?
GRANT EXECUTE ON FUNCTION NLE TO SYSDBA;
3 ноя 20, 08:09    [22225458]     Ответить | Цитировать Сообщить модератору
 Re: GRANT TO PUBLIC  [new]
IBExpert
Member

Откуда: От верблюда
Сообщений: 3331
CyberMax

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


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

CyberMax

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


Мне отсюда не видно, что оно бессмысленное. Мне отсюда видно только записи в RDB$USER_PRIVILEGES.
3 ноя 20, 08:38    [22225468]     Ответить | Цитировать Сообщить модератору
 Re: GRANT TO PUBLIC  [new]
Симонов Денис
Member

Откуда: Рязань
Сообщений: 10703
IBExpert,

можно фильтровать по владельцу объекта (процедуры, функции, пакета, триггера). Ему гранты давать не надо.
3 ноя 20, 11:07    [22225545]     Ответить | Цитировать Сообщить модератору
 Re: GRANT TO PUBLIC  [new]
IBExpert
Member

Откуда: От верблюда
Сообщений: 3331
Симонов Денис

можно фильтровать по владельцу объекта (процедуры, функции, пакета, триггера). Ему гранты давать не надо.
4 ноя 20, 04:48    [22226094]     Ответить | Цитировать Сообщить модератору
 Re: GRANT TO PUBLIC  [new]
IBExpert
Member

Откуда: От верблюда
Сообщений: 3331
Симонов Денис

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


Можно. Но мне отсюда также не видно, для какой цели тот скрипт будет использоваться.
4 ноя 20, 04:49    [22226095]     Ответить | Цитировать Сообщить модератору
 Re: GRANT TO PUBLIC  [new]
CyberMax
Member

Откуда: Хабаровск
Сообщений: 1435
IBExpert
Мне отсюда не видно, что оно бессмысленное. Мне отсюда видно только записи в RDB$USER_PRIVILEGES.

Видно же. Любой грант для пользователя с именем SYSDBA - бессмысленен. Я же не говорю про анализ владельца объекта или наличие грантованной роли RDB$ADMIN для пользователя для определения, нужен грант или нет.
4 ноя 20, 06:40    [22226105]     Ответить | Цитировать Сообщить модератору
 Re: GRANT TO PUBLIC  [new]
IBExpert
Member

Откуда: От верблюда
Сообщений: 3331
CyberMax
Любой грант для пользователя с именем SYSDBA - бессмысленен.


Серьезно? А чего тогда эти бессмысленные гранты место в RDB$USER_PRIVILEGES занимают?
4 ноя 20, 07:29    [22226107]     Ответить | Цитировать Сообщить модератору
 Re: GRANT TO PUBLIC  [new]
CyberMax
Member

Откуда: Хабаровск
Сообщений: 1435
Для начала процитирую два источника:
1. Официальная документация
Каждая установленная СУБД Firebird имеет предопределенного пользователя с именем SYSDBA. Этот пользователь является администратором, и имеет неограниченный доступ ко всем базам данных, доступным СУБД. Права, определенные в конкретной базе данных, игнорируются, если подключение к базе данных осуществлется пользователем SYSDBA.

2. Статья на ibase.ru
Право на доступ к любому объекту базы данных после его создания имеют только SYSDBA и владелец этого объекта.


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

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

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

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

А там уже есть SYSDBA с правами на EXECUTE.
Так же с таблицей - если создать новую и посмотреть в RDB$USER_PRIVILEGES, то там уже будут все пять прав, выданные SYSDBA для SYSDBA. То есть обеспечением прав для SYSDBA занимается сам сервер. И после создания любого объекта давать ему какие-либо права не нужно - они уже есть.
4 ноя 20, 09:51    [22226128]     Ответить | Цитировать Сообщить модератору
 Re: GRANT TO PUBLIC  [new]
IBExpert
Member

Откуда: От верблюда
Сообщений: 3331
CyberMax

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


Эксперт их и не дает, они перечислены в скрипте как существующие привилегии. Выкусывать их оттуда только потому, что они тебе глаза мозолят, я не буду. Можешь сделать это самостоятельно с помощью REVOKE.
4 ноя 20, 11:31    [22226152]     Ответить | Цитировать Сообщить модератору
Все форумы / IBExpert Ответить