КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Ход работы. Роли (Roles) служат для организации пользователей с одинаковыми правами в группы
Права Роли Роли (Roles) служат для организации пользователей с одинаковыми правами в группы. Например, если имеется группа пользователей, для которых нужен доступ только на чтение, то создается роль с именем READER, этой роли присваиваются все необходимые права, а затем эта роль со всеми ее правами назначается конкретному пользователю. Роли – это объекты базы данных. Чтобы создать роль с именем READER, необходимо выполнить следующую команду:
CREATE ROLE READER;
Удаляет роль команда DROP ROLE READER;
При использовании механизма ролей при соединении с базой данных надо указывать не только имя пользователя, но и его желаемую роль.
Права в InterBase – это разрешение какому-либо пользователю, хранимой процедуре или триггеру совершить какую-либо операцию над определенным объектом базы данных. Для таблиц (TABLE), представлений (VIEW), а также их полей права выдаются на выполнение операций SELECT, DELETE, INSERT и UPDATE. Для хранимых процедур права выдаются на операцию EXECUTE. Права на объекты базы данных раздаются с помощью команды GRANT. Примеры выдачи прав: 1. Выдать пользователю USER1 права на выборку из таблицы Table1:
GRANT SELECT ON Table1 TO USER1; 2. Выдать пользователю USER1 права на чтение и вставку данных, но не на изменение: GRANT SELECT, INSERT ON Table1 TO USER1; 3. Выдать всех возможных прав на таблицу: GRANT ALL ON Table1 TO USER1; 4. Выдать права сразу нескольким пользователям: GRANT ALL ON Table1 TO USER1, USER2; 5. Выдать права сразу всем пользователям InterBase: GRANT SELECT, INSERT ON Table1 TO PUBLIC; 6. Выдача права на чтение данных только из нескольких полей таблицы или представления: GRANT SELECT ON Table1 ( Field1, Field3 ) TO USER1; 7. Выдача разрешения выполнять хранимую процедуру: GRANT EXECUTE ON PROCEDURE Proc1 TO USER1; 8. Разрешение вызова процедуры Proc2 из процедуры Proc1 без наличия таких прав у пользователя, вызвавшего Proc1: GRANT EXECUTE ON PROCEDURE Proc2 TO Proc1; Чтобы уменьшить количество выдаваемых разрешений, пользователей объединяют в группы по принципу наличия у них одинаковых прав. Чтобы использовать роль необходимо выполнить следующие действия: 1. Создать роль. 2. Выдать этой роли все необходимые права. 3. Назначить конкретным пользователям эту роль. 4. При подсоединении к базе данных указать не только имя пользователя и пароль, но и роль, права которой будет иметь пользователь.
CREATE ROLE READER; GRANT SELECT ON Table1 TO READER; GRANT READER TO USER1; Теперь пользователь USER1 должен при подключении к базе данных указать роль READER, и тогда он получит все права, назначенные для этой роли. Раздавать права может только владелец объекта и пользователь SYSDBA. Владельцем объекта считается пользователь, который его создал. Чтобы не только выдать пользователю права на доступ к объекту, но и разрешить передачу этих прав другим пользователям, в конце обычной команды GRANT необходимо добавить WITH GRANT OPTIONS. Для отмены прав используется команда REVOKE, синтаксис которой аналогичен команде GRANT. Пример отмены у пользователя USER1 права на удаление из таблицы Table1: REVOKE DELETE ON Table1 FROM USER1;
Задание Лабораторную работу следует выполнять в следующем порядке:
1. Создать аналогично предыдущим лабораторным работам рабочую папку и назвать ее "ЛР11". 2. Скопировать в эту папку файл сценария, созданный при выполнении пре-дыдущей лабораторной работы. 3. Открыть в приложении "IB Expert" этот сценарий. 4. Исправить текст комментариев и сделать, чтобы база данных теперь соз-давалась в папке "ЛР11". 5. Добавить в конец сценария операторы создания не менее трех ролей и вы-дачи их необходимых прав. Каждый оператор должен иметь поясняющие комментарии. Назначить созданные роли имеющимся на сервере пользо-вателям. 6. Выполнить сценарий и сохранить его в рабочей папке. 7. Зарегистрировать созданную базу данных в программе "IB Expert" и под-ключиться к ней по имени пользователя, который не является хозяином базы данных или администратором сервера, с использованием каждой из ролей. 8. Проверить правильность функционирования ограничения доступа. 9. Создать в своей базе данных одну роль с названием "TestRole" в диалоговом режиме. 10. Выдать этой роли права на чтение данных из всех таблиц. 11. Создать в рабочей папке резервную копию базы данных. 12. Создать и сохранить в папке "ЛР11" файл с отчетом о выполнении лабора-торной работы, который должен называться "Отчет.doc".
Для создания роли в диалоговом режиме программы "IB Expert" необходимо выполнить следующие действия:
1. Подключиться к базе данных.
2. Выполнить команду "Database->New Role".
3. Ввести в единственном поле диалогового окна "Create Role" имя роли и нажать кнопку [OK].
Для выдачи роли или пользователю прав на выполнение операций с объектами базы данных служит окно "Grant Manager", открываемое по команде "Tools->Grant Manager". Окно просмотра и изменения привилегий
Выданные привилегии на какую-либо операцию обозначаются зеленым кружком в соответствующей ячейке. Например, на рисунке для роли TestRole можно увидеть для таблицы Employee выданные права на выполнение опера-ций SELECT, UPDATE, DELETE и INSERT. Для остальных видимых в окне таблиц имеются права только на чтение.
Чтобы выдать или отменить право на выполнение какой-либо операции, надо всего лишь сделать двойной щелчок мышью в соответствующей ячейке.
Дата добавления: 2015-04-29; Просмотров: 360; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |