Администратор и Connect-пользователи

Все субъекты и все объекты БД (как и в предыдущем разделе) создаются одним администратором.

Все остальные пользователи имеют Connect-категорию, но различные привилегии, образуя две группы:

  1. пользователи, имеющие привилегии Select+Insert+Delete+Update на все таблицы;

  2. пользователи, имеющие только привилегию 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;

для перевода во вторую.

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