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

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

--работать разрешено:

DESC issubjects

SELECT * FROM issubjects;

INSERT INTO issubjects (isid,name)

VALUES (9,'деятельность по теоретической оценке методов шифрования');

--А теперь ch_cert заводит еще одного пользователя - lic_clerc, --предварительно создавая для него роль lic_clerc_role, для ко-

торой

--предоставляется привилегия select, insert на таблицу islicns

Администратор приложения создает нового пользователя и объекты базы данных:

connect ch_cert/ch_cert@orcl CREATE ROLE lic_clerc_role; GRANT select, insert

ON islicns to lic_clerc_role;

CREATE USER lic_clerc IDENTIFIED BY lic_clerc DEFAULT TABLESPACE users

TEMPORARY TABLESPACE temp QUOTA 1m ON users;

--Пользователь-администратор ch_cert не может предоставлять --привилегию создания сессии с базой данных другим пользо-

вателям.

GRANT connect TO lic_clerc;

--появляется сообщение обошибке

--администратор system предоставит ему такую возможность

Администратор базы данных добавляет администратору приложения дополнительную привилегию:

connect system/system@orcl

GRANT connect TO ch_cert WITH ADMIN OPTION;

Администратор приложения добавляет пользователю привилегию:

connect ch_cert/ch_cert@orcl GRANT connect TO lic_clerc;

301

Новый пользователь соединяется с базой данных для проверки своих привилегий:

connect lic_clerc/lic_clerc@orcl SELECT * FROM islicns;

--здесь появляется сообщение об ошибке, так как --пользователь-администратор ch_cert забыл назначить

--роль lic_clerc_role пользователю lic_clerc:

Администратор приложения исправляет свою ошибку: connect ch_cert/ch_cert@orcl

GRANT lic_clerc_role TO lic_clerc;

Новый пользователь соединяется с базой данных для проверки своих привилегий:

connect lic_clerc/lic_clerc@orcl SELECT * FROM islicns;

--С другими таблицами, кроме ISLicns, LicCenter, --пользователю lic_clerc привилегии на работу не --предоставлены:

SELECT * FROM issubject; SELECT * FROM liccenter;

-- после двух последних запросов появляется сообщение об ошибке

Администратор приложения добавляет привилегии новому пользователю:

connect ch_cert/ch_cert@orcl

--Осталось добавить пользователю lic_clerc привилегию --на работу с таблицей liccenter (только

--select,insert) - через роль lic_clerc_role:

GRANT select,insert

ON liccenter TO lic_clerc_role;

Новый пользователь проверяет свои привилегии: connect lic_clerc/lic_clerc@orcl

SELECT * FROM liccenter;

--запрос отрабатывает успешно.

Теперь создадим пользователя certif_mgr и дадим ему возможность работать с таблицей Manufctr через роль certif_mgr_role. Другие таблицы в связи с этим пользователем нам не важны, так как

302

дальше, в соответствующей лабораторной работе по аудиту мы попытаемся решить задачу аудита работы двух менеджеров с одной таблицей Manufctr, которая входит в схему обоих менеджеров.

Администратор приложения создает третьего пользователя и наделяет его привилегиями:

connect ch_cert/ch_cert@orcl

CREATE USER certif_mgr identified BY certif_mgr DEFAULT TABLESPACE users

TEMPORARY TABLESPACE temp QUOTA 1m ON users;

GRANT connect TO certif_mgr; CREATE ROLE certif_mgr_role; GRANT select,insert,update,delete ON manufctr TO certif_mgr_role;

GRANT certif_mgr_role TO certif_mgr;

Сдача лабораторной работы

Сдача лабораторной работы заключается в выполнении студентом задачи разграничения полномочий в предметной области, заданной преподавателем – по такой же схеме, как и в приведенном описании лабораторной работы. Предметные области преподаватель может выбрать из числа поставляемых Oracle вместе с установочной версией СУБД примеров (схемы пользователей scott, hr, sh).

Тестовые задания к работе 11

Входной контроль

1. Что мы понимаем под пользователем (базы данных), когда говорим о ролях и привилегиях пользователей (базы данных)?

a)пользователя операционной системы;

b)учетную запись пользователя операционной системы;

c)учетную запись пользователя базы данных;

d)пользователя предприятия (в терминах глобальной аутентификации);

e)правильных ответов нет.

303

2.Какая (какие) из нижеприводимых строк соответствуют определению привилегий базы данных?

a)привилегии пользователя определяют, какие действия над данными и над объектами пользователей являются разрешенными (это разрешения на объекты пользователей, такие как таблицы, представления, последовательности, пакеты и т.п.);

b)привилегии пользователя определяют, какие действия в системе (базы данных) являются разрешенными (это разрешения на операции уровня базы данных, например подключение к базе данных, создание пользователей, внесение изменений в конфигурацию базы данных);

c)привилегии пользователя определяют, какие действия разрешены над файлами операционной системы реализующими программное обеспечение СУБД;

d)привилегии пользователя определяют какие дейсвтия разрешены над файлами операционной системы, реализующими базу данных;

e)правильных ответов нет.

3.Укажите, какие из нижеприводимых строк соответствуют типам привилегий пользователей СУБД:

a)табличные привилегии;

b)объектные привилегии;

c)программные привилегии;

d)системные привилегии;

e)правильных ответов нет.

4.Какие правила определены для управления привилегия-

ми?

a)объект принадлежит пользователю, его создавшему (если синтаксисом не указано создание объекта другого пользователя, конечно, при соответствующих полномочиях пользователя, создающего объект другого пользователя);

b)владелец объекта может изменять привилегии своего объек-

та;

c)объектная привилегия всегда соотносится с конкретным объектом, а системная ‒ с объектами вообще;

d)владелец объекта может отобрать привилегию на его использование у любого пользователя;

e)правильных ответов нет.

304

5.В нижеприводимых строках укажите строки с привилегиями, поддерживаемыми языком SQL:

a) ALTER; b) SELECT; c) INSERT; d) DROP;

e) правильных ответов нет.

6.Укажите верное определение роли:

a)роль – специально созданная программа, позволяющая вставлять записи в таблицу пользователя;

b)роль – специально создаваемое представление базы данных;

c)роль – это набор привилегий, которому присваивается имя;

d)роль – специально созданный программный модуль, включающий функции создания и манипулирования объектами пользователя;

e)правильных ответов нет.

7. В нижеприводимом списке укажите автоматически создаваемые (при создании базы данных) роли:

a)CONNECT;

b)RESOURCE;

c)DBA;

d)USERROLE;

e)правильных ответов нет.

Выходной контроль

1.АБД (system) создал в сеансе SQL*Plus пользователя U1, определив ему пароль, tablespase s и квоты на них. Укажите, какие роли получил по умолчанию пользователь U1:

a)DBA;

b)manager, boss;

c)connect, resource;

d)backup – manager;

e)правильных ответов нет;

f)я затрудняюсь с ответом на этот вопрос.

2.Польз. u3 имеет роли connect, resource и создал проц-ру getdata, вывод-ю на экран содерж. таблицы u3. tab3_1 и дал привил-ю исполн. этой процедуры польз. u4, имеющему роли

305