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

Введение

 

 

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

Существует много веских причин перевода существующей информации на компьютерную основу. Сейчас стоимость хранения информации в файлах ЭВМ дешевле, чем на бумаге. Базы данных позволяют хранить, структурировать информацию и извлекать оптимальным для пользователя образом. Использование клиент/серверных технологий позволяют сберечь значительные средства, а главное и время для получения необходимой информации, а также упрощают доступ и ведение, поскольку они основываются на комплексной обработке данных и централизации их хранения. Кроме того ЭВМ позволяет хранить любые форматы данных, текст, чертежи, данные в рукописной форме, фотографии, записи голоса и т.д.

Для использования столь огромных объемов хранимой информации, помимо развития системных устройств, средств передачи данных, памяти, необходимы средства обеспечения диалога человек – ЭВМ1, которые позволяют пользователю вводить запросы, читать файлы, модифицировать хранимые данные, добавлять новые данные или принимать решения на основании хранимых данных.

_____________________________________________________________________________________

1ЭВМ – совокупность электронно-вычислительных средств, соединённых необходимым образом, способных получать, запоминать, преобразовывать и выдавать информацию с помощью вычислительных и логических операций по определённому алгоритму или программе.

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

Современные СУБД обеспечивают:

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

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

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

 

 

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

 

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

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

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

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

________________________________________________________________________________________________________________  2СУБД расшифровывается как система управления базой данных и представляет собой сложную программную систему, предназначенную для создания на ЭВМ базы данных.

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

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

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

 

 

 

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

 

 

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

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

Привилегия в широком понимании - это разрешение на выполнение конкретной операции над конкретным объектом. Однако, объекты, на которые распространяются привилегии, имеют сложную структуру, показанную на рис. А.

- менеджер СУБД (database manager) является собственно программным кодом СУБД. Для каждого менеджера может быть создан один или несколько экземпляров.

- экземпляр (instance) менеджера СУБД - логическая среда, которая характеризуется своими ресурсами и параметрами. Экземпляр, однако, по разному понимается разными СУБД. С точки зрения Oracle экземпляр - это среда времени выполнения, его ресурсы составляют набор выполняющихся процессов Oracle и область оперативной памяти (SGA - system global area). В каждом экземпляре Oracle "монтируется" и "открывается" одна база данных и экземпляр выполняет функции монитора этой базы данных. DB2 и MSSQL понимают под экземпляром логическую среду, включающую в себя несколько баз данных и постоянно хранимые параметры. Экземпляр, таким образом, является монитором нескольких баз данных. Экземпляры выполняются совершенно независимо друг от друга. Такой механизм позволяет осуществлять раздельное администрирование и настройку параметров экземпляров, повышает безопасность и надежность обработки данных.

- базы данных (datebase) рассматриваемые СУБД опять сходятся. Базой данных называется коллекция данных, рассматриваемая как единое целое. База данных характеризуется занимаемой ею памятью (табличными пространствами) и каталогом. В каждой базе данных (с позиций DB2 и Oracle) может быть создано несколько схем. MSSQL же не поддерживает выделения в базе данных схем. С точки зрения СУБД MSSQL база данных является единым (неделимым) хранилищем данных.

- схема (schema) с точки зрения СУБД DB2 и Oracle - набор объектов базы данных. Каждая схема связывается с определенным пользователем (т.е., это - та схема данных, которую видит данный пользователь), и имя схемы совпадает с именем пользователя. По умолчанию каждый пользователь работает с объектами в своей схеме и создает объекты в своей схеме. Однако, пользователь может (если это ему позволено) иметь доступ и к объектам в другой схеме или менять схему, в которой он работает. В MSSQL (как было замечено выше) понятие схемы отсутствует. Область видимости объектов базы данных для каждого пользователя формируется путем раздачи соответствующих прав на ее ресурсы.

Объекты схемы (schema objects) - таблицы, представления, индексы и т.д. - скалярные (не составные) объекты базы данных.

Рассматриваемые нами СУБД по разному подходят к назначению привилегий контейнерных и скалярных объектов. В DB2 привилегии, относящиеся к экземпляру и, частично, к базе данных, выделены в отдельное понятие полномочий. Прочие привилегии - как для контейнерных, так и для скалярных объектов - также различаются.

Oracle объединяет привилегии, относящиеся ко всем контейнерным объектам, в понятие системные привилегии, а все остальные - в привилегии объектов схемы.

На уровне MSSQL существует два типа прав доступа (привилегий): объектные и командные. Объектные права доступа определяют, кто может получать доступ и работать с данными в таблицах и представлениях и кто может запускать хранимые процедуры. Командные права доступа определяют, кто может удалять и создавать объекты в базе данных.

 

 


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: