Безопасность баз данных

Автор работы: Пользователь скрыл имя, 27 Марта 2011 в 11:34, курсовая работа

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

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

Файлы: 1 файл

Курсовая Работа по БД.doc

— 238.00 Кб (Скачать файл)

• системный  администратор, имеющий неограниченный доступ;

• владелец БД, имеющий полный доступ ко всем объектам БД;

• владелец объектов БД;

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

Модель  безопасности SQL Server включает следующие  компоненты:

• тип  подключения к SQL Server;

• пользователь базы данных;

• пользователь (guest);

• роли (roles).

     Тип подключения к SQL Server. При подключении (и в зависимости от типа подключения) SQL Server поддерживает два режима безопасности:

• режим  аутентификации Windows NT;

• смешанный  режим аутентификации.

     В режиме аутентификации Windows NT используется система безопасности Windows NT и ее механизм учетных записей. Этот режим  позволяет SQL Server использовать имя пользователя и пароль, которые определены в Windows, и тем самым обходить процесс  подключения к SQL Server. Таким образом, пользователи, имеющие действующую учетную запись Windows, могут подключиться к SQL Server, не сообщая своего имени и пароля. Когда пользователь обращается к СУБД, последняя получает информацию об имени пользователя и пароле из атрибутов системы сетевой безопасности пользователей Windows (которые устанавливаются, когда пользователь подключается к Windows).

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

     2.2.2 Пользователи базы данных и их роли 

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

     Единственным  исключением из этого правила  является пользователь guest (гость). Особое имя пользователя guest разрешает любому подключившемуся к SQL Server пользователю получить доступ к этой базе данных. Пользователю с именем guest назначена роль public.

Какие существую права доступа? Для управления правами доступа в SQL Server используются следующие команды:

• GRANT. Позволяет выполнять действия с  объектом или, для команды — выполнять ее;

• REVOKE. Аннулирует права доступа для  объекта или, для команды —  не позволяет выполнить ее;

• DENY. He разрешает выполнять действия с  объектом (в то время, как команда REVOKE просто удаляет эти права  доступа).

     Объектные права доступа позволяют контролировать доступ к объектам в SQL Server, предоставляя и аннулируя права доступа для таблиц, столбцов, представлений и хранимых процедур. Чтобы выполнить по отношению к некоторому объекту некоторое действие, пользователь должен иметь соответствующее право доступа. Например, если пользователь хочет выполнить оператор SELECT * FROM table, то он должен и меть права выполнения оператора SELECT для таблицы table.

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

CREATE DATABASE — право создения базы данных;

CREATE DEFAULT — право создшия стандартного  значения для столбца таблицы;

CREATE PROCEDURE — право содания хранимой процедуры.

CREATE ROLE — право создания гоавила для  столбца таблицы;

CREATE TABLE — право создания таблицы;

CREATE VIEW — право создания представления;

BACKUP DATABASE — право создшия резервной  копии;

BACKUP TRANSACTION — праве создания резервной копии журнала транзакций. 

     Назначение  пользователю некоторой рели позволяет  ему выполнять все функции, разрешенные  этой рольо. По сути роли логически  группируют пользователей, имеющих  одинаковые права доступа. В SQL Server есть следующие типы ролей:

• роли уровня сервера;

• роли уровня базы данных.

     Рассмотрим  роли уровня сервера. С помощью этих ролей предоставляются различные степени доступа к операциям и задачам сервер*. Роли уровня сервера заранее определены и действуют в пределах сервера. Они не зависят от конкретных баз данных, и их нельзя модифицировать.

     В SQL Server существуют следующие типы ролей  уровня сервера:

Sysadmin —  дает право выполнить любое  действие в SQL Server;

Serveradmin — дает право изменить параметры  SQL Server и завершить его работу;

Setupadmin — дает право инсталлировать  систему репликации и управлять  выполнением расширенных хранимых  процедур;

Securityadmin — дает право контролировать  параметры учетных записей для  подключения к серверу и предоставлять  права доступа к базам данных;

Processadmin — дает право управлять ходом  выполнения процессов в SQL Server;

Dbcreator —  дает право создавать и модифицировать  базы данных;

Diskadmin —  дает право управлять файлами  баз данных на диске.

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

     В SQL Server существует три типа ролей:

• заранее  определенные роли;

• определяемые пользователем роли;

• неявные  роли.

     Заранее определенными являются стандартные  роли уровня БД. Эти роли имеет каждая база данных SQL Server. Они позволяют легко и просто передавать обязанности.

     Заранее определенные роли зависят от конкретной базы данных и не могут быть изменены. Ниже перечислены стандартные роли уровня базы данных.

db_owner — определяет полный доступ ко всем объектам базы данных, может удалять и воссоздавать объекты, а также присваивать объектные права другим пользователям. Охватывает все функции, перечисленные ниже для других стандартных ролей уровня базы данных;

db_accessadmin — осуществляет контроль за доступом к базе данных путем добавления или удаления пользователей в режимах аутентификации;

db_datareader — определяет полный доступ  к выборке данных (с помощью  оператора SELECT) из любой таблицы  базы данных. Запрещает выполнение операторов INSERT, DELETE и UPDATE для любой таблицы БД;

db_datawriter — разрешает выполнять операторы  INSERT, DELETE и UPDATE для любой таблицы  базы данных. Запрещает выполнение  оператора SELECT для любой таблицы  базы данных;

db_ddladmin — дает возможность создавать, модифицировать и удалять объекты базы данных;

db_securityadmin — управляет системой безопасности  базы данных, а также назначением  объектных и командных разрешений  и ролей для базы данных;

db_backupoperator — позволяет создавать резервные копии базы данных;

db_denydatareader — отказ в разрешении на  выполнение оператора SELECT для  всех таблиц базы данных. Позволяет  пользователям изменять существующие  структуры таблиц, но не позволяет  создавать или удалять существующие  таблицы;

db_denydatawriter — отказ в разрешении на выполнение операторов модификации данных (INSERT, DELETE и UPDATE) для любых таблиц базы данных;

public —  автоматически назначаемая роль  сразу после предоставления права  доступа пользователя к БД.

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

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

• стандартная  роль;

• роль уровня приложения.

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

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

     Системный анализ - это применение системного подхода при обработке конкретной информации и принятию решений. Рассмотренные принципы системного подхода являются и принципами системного анализа.

     Их  дополняют следующие специфические  принципы:

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

• необходимо рассматривать лишь те цели, вероятность  достижения которых р>р0 за время t<t0, где/?0 и t0 - пороги осуществимости цели.

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

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

     2.3 Безопасность данных в Oracle 7 

    2.3.1 Ограничение доступа 

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

     Огромным  шагом вперед в обеспечении безопасности данных стало введение ролей в Oracle7. До Oracle7 каждому пользователю приходилось  явно предоставлять права доступа  к каждому объекту базы данных, который ему разрешено было использовать. Этот процесс упрощается за счет того, что доступ к совокупности объектов предоставляется роли, а затем право на использование этой роли предоставляется соответствующим лицам. С помощью команды GRANT мы можем предоставить пользователям право выполнять над объектами БД (например, над таблицами) операции SELECT, INSERT, UPDATE и DELETE. Однако само по себе это не обеспечивает значительной гибкости. Мы можем ограничить доступ пользователей частями таблицы, разделив ее по горизонтали (ограничив пользователя определенными строками), по вертикали (ограничив его определенными столбцами) или и по горизонтали, и по вертикали. Как это сделать?

Информация о работе Безопасность баз данных