Администратор и Connect-пользователи
Все субъекты и все объекты БД (как и в предыдущем разделе) создаются одним администратором.
Все остальные пользователи имеют Connect-категорию, но различные привилегии, образуя две группы:
-
пользователи, имеющие привилегии
Select
+Insert
+Delete
+Update
на все таблицы; -
пользователи, имеющие только привилегию
Select
на все таблицы.
Для такого конфигурирования администратор создает 2 роли: SIDU_Role
и S_Role
.
CREATE ROLE S_Role; CREATE ROLE SIDU_Role;
Затем этим ролям присваиваются соответствующие привилегии на все таблицы БД:
GRANT SELECT ON Table_Name_1 TO S_Role; GRANT SELECT ON Table_Name_2 TO S_Role; GRANT SELECT ON Table_Name_3 TO S_Role; GRANT SELECT,INSERT,UPDATE,DELETE ON Table_Name_1 TO SIDU_Role; GRANT SELECT,INSERT,UPDATE,DELETE ON Table_Name_2 TO SIDU_Role; GRANT SELECT,INSERT,UPDATE,DELETE ON Table_Name_3 TO SIDU_Role;
Теперь пользователю User1
, вводимому в систему, можно назначить одну из двух ролей, т.е. отправить его в одну из обозначенных групп.
Для этого нужно выполнить один из запросов
GRANT ROLE S_Role TO User1;
для перевода в первую группу и
GRANT ROLE SIDU_Role TO User1;
для перевода во вторую.
И в этом примере владельцем всех объектов является администратор. Только он может создавать новые таблицы, изменять структуру старых. Модификацию таблиц уже могут производить специально назначенные пользователи (из второй группы).