Студопедия

КАТЕГОРИИ:


Архитектура-(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; Просмотров: 334; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.012 сек.