Вы находитесь на странице: 1из 5

Тема: защита информации базы данных, создание прав и привилегий.

Цель работы: научится создавать пользователя базы данных и назначение


ему прав и привилегий.

Для передачи прав доступа, или назначения ограниченного доступа другим


пользователям к базе данных, владелец базы данных (пользователь с именем
SYSDBA) должен сначала создать новых пользователей. Новые пользователи
БД создаются с помощью программы Server Manager, которая входит в пакет
InterBase.
После запуска программы Server Manager необходимо соединится с сервером
БД (команда Server Login) :

После подтверждения прав администратора базы данных (ввод имени и


пароля)

можно получить доступ к меню создания пользователей User Security:


В открывшемся окне

можно добавлять, удалять пользователя, назначать и изменять пароли для


пользователей.

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

Каждый пользователь в SQL базе данных имеет набор привилегий. Это - то


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

Привилегии, которые можно назначить пользователю:

SELECT Пользователь с этой привилегией может выполнять


запросы в таблице.

INSERT Пользователь с этой привилегией может выполнять


команду INSERT в таблице.

UPDATE Пользователь с этой привилегией может выполнять


команду UPDATE на таблице.
Вы можете ограничить эту привилегию для определен-
ных столбцов таблицы.

DELETE Пользователь с этой привилегией может выполнять


команду DELETE в таблице.

REFERENCES Пользователь с этой привилегией может определить


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

Для создания привилегий используется ключевое слово GRANT. Синтаксис


команды:

GRANT INSERT ON SHOPS TO IGOR;

Тип привилегии

Таблица

пользователь

Возможен следующий вид команды:

GRANT INSERT, DELETE ON SHOPS TO IGOR,STAS;

SQL поддерживает два аргумента для команды GRANT, которые имеют


специальное значение: ALL PRIVILEGES (ВСЕ ПРИВИЛЕГИИ) или просто
ALL и PUBLIC (ОБЩИЕ). ALL используется вместо имен привилегий в
команде GRANT чтобы отдать все привилегии в таблице. Например

GRANT ALL ON SHOPS TO STAS;

ОТМЕНА ПРИВИЛЕГИЙ

Также как ANSI предоставляет команду CREATE TABLE чтобы создать


таблицу, а не DROP TABLE чтобы от нее избавиться, так и команда GRANT
позволяет вам давать привилегии пользователям, не предоставляя способа
чтобы отобрать их обратно. Потребность удалять привилегии сводится к
команде REVOKE, фактически стандартному средству с достаточно
понятной формой записи. Синтаксис команды REVOKE - похож на GRANT,
но имеет обратный смысл. Чтобы удалить привилегию INSERT для Igor в
таблице Shops, вы можете ввести

REVOKE INSERT ON SHOPS TO IGOR;

Использование списков привилегий и пользователей здесь допустимы как и в


случае с GRANT, так что вы можете ввести следующую команду:

REVOKE INSERT, DELETE ON SHOPS TO IGOR,STAS;

Створити нову роль можна шляхом відкриття вкладки ”/Нова роль” або
натисненням значка „Нова роль”.

Після натиснення з”являється запрошення ввести ім”я нової ролі.

Після вводу імені воно з”являється в списку „Database Explorer”.


Тепер можна змінювати привілеї для створеної ролі через „Менеджер
прав”.