Управление доступом к данным — КиберПедия 

Общие условия выбора системы дренажа: Система дренажа выбирается в зависимости от характера защищаемого...

Типы оградительных сооружений в морском порту: По расположению оградительных сооружений в плане различают волноломы, обе оконечности...

Управление доступом к данным

2017-12-13 193
Управление доступом к данным 0.00 из 5.00 0 оценок
Заказать работу

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

Управление доступом к данным включает управление списком пользователей и правами их доступа к данным и процедурам.

 

Создание списка пользователей

Создание списка пользователей производится при помощи утилиты IBConsole. Для того чтобы создать пользователя, необходимо зарегистрировать сервер, выполнив команду меню SERVER ® USER SECURITY.

В диалоговом режиме создается новый пользователь, и при необходимости добавляются его характеристики.

З а м е ч а н и е! Не рекомендуется удаление пользователя SYSDBA. Удаление данного пользователя связано с необходимостью переустановки InterBase для восстановления базы поддержания секретности isc4.gdb.

 

Задание прав

Создание нового пользователя само по себе не дает ему никаких прав на доступ к объектам БД.

Права доступа предоставляются командой GRANT. Пользователь, выдающий команду GRANT, может делегировать другим пользователям только те права, которыми обладает он сам.

Для доступа к объектам БД пользователь нуждается в правах, перечень которых приведен в табл. 13.1.

 

Т а б л и ц а 13.1

Права пользователей

 

Право Описание
ALL Делегируются все права
SELECT Дает право выбирать строки из таблицы (представления)
DELETE Дает право удалять строки из таблицы (представления)
INSERT Дает право добавлять строки в таблицу (представления)
UPDATE Дает право изменять строки в таблице (представление). Может быть ограничено определенным набором столбцов
REFERENCES Дает право ссылаться при работе с внешним ключом на специфицированные столбцы (как минимум это должны быть все столбцы внешнего ключа)
EXECUTE Дает право выполнять хранимую процедуру

Пользователи могут получить разрешение на дальнейшую передачу прав (тех, которыми владеют сами), которое задается опцией WITH GRANT OPTION.

Синтаксис команды GRANT следующий:

GRANT {ALL [PRIVILEGES] | SELECT | DELETE | INSERT | UPDATE (<список столбцов>) | REFERENCES (<список столбцов>)}

ON [TABLE] {<имя таблицы> | <имя обзора>}

TO {<объект> | <список пользователей>}

/ EXECUTE ON PROCEDURE <имя процедуры>

TO {<объект> | <список пользователей>};

В табл. 13.2 приведен перечень возможных значений опции <объект>.

Т а б л и ц а 13.2

Возможные значения опции <объект>

 

Объект Описание
PROCEDURE <имя процедуры> Права передаются процедуре <имя процедуры>, которая должна существовать и храниться в БД  
TRIGGER <имя триггера> Права передаются триггеру <имя триггера>, который должен существовать и храниться в БД  
VIEW <имя обзора> Права передаются обзору <имя обзора>, который должен существовать и храниться в БД  
PUBLIC Права передаются всем пользователям. Причем данная опция распространяется только на пользователей, а не на объекты БД  

Например, передача всех прав для работы с таблицей STUDENT пользователю NIK, который может также передавать права другим пользователям, будет выглядеть так:

GRANT ALL ON STUDENT TO NIK WITH GRANT OPTION;

 

Ликвидация прав

Команда REVOKE ликвидирует права доступа к объектам БД. Права – это действия с объектом, которые разрешены пользователю.

SQL-права описаны в табл. 13.3.

При использовании команды REVOKE возможны следующие ограничения:

- ликвидировать права может только тот пользователь, который их выдал;

- одному пользователю могут быть переданы одни и те же права на объект БД от любого числа разных пользователей. Команда REVOKE влечет за собой лишение выданных ранее именно этим пользователем прав;

- права, выданные всем пользователям опцией PUBLIC, могут быть ликвидированы командой REVOKE только с опцией PUBLIC.

Т а б л и ц а 13.3

SQL-права

 

Право Описание
ALL Ликвидируются все права
SELECT Дает право выбирать строки из таблицы (представления)
DELETE Дает право удалять строки из таблицы (представления)
INSERT Дает право добавлять строки в таблицу (представление)
UPDATE Дает право изменять строки в таблице (представлении). Может быть ограничено определенным набором столбцов
EXECUTE Дает право выполнять хранимую процедуру
GRANT OPTION FOR Делегирование прав другим пользователям

 

Синтаксис команды REVOKE следующий:

REVOKE {ALL [PRIVILEGES] | SELECT | DELETE | INSERT | UPDATE (<список столбцов>) | REFERENCES (<список столбцов>)}

ON [TABLE] {<имя таблицы> | <имя обзора>}

FROM {<объект> | <список пользователей>}

/ EXECUTE ON PROCEDURE <имя процедуры>

FROM {<объект> | <список пользователей>};

Возможные значения <объект> перечислены в табл. 13.2.

Например, у пользователя Nik команда ликвидирует право на удаление из таблицы student.

REVOKE DELETE ON STUDENT FROM NIK;

 

Практическая часть

 

Порядок выполнения работы

1. В зависимости от варианта для созданных таблиц создать триггеры для каждой таблицы (по три триггера для таблицы, возможные ситуации включения триггеров предусмотреть по собственному усмотрению).

2. Использовать команду изменения триггеров, применив ее на нескольких триггерах.

3. Научиться использовать команду удаления триггеров.

4. Создать несколько пользователей. Делегировать пользователям следующие права:

- права системного администратора с возможностью передавать эти права другим пользователям;

- права системного администратора без права передавать эти права другим пользователям;

- права на добавление и выборку записей из всех таблиц;

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

5. Научиться пользоваться командой, которая ликвидирует права.

6. Сохранить резервную копию БД на съемном носителе для дальнейшего использования.

Контрольные вопросы

1. Каким образом можно ограничить доступ пользователям к БД?

2. Какие виды ограничений бывают?

3. Каким образом можно ликвидировать права пользователей?

 

 

Лабораторная работа 14


Поделиться с друзьями:

История создания датчика движения: Первый прибор для обнаружения движения был изобретен немецким физиком Генрихом Герцем...

Семя – орган полового размножения и расселения растений: наружи у семян имеется плотный покров – кожура...

Своеобразие русской архитектуры: Основной материал – дерево – быстрота постройки, но недолговечность и необходимость деления...

Типы оградительных сооружений в морском порту: По расположению оградительных сооружений в плане различают волноломы, обе оконечности...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.016 с.