Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Горбатов Аттестационные испытания автоматизированных систем от 2014

.pdf
Скачиваний:
79
Добавлен:
12.11.2022
Размер:
12.47 Mб
Скачать

'P:TRG:E', TRUE); END;

/

-- проверка добавления меток

SELECT * FROM dba_sa_labels;

8. Применение политики к таблице

connect lbacsys/lbacsys@orcl

--посмотрим перечень столбцов таблицы «Official» до применения политики к таблице

DESCRIBE scott.official;

--свяжем политику с таблицей «Official»

BEGIN sa_policy_admin.apply_table_policy

('official_policy','scott','official','label_default,read_control'); END;

/

--политика, примененная к таблице добавила к ней дополнительный столбец SCOTT_COL.

DESCRIBE scott.official;

--какие политики к каким таблицам применены

SELECT * FROM dba_sa_table_policies;

9. Создание пользователей и наделение их соответствующими правами

connect sys/sys@orcl as sysdba

--сначала удалим пользователей, созданных при предыдущем выполнении лабораторной работы:

DROP USER king; DROP USER jones; DROP USER clark; DROP USER blake; DROP USER allen; DROP USER martin; DROP USER miller; DROP USER james;

331

DROP USER turner; DROP USER ward; DROP USER ford; DROP USER adams; DROP USER smith;

--создадим пользователей заново:

CREATE USER king IDENTIFIED BY king DEFAULT TABLESPACE users TEMPORARY TABLESPACE temp QUOTA 10m ON users;

CREATE USER jones IDENTIFIED BY jones DEFAULT TABLESPACE users TEMPORARY TABLESPACE temp

QUOTA 10m ON users;

CREATE USER clark IDENTIFIED BY clark DEFAULT TABLESPACE users TEMPORARY TABLESPACE temp QUOTA 10m ON users;

CREATE USER blake IDENTIFIED BY blake DEFAULT TABLESPACE users TEMPORARY TABLESPACE temp

QUOTA 10m ON users;

CREATE USER allen IDENTIFIED BY allen DEFAULT TABLESPACE users TEMPORARY TABLESPACE temp QUOTA 10m ON users;

CREATE USER martin IDENTIFIED BY martin DEFAULT TABLESPACE users TEMPORARY TABLESPACE temp

QUOTA 10m ON users;

CREATE USER miller IDENTIFIED BY miller DEFAULT TABLESPACE users TEMPORARY TABLESPACE temp

QUOTA 10m ON users;

CREATE USER james IDENTIFIED BY james DEFAULT TABLESPACE users TEMPORARY TABLESPACE temp

332

QUOTA 10m ON users;

CREATE USER turner IDENTIFIED BY turner DEFAULT TABLESPACE users TEMPORARY TABLESPACE temp

QUOTA 10m ON users;

CREATE USER ward IDENTIFIED BY ward DEFAULT TABLESPACE users TEMPORARY TABLESPACE temp QUOTA 10m ON users;

CREATE USER ford IDENTIFIED BY ford DEFAULT TABLESPACE users TEMPORARY TABLESPACE temp QUOTA 10m ON users;

CREATE USER adams IDENTIFIED BY adams DEFAULT TABLESPACE users TEMPORARY TABLESPACE temp

QUOTA 10m ON users;

CREATE USER smith IDENTIFIED BY smith DEFAULT TABLESPACE users TEMPORARY TABLESPACE temp

QUOTA 10m ON users;

--выдадим созданным пользователям обычные привилегии:

GRANT create session, resource TO king,jones,clark,blake, allen,martin,miller,james,turner,ward,ford,adams,smith;

--выдадим пользователям привилегии для работы с таблицей

«Official»:

GRANT select, update, insert, delete

ON scott.official TO king,jones,clark,blake, allen,martin,miller,james,turner,ward,ford,adams,smith;

10. Назначение меток пользователям

connect lbacsys/lbacsys@orcl

--устанавливаем метки пользователям:

BEGIN sa_user_admin.set_user_labels

('OFFICIAL_POLICY','KING','HS:FIN,ISS,TRG:GD');

333

sa_user_admin.set_user_labels ('OFFICIAL_POLICY','CLARK','S:FIN:NO'); sa_user_admin.set_user_labels ('OFFICIAL_POLICY','JONES','S:ISS:NO'); sa_user_admin.set_user_labels ('OFFICIAL_POLICY','BLAKE','S:TRG:NO'); sa_user_admin.set_user_labels ('OFFICIAL_POLICY','MILLER','P:FIN:E'); sa_user_admin.set_user_labels ('OFFICIAL_POLICY','SCOTT','C:ISS:SE'); sa_user_admin.set_user_labels ('OFFICIAL_POLICY','FORD','C:ISS:SE'); sa_user_admin.set_user_labels ('OFFICIAL_POLICY','WARD','C:TRG:SE'); sa_user_admin.set_user_labels ('OFFICIAL_POLICY','ALLEN','C:TRG:SE'); sa_user_admin.set_user_labels ('OFFICIAL_POLICY','MARTIN','C:TRG:SE'); sa_user_admin.set_user_labels ('OFFICIAL_POLICY','TURNER','C:TRG:SE'); sa_user_admin.set_user_labels ('OFFICIAL_POLICY','ADAMS','P:ISS:E'); sa_user_admin.set_user_labels ('OFFICIAL_POLICY','SMITH','P:ISS:E'); sa_user_admin.set_user_labels ('OFFICIAL_POLICY','JAMES','P:TRG:E'); END;

/

11. Назначение меток строкам таблицы «Official»

--сначала отключим политику, чтобы пользователь «Scott» мог изменять строки таблицы «Official»:

connect lbacsys/lbacsys@orcl BEGIN

sa_sysdba.disable_policy('official_policy'); END;

334

/

--теперь пользователь «Scott» (в его схеме находится таблица «Official») устанавливает метки строкам таблицs «Official»:

connect scott/scott@orcl

UPDATE scott.official SET scott_col=100

WHERE empno= (SELECT empno FROM scott.emp WHERE ename='KING');

UPDATE scott.official SET scott_col=200

WHERe empno= (SELECT empno FROM scott.emp WHERE ename='CLARK');

UPDATE scott.official SET scott_col=300

WHERE empno= (SELECT empno FROM scott.emp WHERE ename='JONES');

UPDATE scott.official SET scott_col=400

WHERE empno= (SELECT empno FROM scott.emp WHERE ename='BLAKE');

UPDATE scott.official SET scott_col=800

WHERE empno= (SELECT empno FROM scott.emp WHERE ename='MILLER');

UPDATE scott.official SET scott_col=600

WHERE empno= (SELECT empno FROM scott.emp WHERE ename='FORD');

UPDATE scott.official SET scott_col=700

WHERE empno IN (SELECT empno FROM scott.emp WHERE ename='WARD'OR ename='ALLEN' OR ename='TURNER' OR ename='MARTIN');

UPDATE scott.official SET scott_col=900

335

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