Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
билеты готовые ИСТВЭ.docx
Скачиваний:
13
Добавлен:
24.09.2019
Размер:
398.7 Кб
Скачать
  1. Привилегии (Grant, role). Привилегии системного уровня. Привилегии объектного уровня.

Защита в среде Oracle обеспечивается с помощью средств создания, изменения, и уничтожения учётных записей пользователей БД Oracle, а также с помощью привилегий, регулирующих возможность создавать и изменять объекты базы данных.

  1. Привилегии системного уровня.

Существуют две основные группы привилегий системного уровня. Привилегии системного уровня могут быть даны либо непосредственно пользователю БД Oracle, либо роли, которая назначена пользователю Oracle-ом. Если нужно дать привилегию системного уровня каждому пользователю Oracle, можно дать системную привилегию пользователю Public, что означает привилегию любому пользователю. Привилегии системного уровня могут быть также предоставлены пользователю с использованием конструкции WITH ADMIN OPTION в конце оператора GRANT. Это позволяет пользователю Oracle получившему такую системную привилегию передавать её любому другому пользователю Oracle. Для изъятия привилегии или роли системного уровня у пользователя Oracle, можно использовать команду Revoke. Ей можно определить сразу несколько системных привилегий и имён пользователей, на любые объекты, созданные в то время, когда действовала эта привилегия, её отмена не повлияет. Кроме того если системная привилегия изъята у пользователя PUBLIC, то другой пользователь которому системная привилегия была назначена непосредственно, не будет отменена. Любой пользователь, предоставивший системную привилегию, посредством WITH ADMIN OPTION может предоставить эту привилегию любому другому пользователю Oracle, и данный пользователь которому системная привилегия была назначена при использовании WITH ADMIN OPTION является дополнительным администратором этой системной привилегии.

  1. Привилегии объектного уровня.

Если пользователь oracle владеет объектом на подобие таблицы, другим пользователям Oracle может быть разрешено использовать этот объект путём предоставления им одной или нескольких привилегий объектного уровня. Например если пользователь User1 намеревается позволить пользователю User2 использовать его таблицу, но только для вставки и обновления строк с помощью команд Update или Insert, то соответственно пользователю User2 должны быть даны привилегии Update и Insert.

Привилегии объектного уровня:

  1. SELECT – позволяет другому пользователю сделать запрос к данной таблице.

  2. DELETE, INSERT, UPDATE

  3. EXECUTE – даёт возможность пользователю Oracle, владеющему процедурным кодом БД (процедурами, функциями), позволить другому пользователю вызывать его процедурные объекты.

  4. INDEX – позволяет пользователю Oracle создавать индексы на таблице владельца.

  5. References – позволяет пользователю Oracle обращаться к объектам другого пользователя.

В конце оператора GRANT для привилегии объектного уровня может быть определена фраза WITH GRANT OPTION, которая позволяет пользователю oracle получившему эту привилегию передать её другому пользователю oracle.

Имеется ряд представлений словаря данных, какие привилегии были даны непосредственно пользователю и какие привилегии были предоставлены ему другими пользователями.

Роль – это совокупность системных привилегий и привилегии объектного уровня которые были сгруппированы под одним уровнем чтобы облегчить предоставление и отмену этих привилегий. Когда пользователю даётся роль, он получает все привилегии связанные с ней, если пользователь удалён из БД командой DROP USER можно сохранить присвоенные ему привилегии, если они были назначены посредством роли. Затем можно переназначить эти привилегии любому новому пользователю.

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]