Защита баз данных. 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 в первоначальной рабочей группе. В этой ситуации мастер заставит вас создать новую рабочую группу. В новой рабочей группе мастер сделает владельцем базы данных новый код пользователя. Но это возможно только в том случае, если вы являетесь владельцем базы данных. Вы также можете перед запуском мастера создать новую рабочую группу и в ней новый код пользователя (не Admin) в группе Admins, но этот пользователь должен быть владельцем базы данных, в противном случае попытка мастера переназначить владельца кажется безуспешной.

Вы сможете лучше понять систему защиты Access, если сначала создадите новую рабочую группу, определите, по крайней мере, один код пользователя и дадите пользователя Admin из группы Admins. Найдите программу Wrkgadm.exe на своем компьютере. При установке Access она обычно помещается в папку, в которой установлен пакет Microsoft Office. Если Microsoft Office установлен в папке Program Files на диске С, ярлык должен работать без каких-либо изменений. Если Microsoft Office находится в другом месте, в Проводнике Windows установите указатель на этом ярлыке, нажмите правую кнопку мыши, контекстном меню выберите команду Свойства (Properties) и затем на вкладке Ярлык (Shortcut) измените содержимое полей Файл (Target) и Рабочий каталог (Start In). Дважды щелкните на ярлыке, чтобы запустить администратора рабочих групп.

Рис. 4. Начальное окно диалога администратора рабочих групп

Начальное окно диалога администратора рабочих групп для Access 2000 не отображает, в отличие от предыдущих версий, имя пользователя и название организации. Но эту важную для защиты информацию все равно можно легко найти, открыв любое приложение Microsoft Office на компьютере и выбрав команду Справка 0 программе (Help  About). Здесь приведен полный путь к текущему файлу рабочей группы. Как показано на рисунке 4, стандартный файл рабочей группы называется System.mdw и находится в папке Office. Если вы создали другой файл рабочей группы, то в окне диалога, которое открывается щелчком на кнопке Связь (Join), можете ввести путь к этому файлу или воспользоваться кнопкой Обзор (Browse) для указания его местонахождения.

Чтобы создать и подключить новую рабочую группу, щелкните на кнопке Создать (Create). Откроется второе окно диалога администратора рабочих групп, представленное на рисунке 5. Необходимо заполнить поля Имя (Name) и Организация (Organization), а в качестве кода группы можете ввести комбинацию из букв и цифр длиной до 20 символов. Администратор рабочих групп использует содержимое трех полей для генерации уникального 64-разрядного внутреннего идентификатора. Чтобы создать другой файл рабочей группы с идентичным идентификатором, нужно ввести ту же информацию в эти три поля, причем код группы должен совпадать с точностью до регистра. Вы должны записать эту информацию и хранить ее в безопасном месте, чтобы можно было воссоздать файл рабочей группы, если он будет удален или испорчен.

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

Щелкните на кнопке ОК, чтобы перейти в окно диалога, в котором вы можете задать имя и местонахождение нового файла рабочей группы. Если вы создаете файл в папке, в которой уже имеется файл рабочей группы, дайте новому файлу отличающееся имя, что-нибудь типа secured.mdw. Для завершения создания файла рабочей группы щелкните на кнопке ОК в этом окне диалога. Администратор изменит параметры в системном реестре, чтобы «связать» вас с только что созданной рабочей группой. Щелкните на кнопке ОК в окне подтверждения и затем на кнопке Выход (Exit) в начальном окне диалога, чтобы закрыть окно администратора рабочих групп. Если на компьютере запущено приложение Access, нужно закрыть его и снова запустить в новой рабочей группе.

После запуска Access в новой рабочей группе вам нужно добавить нового пользователя, включить его в группу Admins, определить пароль для пользователя Admin и удалить его из группы Admins. Для этого не требуется открывать базу данных. После открытия Access выберите команду СервисЗащитаПользователи и группы (ToolsSecurityUser And Group Accounts), и на экране появится окно диалога Пользователи и группы (User And Group Accounts), изображенное на рисунке 6. (Имейте в виду, что при открытии Access вы были зарегистрированы как пользователь Admin, который пока является единственным членом группы Admins в новой рабочей группе.)

Рис. 6. Создание нового пользователя в окне диалога Пользователи и группы

Если на вкладке Пользователи (Users) вы раскроете список Имя (User), то увидите единственного пользователя, определенного в этой рабочей группе, — Admin. По спискам, расположенным в нижней части вкладки, можно судить, что пользователь Admin включен в обе встроенные группы. Чуть позже будет рассказано, как добавить или удалить группы. В верхней части вкладки Пользователи находится три кнопки: одна для определения нового пользователя, вторая — для удаления пользователя, выбранного в списке (Access не позволит вам удалит пользователя Admin), а с помощью третьей кнопки можно снять пароль для выбранного пользователя.

В данном случае нужно определить нового пользователя, который станет владельцем всех объектов, являясь при этом членом группы Admins. Щелкните на кнопке «Создать» (New), чтобы открыть окно диалога Новый пользователь или группа (New User/Group), также показанное на рисунке 6. В файле рабочей группы Secured.mdw был создан пользователь с именем Andrey и личным кодом 9999. Личный код должен содержать не менее четырех, но не более 20 букв и цифр. Если вы введете точно такую же информацию в другом файле рабочей группы, то определите пользователя с совпадающим идентификатором. Учтите, что комбинация прописных и строчных букв имеет большое значение. Так в случае ввода ANDREY и 9999 будет создан пользователь, имеющий совершенно другой внутренний идентификатор. (Окно регистрации нечувствительно к регистру букв в имени пользователя, поскольку в одной и той же рабочей группе не разрешается создание двух пользователей с именами, отличающимися только регистром символов.)

Щелкните на кнопке ОК, чтобы добавить пользователя. Он появится в списке Имя (Name). В списке Имеющиеся группы (Available Groups) выделите группу Admins и щелкните на кнопке Добавить (Add), чтобы сделать нового пользователя членом этой группы. Обратите внимание, что новый пользователь уже включен в группу Users, что дает ему полные права доступа ко всем объектам в любой незащищенной базе данных. Из группы Users нельзя удалить никакого пользователя.

Выберите свое текущее имя пользователя (Admin) в раскрывающемся списке Имя. Выделите группу Admins в списке Участие в группе (Member Of) и щелкните на кнопке Удалить (Remove), чтобы исключить пользователя Admin из группы Admins. Обратите внимание, что Access не позволит вам это сделать до тех пор, пока вы не создадите нового пользователя и не добавите его в группу Admins, потому что эта группа должна содержать, по крайней мере, одного пользователя. Наконец, перейдите на вкладку Изменение пароля, как на рисунке 7 (Change Logon Password) и введите пароль в поля Новый пароль (New Password) и Подтверждение (Verify).


Рис. 7

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

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

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

1.Зарегистрируйтесь как новый (не Admin) пользователь.

2.Создайте новую пустую базу данных.

3.Импортируйте все объекты из базы данных, которую вы хотели защитить, с помощью команды Файл Внешние данные Импорт (File  Get External Data  Import). Укажите исходную базу данных и затем в окне диалога Импорт (Import) обязательно выделите все объекты.

4.Если в исходной базе данных имеются специальные меню и панели инструментов или спецификации импорта/экспорта, перейдите на вкладку Параметры (Options) и выберите соответствующие параметры для импорта этих объектов.

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

Чтобы откомпилировать проект Visual Basic, откройте любой модуль в режиме конструктора. Если в импортированной программе используются объекты Office объекты доступа к данным, в редакторе Visual Basic выберите команду Сервис Ссылки (Tools  References) и включите ссылки на соответствующие библиотеки. Выберите команду Отладка Компилировать (Debug  Compile) затем, если компиляция пройдет успешно, выполните команду Файл Cохранить (File  Save).

Для сжатия базы данных сначала закройте ее и затем выберите команду Сервис Служебные программы Сжать и восстановить базу данных (Tools  Database Utilities  Compact And Repair Database).

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

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

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

Чтобы запустить мастера защиты, выберите команду Сервис Защита Мастер (Tools  Security  User-Level Security Wizard). Откроется окно диалога, представленное на рисунке 8.

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

Рис. 8. Начальное окно диалога мастера защиты

Щелкните на кнопке Далее (Next), чтобы перейти в следующее окно мастера, показанное на рисунке 9.

Рис. 9. Выбор объектов, которые нужно защитить

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

В следующем окне диалога, показанном на рисунке 10, мастер предложит создать одну пли несколько дополнительных групп. Вы можете щелкнуть на имени группы в левом списке, чтобы увидеть разрешения, которые будут предоставлены этой группе. Например, если вы хотите образовать группу пользователей, имеющих разрешения только на чтение и запуск, то установите флажок Только чтение (Read-Only Users).

Рис. 10. Выбор дополнительных групп, создаваемых мастером

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

Если вам не нужны предлагаемые мастером группы, просто щелкните на кнопке Далее, чтобы перейти в следующее окно диалога, представленное на рисунке 11.

Рис. 11. Предоставление некоторых разрешений группе Users

Это окно мастера позволяет предоставить некоторые разрешения универсаль­ной группе Users. По умолчанию для полной защиты базы данных мастер не оставляет этой группе каких-либо разрешений. Если вы откроете защищенную базу данных, то обнаружите, что вы можете просматривать любые данные и макеты всех объектов, но вам не удастся внести какие-либо измене­ния. Это было достигнуто путем предоставления группе Users разрешения Откры­тие/запуск (Open/Run) для базы данных, а для всех других объектов — разреше­ния Чтение макета (Read Disign) или Чтение данных (Read Data). Для этого нужно сначала установить верхний переключатель и затем указать соответствующие разрешения в зависимости от типов объектов. Обратите внимание на преду­преждение мастера по поводу предоставления разрешений группе Users! Щелк­ните на кнопке Далее, чтобы перейти в следующее окно диалога, показанное на рисунке 12.

Рис.12. Определение новых пользователей в рабочей группе

Чтобы добавить пользователя в рабочую группу, щелкните на элементе Доба­вить пользователя (Add NewUser) в начале списка, заполните поля Пользователь (UserName), Личный код (PID) и (необязательно) Пароль (Password) и затем щелк­ните на кнопке Добавить пользователя в список (Add This User To The List).

Новые пользователи, добавленные в этом окне, помечаются звездочкой, отображаемой рядом со значком. Вы можете просмотреть информацию о новом пользователе, выделив его имя в списке, и в случае ошибки удалить его, щелкнув на кнопке Удалить пользователя из списка (Delete User From List).

Щелкните на кнопке Далее, чтобы перейти в следующее окно диалога, показанное на рисунке 13, в котором вы можете включить пользователей в нужные группы.

Рис. 13. Определение вхождения пользователя в группу

Щелкните на кнопке Далее, чтобы перейти в последнее окно мастера, представленное на рисунке 14.

Рис.14. Последнее окно мастера защиты

Последнее окно диалога позволяет задать имя для резервной копии файла базы данных. В предложенном мастером варианте используется исходное имя базы данных с расширением .bak. Щелкните на кнопке Готово (Finish), чтобы позво­лить мастеру закончить свою работу.

После установки защиты для объектов базы данных мастер выведет отчет со сведениями о новой рабочей группе (если она создавалась) и информацией, которая может вам потребоваться при переопределении пользователей и групп, созданных мастером. При закрытии окна отчета мастер предложит сохранить отчет в файле снимка (с расширением .snp). Данным предложением мастера следует воспользоваться, чтобы не потерять эту критически важную информа­цию. Затем мастер закроет защищенную базу данных, зашифрует се и снова ее откроет. Если в базе данных определена начальная (стартовая) форма, вы можете удерживать нажа­той клавишу Shift в течение этого процесса, чтобы избежать запуска приложе­ния при открытии защищенной базы данных.

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

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

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

Откройте защищенную базу дан­ных (удерживайте нажатой клавишу Shift, если вы открываете защищенную копию базы данных). Выберите команду Сервис Защита Пользователи и группы (Tools  Security  User And Group Accounts), чтобы вывести на экран окно диалога Пользователи и группы (User And Group Accounts). На вкладке Группы (Groups) щелкните на кнопке Создать (New), чтобы открыть окно диалога Новый пользователь или группа (New User/Group), показанное на рисунке 15. Созда­ние новой группы совершенно аналогично определению нового пользователя – генерация внутреннего идентификатора группы производится с учетом регистра символов в имени и коде, которые вы ввели. Щелкните на кнопке ОК, чтобы добавить новую группу.

Рис.15. Создание новой группы защиты

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

Чтобы определить пользователя как члена группы, выберите команду Сервис Защита Пользователи и группы. На вкладке Пользователи (Users) выберите пользователя, которого вы хотите включить в одну или несколько групп. В левом списке окна диалога отображаются имеющиеся группы, а правом списке — группы, в которые входит этот пользователь. На рисунке 16 показано добавление в группу NotAdmin пользователя Buchanan­_Nike.

Рис. 16. Включение пользователя в группу

Теперь нужно назначить разрешения для каждой группы. Закройте окно диа­лога Пользователи и группы. Выберите команду Сервис Защита Разрешения (Tools  Security User And Group Permissions), чтобы открыть окно диалога, показанное на рисунке 17.

Установите переключатель Список (List) в положение Группы (Groups), чтобы увидеть список групп. Вы можете начать с предоставления всех разрешений группе AppAdrmin. Выделите ее в списке Пользователи и группы (User/Group Name) и затем последовательно выбирайте каждый тип объекта в раскрывающемся списке Тип объекта (Object Type). Начните с самой базы данных и установите флажок Администратора (Administer) в области Разрешения (Permissions). Перед выбором нового типа щелкните на кнопке Применить (Apply). После выбора пункта Таблицы (Tables) в раскрывающемся списке Тип объекта выделите все элементы в списке объектов. Для этого выделите самый верхний элемент, прокрутите список вниз и щелкните на последнем элементе при нажатой клавише Shift. Сделайте так, чтобы флажок Администратора появился с черной (а не серой) галочкой, и щелкните на кнопке Применить. То же самое проделайте для запросов, форм, отчетов, макросов и модулей.

Рис.17. Назначение ограничений разрешений группе NotAdmin

Выделите группу NotAdmin в левом списке. Для базы данных предоставьте только разрешение Открытие/запуск (Open/Run). Для всех таблиц и запросов предоставьте разрешение Чтение данных (Read Data), а для всех форм, отчетов и макросов — разрешение Открытие/запуск. Теперь вы готовы к определению пользователей и включения их в соответству­ющие группы.

Таким образом, в базе данных был сделан ряд изменений, чтобы адаптировать работу к ис­пользованию защиты. Например, формы уже не требуют ввода имени, а с помощью встроенной функции CurrentUser анализирует текущий код пользо­вателя Access и устанавливает ваш статус в зависимости от того, являетесь ли вы членом группы. Затем она просит только подтвердить ваш код пользователя. Если программа Access запущена не в рабочей группе или в файле рабочей группы не определены нужные группы, приложение за­кроет базу данных. Кроме того, не обнаружив вашего кода пользователя Access в таблицах (в которые добавлено поле Access User ID), приложение не позволит продолжить работу.

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

    Д. Вейскас Эффективная работа с Microsoft Access 2000. С-Пб.: Питер, 2001 год.

    С. Робинсон Microsoft Access 2000. Учебный курс. С-Пб.: Питер, 2000 год.