Зачем вам когда-либо предоставлять специальные разрешения на ПОСЛЕДОВАТЕЛЬНОСТЬ? - PullRequest
0 голосов
/ 28 января 2019

Что было бы хорошим вариантом использования для ограничения разрешений на ПОСЛЕДОВАТЕЛЬНОСТЬ в базе данных?

Обычно, когда я ПРЕДОСТАВЛЯЮ разрешения на ТАБЛИЦУ, я также ПРЕДОСТАВЛЯЮ же разрешения на ПОСЛЕДОВАТЕЛЬНОСТИ.Это выглядит как избыточный шаг, так есть ли хороший случай, когда разрешения SEQUENCE отличаются от разрешений TABLE?

1 Ответ

0 голосов
/ 29 января 2019

Я вижу 3 причины.

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

  • В отличие от таблиц,обычным пользователям очень редко предоставляются все привилегии для последовательности, когда они находятся в таблице, и они в любом случае различаются (соответственно SELECT USAGE UPDATE и SELECT INSERT UPDATE DELETE TRUNCATE REFERENCES TRIGGER).Это создаст беспорядок для предоставления всех привилегий для последовательностей.Правильный подход заключается в предоставлении только USAGE для последовательностей.
    Вы, вероятно, можете себе представить риск того, что любой может сбросить последовательность в 1, когда указанная последовательность используется для генерации значений первичного ключа в таблице.
    В этом смысле привилегиями для последовательностей действительно нужно управлять отдельно.

  • Стандартное поведение для всех объектов в базе данных и в более общем плане для всего, что связано с безопасностью, заключается в том, чтовам нужно явным образом предоставить привилегии объекту, прежде чем кто-либо сможет его использовать.
    Две вышеприведенные точки просто объясняют, почему привилегии должны быть специфичными для последовательностей, но здесь дается более общее соображение о том, почему привилегии никогда не предоставляютсяпо умолчанию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...