Курсовая работа: Политика безопасности баз данных
NEW. NAME, NEW. SEX, NEW. BIRTHDAY, L. ACCESS_LEVEL
FROM PG_GROUP G, PG_USER U, GROUPS_ACCESS_LEVEL L
WHERE
U. USENAME = CURRENT_USER AND
U. USESYSID = ANY (G. GROLIST) AND
L. GROUP_NAME = G. GRONAME;
Предоставить права на внесение записей в виртуальной таблице:
GRANT INSERT ON OPERS_LIST TO GROUP USERS;
GRANT SELECT,UPDATE ON OPERS_ID TO GROUP USERS;
Проверить работу механизма:
INSERT INTO KLIENTS _LIST VALUES (21,'IVANOV','М','10-10-1980');
Создать правило на операции изменения, пример которого представлен ниже:
DROP RULE OPERS_LIST_UPDATE ON OPERS_LIST;
CREATE RULE OPERS_LIST_UPDATE AS ON UPDATE
TO OPERS_LIST
DO INSTEAD
UPDATE OPERS SET OPERS_ID = NEW. OPERS_ID,
NAME = NEW. NAME, SEX = NEW. SEX, BIRTHDAY = NEW. BIRTHDAY,
SPOT_CONF = L. ACCESS_LEVEL
FROM PG_GROUP G, PG_USER U, GROUPS_ACCESS_LEVEL L
WHERE
OPERS_ID = OLD. OPERS_ID AND
SPOT_CONF = L. ACCESS_LEVEL AND
U. USENAME = CURRENT_USER AND
U. USESYSID = ANY (G. GROLIST) AND
L. GROUP_NAME = G. GRONAME;
Предоставить права на изменение записей в виртуальной таблице:
GRANT UPDATE ON OPERS_LIST TO GROUP USERS;
Проверить работу правила: