Базы данных - модели, разработка, реализация


ГЛАВА 13 Защита информации в базах данных - часть 4


Допустим, что пользователь user2 является оператором, который должен вводить данные в Tabl (например, таблицу новых заказов), а пользователь user3 является большим начальником (например, менеджером отдела), который должен регулярно просматривать введенные данные.

Для объекта типа таблица полным допустимым перечнем действий является набор из четырех операций: SELECT. INSERT. DELETE. UPDATE. При этом операция обновление может быть ограничена несколькими столбцами.

Общий формат оператора назначения привилегий для объекта типа таблица будет иметь следующий синтаксис:

  • GRANT {[SELECT][.INSERT][.DELETE][.UPDATE ()]}
  • ON

278

  • ТО { | PUBLIC }
  • [WITH GRANT OPTION ]

Тогда резонно будет выполнить следующие назначения:

  • GRANT INSERT
  • ON Tabl
  • TO user2
  • GRANT SELECT
  • ON Tabl
  • TO user3

Эти назначения означают, что пользователь user2 имеет право только вводить новые строки в отношение Tabl, а пользователь user3 имеет право просматривать все строки в таблице Tabl.

При назначении прав доступа на операцию модификации можно уточнить, значение каких столбцов может изменять пользователь. Допустим, что менеджер отдела имеет право изменять цену на предоставляемые услуги. Предположим, что цена задается в столбце COST таблицы Tabl. Тогда операция назначения привилегий пользователю user3 может измениться и выглядеть следующим образом:

  • GRANT SELECT, UPDATE (COST)
  • ON Tabl
  • TO user3

Если наш пользователь user1 предполагает, что пользователь user4 может его замещать в случае его отсутствия, то он может предоставить этому пользователю все права по работе с созданной таблицей Tabl.

  • GRANT ALL PRIVILEGES
  • ON Tabl
  • TO user4
  • WITH GRANT OPTION

В этом случае пользователь user4 может сам назначать привилегии по работе с таблицей Tabl в отсутствие владельца объекта пользователя userl. Поэтому в случае появления нового оператора пользователя user3 он может назначить ему права на ввод новых строк в таблицу командой

  • GRANT INSERT
  • ON Tabl
  • TO user5

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


- Начало -  - Назад -  - Вперед -