WHERE empno IN (SELECT empno FROM scott.emp WHERE ename='ADAMS' OR ename='SMITH');
UPDATE scott.official SET scott_col=1000
WHERE empno= (SELECT empno FROM scott.emp WHERE ename='JAMES');
--актуализируем политику:
connect lbacsys/lbacsys@orcl BEGIN
sa_sysdba.enable_policy('official_policy'); END;
/
12. Проверка всех настроек – демонстрация OLS в работе
connect king/king@orcl SELECT * FROM scott.official;
--KING может видеть все строки
INSERT INTO scott.official (id,dolzh) VALUES (16,'ministr');
--вставленная строка имеет ту же метку в cтолбце SCOTT_COL, что и пользователь KING
SELECT * FROM scott.official;
DELETE FROM scott.official WHERE id=16;
connect FORD/FORD@orcl
SELECT * FROM scott.official;
--ford может видеть только информацию о старших экспертах и экспертах отдела исследований
INSERT INTO scott.official (id,dolzh) VALUES (16,'spec');
--вставленная строка имеет ту же метку в cтолбце SCOTT_COL, что и пользователь FORD
SELECT * FROM scott.official;
DELETE FROM scott.official WHERE id=16; connect martin/martin@orcl
336
select * from scott.official;
--martin может видеть информацию о всех старших экспертах отдела торговли и об экспертах отдела торговли
INSERT INTO scott.official (id,dolzh) VALUES (16,'spec');
--вставленная строка имеет ту же метку в cтолбце SCOTT_COL, что и юзер FORD
SELECT * FROM scott.official;
DELETE FROM scott.official WHERE id=16;
--аналогично WARD, ALLEN,TURNER могут видеть информацию о всех старших экспертах отдела торговли и об экспертах отдела торговли
connect ward/ward@orcl SELECT * FROM scott.official; connect james/james@orcl
--james увидит только две строки экспертов отдела торговли
SELECT * FROM scott.official; connect adams/adams@orcl SELECT * FROM scott.official;
--adams, как и SMITH увидят только две строки экспертов отдела исследований
connect smith/smith@orcl SELECT * FROM scott.official;
Сдача лабораторной работы
Заключается в реализации студентом мандатного контроля доступа (только по обязательным компонентам) на индивидуальной предметной области. Студент сам определяет «родительскую» таблицу, в которой для трех строк символьного столбца с неповторяющимися значениями создает пользователей, а политику разграничения полномочий формирует для какой-либо «дочерней» таблицы, т.е. таблицы, в которой в качестве Foreign Key присутствует Primary Key родительской таблицы.
337
Тестовые задания к работе 13
Входной контроль
1.Что является мандатом пользователя при его доступе к строкам таблицы базы данных, для которой выполнена настройка мандатного метода доступа?
a) назначаемая пользователю совокупность соответствующих системных привилегий;
b) назначаемая пользователю совокупность соответствующих ролей;
c) назначаемый пользователю соответствующий профиль;
d) назначаемые пользователям соответствующие метки досту-
па;
e) правильных ответов нет.
2.Укажите верн(ое/ые) продолжени(е/я) фразы: для того, чтобы воспользоваться возможностью мандатного метода доступа, надо:
a) завести пользователя «ols»;
b) завести при установке программного обеспечения СУБД Oracle нужные компоненты;
c) наделить администратора базы данных привилегией «Create OLS…»;
d) завести необходимые структуры в БД; e) правильных ответов нет.
3.Среди нижеприводимых строк укажите компонент(ы) метки доступа, регламентирующей доступ к строкам таблицы:
a) компонент уровня секретности; b) уровень аудита;
c) компонент уровня/категории данных; d) компонент уровня безопасности группы; e) правильных ответов нет.
4.Пользователь с какой учетной записью должен запускать скрипт «catols.sql» для обеспечения возможности использова-
ния Oracle Label Security? a) system;
b) sys;
c) dbsnmp;
338
d)sysman;
e)правильных ответов нет.
5.Укажите цифру, равную числу максимального количества компонент метки строк таблиц и пользователей, которое может быть использовано при реализации Oracle Label Security.
a)1;
b)2;
c)3;
d)4;
e)правильных ответов нет.
6.Какой программой надо воспользоваться для создания компонентов Oracle, необходимых для использования Oracle Label Security?
a)Database Configuration Assistant;
b)Database Upgrade Assistant;
c)Oracle Universal Installer;
d)Policy Manager;
e)правильных ответов нет.
7.Пользователь LBACSYS был установлен неудачно (он не может создавать политику OLS). Среди нижеприводимых строк укажите верную строку с действиями по переустановке этого пользователя:
a)пользователь sys перезапускает скрипт создания пользовате-
ля lbacsys;
b)пользователь sys выполняет команду «drop user lbacsys», а потом запускает вновь скрипт создания пользователя «lbacsys»;
c)пользователь sys переустанавливает базу данных, а потом запускает вновь скрипт создания пользователя «lbacsys»;
d)пользователь sys запускает скрипт catnools.sql, а потом запускает вновь скрипт создания пользователя «lbacsys»;
e)правильных ответов нет.
Выходной контроль
1. Укажите, с помощью какого модуля реализуется связывание вариантов меток безопасности с пользователями в тех-
нологиях Oracle Label Security?
339
a)dbms_rls;
b)sa_label_admin;
c)dbms_session;
d)sa_user_admin;
e)dbms_fga;
f)sa_sysdba;
g)правильных ответов нет.
2.С помощью какого модуля определяются (создаются) уровни доступа пользователей к информации, отделения и группы, к которым принадлежат пользователи, и увязываются
сполитикой безопасности, создаваемой при реализации Oracle Label Security?
a) sa_sysdba;
b) dbms_session; c) dbms_rls;
d) sa_components; e) dbms_fga;
f) правильных ответов нет.
3.Укажите, с помощью каких модулей создаются варианты (многомерных) меток безопасности в технологиях Oracle Label Security?
a) dbms_rls;
b) sa_label_admin; c) dbms_session; d) sa_user_admin; e) dbms_fga;
f) sa_sysdba;
g) правильных ответов нет.
4.Что необходимо сделать для того, чтобы оператором «update» назначить OLS метки уже существующим строкам таблицы, для которой выполнены все предварительные OLS настройки?
a) создать копию этой таблицы;
b) назначить «update any table» привилегию «хозяину» этой таблицы;
c) включить OLS политику безопасности для этой таблицы; d) отключить OLS политику безопасности для этой таблицы;
340