Формирование системы безопасности. Визуализация пользователей и объектов. Перевод в команды SQL, их последующая трансляция и сохранение в системном каталоге

Дипломная работа - Компьютеры, программирование

Другие дипломы по предмету Компьютеры, программирование




Курсовая работа

по диiиплине Базы данных

тема: Формирование системы безопасности. Визуализация пользователей и объектов. Перевод в команды SQL, их последующая трансляция и сохранение в системном каталоге

Содержание

Введение

.Установка привилегий доступа

.Структуры данных и алгоритмы

.Описание работы программы

Заключение

Список использованной литературы

Приложение А (обязательное) Листинг программы

Введение

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

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

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

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

1.Установка привилегий доступа

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

Установка привилегий производится оператором GRANT. Его формат:

grant{

{all [privileges] | select | delete | insert

| update [(столбец [.столбец ...])]}[table] {имя таблицы} {список_пользователей}

};

= [user] имя пользователя[, [user]

Имя пользователя...] [with grant option]

По умолчанию доступ к таблицам и хранимым процедурам имеет только тот пользователь, который их создал. Кроме того, системный администратор имеет доступ ко всем компонентам БД.

Ниже перечислены виды привилегий и ключевые слова в операторе GRANT, соответствующие этим привилегиям.

Ключевое словоВид привилегии доступаALLВыполнение операторов SELECT, DELETE, INSERT, UPDATE. EXECUTESELECTВыполнение оператора SELECTDELETEВыполнение оператора DELETEINSERTВыполнение оператора INSERTUPDATEВыполнение оператора UPDATE

Для предоставления пользователю привилегии доступа к таблице в операторе GRANT необходимо указать как минимум следующие параметры:

ключевое слово, обозначающее вид привилегии доступа;

имя таблицы;

имя пользователя.

Например, предоставить пользователю PASHA привилегию на выполнение поиска данных в таблице VARY:

GRANT SELECT ON VARY TO PASHA

Чтобы в одном операторе GRANT предоставить пользователю не одну, а несколько привилегий, следует привести список этих привилегий:

GRANT SELECT, INSERT ON VARY TO PASHA

Словом ALL обозначается предоставление пользователю всех привилегий, то есть права iитывания, добавления, изменения и удаления:

GRANT ALL ON VARY TO PASHA

Если необходимо предоставить одну или несколько привилегий ряду пользователей, можно выполнить оператор GRANT для каждого пользователя, или указать список пользователей в одном операторе GRANT:

GRANT SELECT, INSERT, UPDATE ON RASHOD TO PASHA, DIMA

В случае, если определенный вид привилегий по доступу к таблице должен быть назначен всем пользователям, в операторе GRANT указывают ключевое слово PUBLIC вместо списка имен пользователей:

GRANT SELECT, INSERT, UPDATE ON RASHOD TO PUBLIC

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

GRANT UPDATE (DAT_RASH, TOVAR, KOLVO) ON RASHOD TO DIMA

Если в операторе GRANT при предоставлении пользователю привилегии доступа к таблице указать необязательный параметр WITH GRANT OPTION, данный пользователь получит право назначать ту же привилегию другим пользователям. Например, после выполнения оператораDELETE ON RASHOD TO PASHA WITH GRANT OPTION

пользователь PASHA получит право предоставлять привилегию удаления из таблицы RASHOD другим пользователям.

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

Revoke [grant option for]{

{all [privileges] | select | delete | insert

| update [(столбец [.столбец ...])]}[table] {имя таблицы} { список пользователей}

};

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

Если пользователь лишается привилегии определенного вида, назначенные ему привилегии всех остальных видов остаются в его собственности.

Например:ALL ON RASHOD TO DIMAINSERT ON RASHOD FROM DIMA

После выполнения REVOKE пользователь DIMA будет обладать правами изменения (UPDATE), удаления (DELETE) и выборки данных (SELECT) из таблицы RASHOD.

Лишение пользователя права назначать привилегии другим пользователям ведет к утрате данной привилегии всеми пользователями, которым он успел ее назначить.

Привилегии, установленные для всех