Защита баз данных. Access 2000

СОДЕРЖАНИЕ: Министерство образования РФ Череповецкий государственный университет Кафедра информатики Дисциплина: «Системное и прикладное программное обеспечение»

Министерство образования РФ

Череповецкий государственный университет

Кафедра информатики

Дисциплина:

«Системное и прикладное программное обеспечение»

КУРСОВАЯ РАБОТА

Тема : «Защита баз данных. Архитектура защиты в Access.»

Выполнила студентка: Данилюк Галина

Группа: 1ПМ-31

Принял преподаватель: Лягинова О.Ю.

«__»____________

(дата)

_______________

(подпись)

Череповец 2001

Содержание

Введение. 3

§1. Архитектура защиты Access. 4

§2. Пользователи, группы и разрешения. 5

§3. Встроенные пользователи и группы.. 5

§4. Разрешения на доступ к объектам. 6

§5. Явные и неявные разрешения. 8

§6. Использование мастера защиты.. 10

§7. Подготовка к установке защиты.. 10

§8. Запуск мастера. 15

§9. Настройка защищенной базы данных. 20

Список литературы. 22

Введение

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

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

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

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

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

Microsoft Access – это полнофункциональная реляционная СУБД. В ней предусмотрены все необходимые средства для определения и обработки данных, а так же для управления ими при работе с большими объемами информации.

Информация, имеющая определенную ценность, нуждается в защите, как от «дурака», так и от несанкционированного доступа.

Защита паролем, сохранение базы данных в виде MDE-файла (в этом случае базу данных можно открывать для просмотра, но не для изменения) могут «закрыть» для случайного пользователя возможности, которые не разрешается использовать. Но опытный пользователь Access может открыть базу данных при нажатой клавише Shift (чтобы не запустить приложение), изучить исходные тексты процедур и определить, как «взломать» защиту. Чтобы действительно предотвратить несанкционированный до­ступ к объектам этой базы, необходимо использовать средства защиты, встроенные в Access.

Вряд ли существует абсолютно надежная компьютерная система защиты. Хотя средства защиты Microsoft Access считаются одними из лучших для персональных компьютеров, найдутся умельцы, которые при наличии времени смогут проникнуть в вашу защищённую базу данных Access. Если нужна более надежная защита данных, подумайте о переходе к другой системе управления базами данных класса Microsoft SQL Server.

§1. Архитектура защиты Access

Если у вас имеется опыт работы с защитой, используемой на сервере или большой ЭВМ, структура защиты в Access покажется вам знакомой. Вы можете указать пользователей, которым предоставляется или, наоборот, не разрешается доступ к объектам базы данных. Кроме того, вы можете определить группы пользователей и назначить разрешения на уровне группы, чтобы облегчить построение защиты для большого числа пользователей. Пользователю достаточно быть членом группы, чтобы получить права доступа, установленные для неё.

Access хранит информацию о защите в двух местах. Во время установки программа Setup создаст в папке \ Program Files \ Microsoft Ofice\0ffice стандартный файл рабочей группы (System.mdw), который впоследствии используется по умолчанию при запуске Access. Этот файл содержит информацию обо всех пользователях и группах. При создании базы данных Access сохраняет сведения о правах, предоставляемых конкретным пользователям и группам, в файле базы данных.

Общая структура защиты Access отображена на рисунке 1. Учётные записи пользователей и групп хранятся в файле рабочей группы. Разрешение на доступ к конкретным объектам сохраняются в файле базы данных.


Рис. 1

Расположение текущего файла рабочей группы хранится в реестре Windows. Можно использовать служебную программу Wrkadm . exe (администратор рабочих групп) для изменения текущего или определения нового файла рабочей группы. Кроме того, можно выбирать нужный файл рабочей группы во время выполнения приложения, задав соответствующий параметр командной строки в ярлыке запуска. Если вам приходится часто запускать в сети совместно используемое защищенное приложение, нужно позаботиться о том, чтобы системный администратор задал вашу рабочую группу, используемую по умолчанию, как общий файл в сетевой папке.

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

§2. Пользователи, группы и разрешения

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

§3. Встроенные пользователи и группы

При установке Access всегда создается стандартная рабочая группа, содержащая один встроенный код пользователя и два встроенных кода групп. Код пользователя называется Admin , и для него не определен пароль. Access автоматически загружает вас с этим кодом и предоставляет вам все права к привилегии этого пользователя. При создании базы данных или нового объекта в базе данных ваш текущий код пользователя становится владельцем объекта и по умолчанию получает полные права на доступ к этому объекту. Поскольку большинство пользователей Microsoft Access никогда «не включают» защиту и загружаются как пользователи Admin , владельцем всего, что они создают, является универсальный код Admin .

Первой встроенной группой является группа Users . Все пользователи, в том числе и новые, становятся ее членами и не могут быть удалены из нее, Кроме того, внутренний идентификатор группы Users всегда один и тот же во всех устанавливаемых в мире копиях Access. Группе Users автоматически предоставляются полные права доступа к любому новому объекту или базе данных, которые вы создаете. Это означает, что даже если пользователь зарегистрировался с кодом иным, чем Admin , он все равно имеет полный доступ к вашим базам данных и объектам в них, поскольку пользователь всегда является членом универсальной группы Users !

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

Группа Admins обладает двумя основными привилегиями. Во-первых, члены группы Admins могут определять и изменять учетные записи пользователей и групп, а так же устанавливать и менять пароли. (Вы всегда можете изменить собственный пароль.) Во-вторых, члены группы Admins имеют полный доступ к любым базам данных, созданным при использовании этого файла рабочей груп­пы. Члены этой группы могут первоначально не иметь никаких разрешений на доступ к объектам, но могут назначить себе нужные права. Для понимания этого свойства важно иметь в виду, что любая база данных, созданная при использовании конкретного файла рабочей группы, наследует код этой рабочей группы. Некто может быть членом группы Admins в другом файле рабочей группы, но если коды рабочих групп не совпадают, этот пользователь не по­лучит прав доступа к вашей базе данных.

§4. Разрешения на доступ к объектам

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

Таблица 1. Типы разрешений на доступ

Разрешение

Объект

Разрешённые действия

Открытие/запуск (Open/Run)

База данных, форма, отчет, макрос

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

Монопольный доступ (Open Exclusive)

База данных

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

Чтение макета (Read Design)

Таблица, запрос, форма, отчет, макрос, модуль

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

Изменение макета (Modify Design)

Таблица, запрос, форма, отчет, макрос, модуль

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

Администратора (Administer)

База данных, таблица, запрос форма, отчет, макрос, модуль

Предоставление разрешений на доступ к объекту, даже если пользователь или группа не является владельцем объекта

Чтение данных (Read Data)

Таблица, запрос

Просмотр данных таблицы. Также дает разрешение на чтение макета. В случае запроса пользователь должен иметь разрешение так же на чтение данных для всех используемых в нем таблиц или запросов

Обновление данных (Update Data)

Таблица, запрос

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

Вставка данных (Insert Data)

Таблица, запрос

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

Удаление данных (Delete Data)

Таблица, запрос

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

§5. Явные и неявные разрешения

Как отмечалось выше, вы можете получить доступ к объекту, благодаря разрешению, назначенному вашему коду пользователя, или через разрешения, предоставленные любой группе, к которой вы принадлежите. Access использует модель «наименее ограничительных» разрешений. Это подразумевает, что вы обладаете наибольшими правами доступа, предоставленными вашему коду пользователя и любой из групп, в которые вы включены. На рисунке 2 показано гипотетическое множество пользователей и групп вместе с разрешениями доступ к объекту Таблица , явно назначенными каждому пользователю и группе. Обратите внимание, что отдельные пользователи могут неявно наследовать дополнительные разрешения или права благодаря их членству в одной или скольких группах. Денис имеет, по крайней мере, разрешения на чтение, обновление, вставку и удаление данных, так как он является членом группы Маркетинг . Будучи владельцем объекта Таблица (как его создатель), Денис также получает права администратора и разрешение на изменение макета, так как Access назначает эти разрешения при создании объекта. А если кто-то другой создал этот объект и позднее передал права владельца Денису, то Денис моя предоставить самому себе любые отсутствующие разрешения.

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

Поскольку пользователи всегда являются членами группы Users , которой по умолчанию предоставляются все права доступа к любому новому объекту, любой другой пользователь, а не только Admin , может получить полный доступ ко всем вашим объектам. Чтобы проверить разрешения пользователя или группы, сначала откройте нужную базу данных. Вы должны быть владельцем базы данных и всех объектов, которые хотите проверить, или иметь разрешение администратора на доступ к базе данных и объектам. После выбора команды Сервис - Защита - Разрешения ( Tools - Security - User And Group Permissions ) Access откроет окно диалога.

Рис. 3. Некоторые разрешения, предоставленные группу Users

В списке в левой верхней части окна отображаются пользователи или группы, определенные в базе данных. Установите переключатель Пользователи (Users) или Группы (Groups) в зависимости от того, что вы хотите увидеть. В списке Имя объекта (Object Name) выводятся объекты базы данных. Пользуясь расположенным ниже раскрывающимся списком, можно изменить тип отображаемых объектов. После выбора нужного объекта флажки в нижней части окна отобразят явно назначенные разрешения. Если вы выберете группу Users и просмотрите объекты, то убедитесь, что она имеет полные права доступа ко всем объектам. Кроме того, имея права администратора на доступ к объектам, можно выбирать любые из этих объектов и изменять разрешения, предоставляемые пользователю или группе.

Внимание ! Не пробуйте изменять разрешения или владельца объекта до тех пор, пока полностью не поймете все возможные последствия такого действия. Если вы только приступили к изучению системы защиты Access, в целях безопасности работайте с запасной копией своей базы данных. Может случиться так, что вы отмените свое разрешение и не сможете восстановить его!

На вкладке Смена владельца (Change Owner) для любого объекта вы можете определить, кто (пользователь или группа) является его текущим владельцем. В большинстве случаев всеми объектами владеет пользователь Admin. Вы можете выделить один или несколько объектов, выбрать другого пользователя или группу и щелкнуть на кнопке Сменить владельца (Change Owner), чтобы назначить нового владельца. Никогда не передавайте объект другому владельцу, если вы полностью не понимаете возможные последствия такого действия. Прежде чем назначить объекту нового владельца, вы должны твердо знать, как зарегистрироваться в качестве такого владельца. Если вы владеете объектом, то всегда можете передать права владельца другому коду пользователя или группы (или отобрать их).

§6. Использование мастера защиты

Теперь, после знакомства с системой защиты Access, должно быть очевидно, что для реальной защиты базы данных требуется немало усилий. При обычной установке Access стандартная рабочая группа создается на основе информации о пользователе Windows и названии организации. Поэтому любому человеку, имеющему доступ к вашему компьютеру, не представит особого труда выяснить эти сведения и продублировать их. Итак, для начала вам нужна уникальная рабочая группа, чтобы было трудно воспроизвести ее идентификатор, дающий всем членам группы Admins право изменять разрешения. Затем вам потребуется код пользователя, отличный от Admin , в качестве владельца вашей базы данных и всех ее объектов. Кроме этого, для всех объектов необходимо удалить разрешения из группы Users . А чтобы никто не мог изучить ваши данные и тексты процедур с помощью служебных программ для просмотра дисков, вы должны зашифровать базу данных.

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

§7. Подготовка к установке защиты

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

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