Чтобы запустить служебную программу
Администратор рабочих групп
(Workgroup Administrator):
Коллективное использование базы данных требует административного контроля. Необходимо поручить эти обязанности одному или нескольким сотрудникам, которые будут исполнять роль администраторов базы данных. Некоторые ошибочно полагают, что использование базы данных небольшим коллективом пользователей не требует специального обслуживания, и считают нецелесообразным выделение специальных средств на административную поддержку приложения, аргументируя это отсутствием свободных штатных сотрудников и нехваткой служебного времени. Однако если этот вопрос будет проигнорирован, рано или поздно такое положение дел приведет к нежелательным последствиям. Однажды база данных может быть испорчена и не окажется резервных копий. Невозможно будет решить некоторые часто возникающие задачи администрирования, требующие определенной квалификации, которой пользователи обычно не имеют. При этом может возникнуть такая ситуация, что не будет возможности немедленно связаться с разработчиками или база данных просто была приобретена без заключения договора о сопровождении.
Среди задач администрирования можно, например, выделить такие задачи, как:
При использовании базы данных коллективом в десятки человек подобные задачи возникают достаточно часто и их спектр достаточно широк, в этом случае рекомендуется разделить административные обязанности между несколькими специалистами. Для поддержки комплексных сетевых бизнес-приложений вводят специальные должности.
В этой главе описано использование средств, предоставляемых Access 2002, для решения следующих задач:
В задачу администрирования базы данных, защищенной на уровне пользователей, входит выполнение следующих действий:
Внимание
Задачи администрирования, касающиеся защиты приложения на уровне пользователей, может выполнять только пользователь, обладающий административными правами. В Access административными правами автоматически наделяются пользователи встроенной группы Admins. Остальным пользователям разрешено только изменять пароль своей учетной записи и получать отчет со списком пользователей и групп рабочей группы.
О том, что такое файл рабочей группы и о задачах администрирования, связанных с его использованием, рассказано в следующем разделе. О том, как изменить состав пользователей и групп пользователей приложения Access, см. разд. "Управление учетными записями" ниже в этой главе. О назначении прав доступа к объектам базы данных или проекта Access 2002 см. разд. "Назначение прав доступа к объектам базы данных Access 2002" данной главы.
Существует несколько способов защиты базы данных Access от несанкционированного доступа:
В отличие от баз данных, проект (файл ADP) не может быть защищен с помощью пароля или посредством установки защиты на уровне пользователей средствами Access 2002. Однако, как и в базах данных, в проектах можно защищать паролем программный код на VBA. На практике защита проектов сводится к помещению файла проекта в общую папку на файловом сервере, к которой пользователям сети предоставляется доступ только для чтения. Файл проекта может быть отправлен пользователям по почте. Пользователи должны защитить свою локальную копию файла проекта, используя средства защиты файловой системы личного компьютера, и периодически создавать резервные копии файла проекта при добавлении в него новых форм или отчетов, чтобы в случае повреждения файла проекта иметь возможность его восстановить.
Кроме того, в проектах используется система защиты баз данных, хранящихся на SQL Server. Об этом рассказано в следующем разделе. Защита программного кода на VBA базы данных или проекта Access 2002 описана
в гл. 16.
Есть еще способы защиты объектов в базе данных или проекте Access 2002 — преобразовать файл в формат МОЕ или ADE или использовать параметры запуска для ограничения доступа к программам VBA и некоторым параметрам среды Access, можно также скрыть некоторые объекты от пользователей с помощью диалогового окна Параметры (Options) (см. разд. "Настройка параметров запуска" гл. 14 и разд. "Защита программного кода на VBA" гл. 16). Администрирование баз данных, защищенных с помощью пароля, сводится к изменению пароля защиты (когда это необходимо). Задача администрирования приложений, для которых установлена защита на уровне пользователей, существенно сложнее (см. разд. "Защита базы данных на уровне пользователей" гл. 16).
Чтобы застраховаться от потери данных, создайте резервную копию базы данных или проекта Access 2002. Чтобы увеличить производительность базы данных и уменьшить ее размер, используйте операцию сжатия базы данных или проекта Access 2002. Начиная с версии Access 2000, сжатие и восстановление базы данных объединены в один процесс.
Глава 20. Администрирование баз данных Архивирование, сжатие и восстановление баз данных Создание резервной копии базы данных или проекта Access 2002 Сжатие базы данных или проекта Access 2002 Восстановление поврежденной базы данных Защита информации с помощью шифрования Администрирование защищенных баз данных и проектов Access 2002 Защита баз данных на SQL Server Защита объектов баз данных на SQL Server Управление учетными записями на SQL Server Защита базы данных Access с помощью пароля Установка и снятие пароля защиты базы данных Установка связи с таблицами базы данных, защищенной паролем Администрирование баз данных Access, защищенных на уровне пользователей Использование файла рабочей группы Администратор рабочих групп Подключение файла рабочей группы к приложению Access Создание и восстановление файла рабочей группы Управление учетными записями Назначение прав доступа к объектам базы данных Изменение прав доступа к объектам базы данных Предоставление права на владение объектами базы данных Выводы |
Рабочей группой
в Access называется группа пользователей сети, совместно использующих одну или несколько баз данных Access. Если база данных защищена на уровне пользователей, в файл рабочей группы записываются учетные записи пользователей и групп, входящих в рабочую группу. Пароли пользователей также хранятся в файле рабочей группы. Учетным записям в рабочей группе могут быть назначены права доступа к базе данных и ее объектам (таблицам, запросам, формам, отчетам и макросам). Права доступа сохраняются в защищенной базе данных.
Создание и подключение файла рабочей группы производится с помощью служебной программы, которая входит в состав Microsoft Access 2002 и называется Администратор рабочих групп (Workgroup Administrator). Восстановление файла рабочей группы производится путем его воссоздания по сохраненной информации.
Назначение прав доступа к объектам базы данных для учетных записей, хранящихся в файле рабочей группы, выполняется в Access с помощью диалогового окна
Разрешения
(User and Group Permissions).
Чтобы открыть диалоговое окно для назначения прав доступа к объектам базы данных:
В диалоговом окне
Разрешения
есть две вкладки:
Разрешения
(Permissions) и
Смена владельца
(Change Owner). Рассмотрим вкладку
Разрешения.
(О функциях второй вкладки рассказывается
в разд. "Предоставление права на владение объектами базы данных" этой главы.) С
помощью данной вкладки можно определить права доступа к конкретным объектам базы данных для конкретных пользователей и групп. В поле
Пользователь
(Current User) отображается имя пользователя, которое было применено для регистрации в момент открытия базы данных. В зависимости от того, обладает ли текущий пользователь административными правами или нет, ему будут позволены или запрещены просмотр и изменение прав доступа к объектам базы данных.
Пользователям и группам пользователей рабочей группы можно назначить разные права для доступа к разным объектам базы данных, защищенной на уровне пользователей. В табл. 20.1 представлены возможные права доступа, которые могут быть установлены для доступа к объектам базы данных. В столбце "Дополнительные права" приведены права доступа, которые необходимы для получения права, указанного в столбце "Права доступа". В результате того, что пользователь или группа наделяется определенными правами, дополнительные права предоставляются автоматически.
Чтобы использовать базу данных, защищенную на уровне пользователей, присоедините к Access ее файл рабочей группы с помощью служебной программы Администратор рабочих групп (Workgroup Administrator):
В результате выполнения этих действий путь к файлу рабочей группы записывается в реестр как параметр Access. Это означает, что для всех баз данных, открываемых в Access, будет использована защита на уровне пользователей на основе присоединенного файла рабочей группы. По умолчанию к Access 2002 присоединен файл рабочей группы с именем System.mdw, хранящийся в папке, в которую установлен Office 2002, или в папке с личными настройками пользователя Windows. Прежде чем проводить эксперименты с файлом рабочих групп Access 2002, рекомендуется сдедать резервную копию этого файла.
Если нужно использовать файл рабочей группы для конкретной базы данных, создайте ярлык для открытия этой базы данных, в командной строке которого укажите параметр /wrkgrp и полное имя файла рабочей группы: "<Путь>\МSАССЕЗЗ.ЕХЕ" "<Путь>\<Имя базы данных или проекта Access>" /wrkgrp "<Путь>\<Имя файла рабочей группы>"
Например, чтобы использовать базу данных сервера "Игры в доминирование" (это приложение описано
в гл. 16),
которая находится в общей папке Domination на компьютере GameServer, создайте ярлык с командной строкой: "C:\Program Files\Microsoft Office\Officel0\MSACCESS.EXE" "\\GameServer\Domination\DominationGameServer.mdb" /wrkgrp "\\GameServer\Domination\Domination.mdw"
А чтобы использовать базу данных клиента приложения "Игра в доминирование", создайте ярлык, содержащий команду: "C:\Program FilesXMicrosoft Office\Officel0\MSACCESS.EXE" "\\GameServer\Domination\DominationGamePlayer.mdb" /wrkgrp "\\GameServer\Domination\Domination.mdw"
Предоставление права на владение объектами базы данных производится с помощью вкладки
Смена владельца
(Change Owner) диалогового окна
Разрешения
(User and Group Permissions). Однако изменить владельца всей базы данных с помощью этого диалогового нельзя. Для этого существует отдельная процедура, описанная далее. Предоставление права на владение объектом базы данных пользователю или группе может выполнить лишь пользователь, обладающий административными правами для этого объекта или правом на владение данным объектом.
Чтобы изменить владельца объекта базы данных (то есть предоставить право на владение этим объектом):
Замечание
В обоих случаях процесс сжатия можно прервать с помощью комбинации клавиш <Ctrl>+<Break> или клавиши <Esc>.
Допускается сжатие файла базы данных или проекта Access 2002 в файл с тем же именем, что и имя исходного файла, или создание файла с новым именем. При указании того же имени, диска и папки и при успешном сжатии базы данных исходный файл автоматически заменяется на сжатый файл.
Можно настроить Access 2002 так, чтобы конкретная база данных или проект автоматически сжимались при закрытии.
Чтобы установить автоматическое сжатие базы данных Access 2002:
Установка автоматического сжатия проекта Access 2002 выполняется аналогично.
Замечание
Автоматическое сжатие не происходит, если при этом размер базы данных (или проекта) не будет уменьшен, по крайней мере, на 256 Кбайт, а также, если эта база данных (или проект) в текущий момент открыта другим пользователем в сети.
Замечание
В предыдущей версии Access 2000 эта программа запускалась отдельно от Access с помощью ярлыка в папке Office из Проводника (Explorer) Windows, что было весьма неудобно.
Замечание
Внимательно заполняйте поля с информацией о файле рабочей группы. Все три значения — имя, организация и код группы — интерпретируются с учетом регистра символов. Сохраните эту информацию в надежном месте, чтобы в случае повреждения файла рабочей группы его можно было восстановить. Если эта информация будет утрачена, при повреждении файла рабочей группы его невозможно будет восстановить, а это может привести к безвозвратной потере доступа к защищенным объектам базы данных.
7. Появится диалоговое окно, позволяющее проверить введенную информацию. Нажмите кнопку
ОК.
Созданный файл рабочей группы автоматически присоединяется к Access. Присоединенный файл рабочей группы используется при открытии любых баз данных в Access. С этого момента все создаваемые учетные записи будут сохраняться в этом файле рабочей группы. Чтобы организовать совместное использование файла рабочей группы в сети несколькими пользователями, поместите этот файл в общую папку на файл-сервере и попросите пользователей присоединить его к их копии Access с помощью программы Администратор рабочих групп (Worgroup Administrator), как описано выше, в разд. "Подключение файла рабочей группы к приложению Access" данной главы.
Рассмотрим процедуры выполнения действий с учетными записями с помощью диалогового окна, представленного на рис. 20.5. Чтобы эти действия повлияли на систему защиты базы данных, после их выполнения необходимо нажать кнопку
Apply
(Применить) или ОК в диалоговом окне
Пользователи и группы
(User and Group Accounts).
Чтобы добавить учетную запись пользователя:
Имя пользователя может включать от одного до двадцати символов. В имени можно использовать буквы, цифры, символы акцента, пробелы и любые другие символы, кроме символов " \ [ ] : | <> + =; , . ? * . Нельзя также использовать ведущие пробелы и управляющие символы (то есть символы, ASCII-код которых находится в пределах от 10 до 31).
Необходимо ввести имя пользователя с учетом регистра и запомнить или записать его, поскольку эта информация нужна для успешной регистрации в базе данных и для восстановления файла рабочей группы в случае его повреждения.
Идентификатор пользователя представляет собой последовательность от 4 до 20 символов. Идентификатор пользователя не является паролем пользователя. Вместе с именем пользователя он используется в алгоритме шифрования для вычисления идентификатора защиты учетной записи. Идентификатор пользователя, так же как идентификатор группы, является способом идентификации учетной записи в системе защиты приложения. Если файл рабочей группы будет поврежден, учетные записи в нем можно будет воссоздать если известны их идентификаторы.
Чтобы удалить учетную запись пользователя:
Чтобы добавить пользователя в группу:
Чтобы удалить пользователя из группы:
Чтобы добавить учетную запись пользователя-администратора:
Чтобы удалить учетную запись пользователя-администратора:
Чтобы добавить учетную запись группы:
Чтобы удалить учетную запись группы:
Замечание
Невозможно удалить системные группы Admins и Users и системную учетную запись пользователя Admin, но можно удалить системную учетную запись пользователя Admin из группы Admins. Однако в группе Admins обязательно должен быть хотя бы один пользователь, и из группы Users никакую учетную запись пользователя нельзя удалить.
Чтобы задать или изменить пароль пользователя:
Чтобы заменить пароль пользователя пустым паролем:
Чтобы получить отчет со списком пользователей и групп рабочей группы:
Чтобы назначить права доступа к объектам базы данных конкретной группе:
Чтобы назначить права доступа к объектам базы данных конкретному пользователю:
Чтобы назначить выбранному пользователю или группе права доступа к объекту базы данных:
Замечание
В списке имен объектов не будут отображаться скрытые объекты, если в диалоговом окне Параметры (Options) на вкладке Вид (View) не установлен флажок скрытые объекты (Hidden Objects), позволяющий отображать скрытые объекты.
Чтобы назначить пользователю или группе права доступа к базе данных:
Чтобы назначить права доступа к создаваемым объектам базы данных, предоставляемые пользователю или группе:
Замечание
Установка или сброс флажков некоторых разрешений влечет установку или сброс других флажков разрешений, поскольку предоставление или отмена определенного вида доступа может привести к предоставлению или отмене другого вида доступа, связанного с измененным. Например, предоставление доступа к таблице вида Чтение данных (Read Data) влечет предоставление доступа Чтение макета (Read Design), а отмена доступа Обновление данных (Update Data) влечет отмену доступа Изменение макета (Modify Design).
Чтобы назначить нового владельца базы данных:
Внимание
Для импорта объектов базы данных необходимо обладать правами Открытие/запуск (Open/Run) для базы данных и Чтение макета (Read Design) для всех объектов. В противном случае будут импортированы только те объекты, на которые есть необходимые права доступа. Рекомендуется перед импортированием объектов открыть исходную базу данных, зарегистрировавшись с именем пользователя, обладающего административными правами, и предоставить права на Чтение макета (Read Design) для всех объектов в группе Users.
Чтобы создать собственный файл рабочей группы (такой, как Doinination.mdw):
Права доступа
|
Разрешенные действия
|
Объекты
|
Дополнительные права
|
|
Открытие/запуск
(Open/Run) |
Открытие базы данных, формы или отчета, запуск макроса |
Базы данных, формы, отчеты и макросы |
|
|
Монопольный доступ (Open Exclusive) |
Открытие базы данных для монопольного доступа |
Базы данных |
|
|
Чтение макета
(Read Design) |
Просмотр объектов в режиме Конструктора |
Таблицы, запросы, формы, отчеты и макросы |
|
|
Изменение макета
(Modify Design) |
Просмотр и изменение макета объектов или удаление объектов |
Таблицы, запросы, формы, отчеты и макросы |
Чтение макета, Чтение данных, Обновление данных, Удаление данных |
|
Права доступа
|
Разрешенные действия
|
Объекты
|
Дополнительные права
|
||
Администратора
(Administer) |
Для баз данных — установка пароля базы данных, репликация базы данных и изменение параметров запуска.
Для обьектов базы данных — все разрешения на объекты и данные, в том числе предоставление разрешений на доступ |
Базы данных, таблицы, запросы, формы, отчеты и макросы |
Все остальные права |
||
Чтение данных
(Read Data) |
Просмотр данных |
Таблицы и запросы |
Чтение макета |
||
Обновление данных (Update Data) |
Просмотр и изменение данных, но без их вставки или удаления |
Таблицы и запросы |
Чтение макета, Чтение данных |
||
Вставка данных
(Insert Data) |
Просмотр и вставка данных, но без их изменения и удаления |
Таблицы и запросы |
Чтение макета, Чтение данных |
||
Удаление данных
(Delete Data) |
Просмотр и удаление данных, но без их изменения и вставки |
Таблицы и запросы |
Чтение макета, Чтение данных |
||
Защита модулей в Access 2002 и Access 2000, в отличие от Access 97, устанавливается отдельно. Установка защиты программного проекта VBA описана
в гл. 16.
Управление учетными записями включает следующие действия:
Все перечисленные действия можно выполнить в Access с помощью диалогового окна
Пользователи и группы
(User and Group Accounts). Чтобы открыть диалоговое окно для управления учетными записями:
В справке Access 2002 сказано, что в проекте Access можно выполнять задачи администрирования системы безопасности с помощью команды Access
Безопасность базы данных
(Database Security) в меню
Сервис
(Tools). Эта команда доступна только в том случае, если SQL Server установлен на том же самом компьютере, где хранится проект Access. С помощью этого средства можно добавлять, удалять и изменять учетные записи для регистрации на SQL Server, учетные записи пользователей базы данных и роли.
Замечание
Для новой версии ядра баз данных MSDE2000, меню Безопасность базы данных (Database Security) а также меню Репликация (Replication) недоступны. Так говорится в справке Access 2002. Однако нам не удалось получить названные меню даже в проекте Access 2002, подключенном к SQL Server 2000, установленом на том же компьютере. Используйте инструкции Transact-SQL или Enterprise Manager для защиты и репликации данных на SQL Server. (Подробнее см. справку SQL Server.)
Существует две системы безопасности, применяемые для регистрации на SQL Server:
Чтобы использовать встроенную систему защиты SQL Server:
С такой системой защиты вы сможете поменять пароль учетной записи SQL Server, использующейся для регистрации в проекте Access 2002, с помощью команды меню Access
Сервис, Защита, Задать пароль для входа
(Tools, Security, Set Login Password). He забудьте установленный пароль, чтобы не потерять доступ к проекту!
Чтобы использовать интегрированную с Windows NT систему защиты SQL Server:
В этом случае ввод пароля при регистрации на SQL Server требоваться не будет, поскольку будет действовать идентификация пользователя в сети Windows NT или Windows 2000.
Чтобы установить пароль для защиты базы данных:
Теперь база данных защищена паролем и всякий раз, когда пользователь будет открывать базу данных, будет отображаться диалоговое окно с требованием ввести пароль. Запомните или сохраните пароль в надежном месте. Если вы забудете пароль, базу данных будет невозможно открыть.
Замечание
Не защищайте базу данных паролем перед ее репликацией, иначе ее нельзя будет синхронизировать с другими репликами.
Если база данных защищена на уровне пользователей, установить пароль для ее открытия может только пользователь, обладающий административными правами. Установка пароля не влияет на систему защиты на уровне пользователя. Эти два способа защиты могут использоваться одновременно. Пароль базы данных сохраняется в базе данных, а не в файле рабочей группы.
Чтобы удалить пароль защиты базы данных:
Чтобы установить связь с таблицами базы данных, защищенной паролем, требуется ввести пароль. Если пароль был указан верно, он сохраняется вместе с другой информацией о ссылках на таблицы. После этого любой пользователь, работающий с базой данных со связанными таблицами, может открыть эти таблицы без указания пароля. Если пароль защищенной базы данных будет изменен, в следующий раз при открытии базы данных, содержащей связанные таблицы, потребуется ввести пароль.
Замечание
Microsoft Access сохраняет пароль в базе данных, содержащей связанные таблицы защищенной базы данных, в незашифрованном виде. Если это уязвляет систему защиты базы данных, не используйте средство защиты с помощью пароля. Установите систему защиты на уровне пользователей, чтобы ограничить доступ к объектам базы данных.
В большинстве случаев Microsoft Access определяет, что база данных повреждена, при попытке открыть, зашифровать или дешифровать ее. Тогда пользователю предоставляется возможность восстановить базу данных, выполнив ее сжатие. Но в некоторых ситуациях не удается определить, что база данных повреждена. Если база данных ведет себя непредсказуемым образом, выполните ее сжатие.
При серьезных проблемах, которые приводят к вынужденному завершению работы Access, это приложение перезапускается и автоматически создается резервная копия открытой базы данных или проекта Access с тем же именем и расширением, что и исходный файл, только с суффиксом _Backup (резервный).
SQL Server имеет встроенную систему защиты баз данных на уровне пользователей. Подключиться к SQL Server и базе данных на нем может только зарегистрированный на сервере пользователь, обладающий соответствующими правами. Подробную информацию об использовании системы защиты для проектов Access 2002 можно найти в документации SQL Server.
Самый простой способ защиты базы данных — с помощью пароля. Можно назначить пароль базе данных Access, который будет требоваться всякий раз при ее открытии.
Защита информации в базе данных Access производится с помощью операции шифрования. Операция шифрования в Access 2002 приводит к сжатию файла базы данных. После выполнения операции шифрования просмотр данных с помощью специальных программ и текстовых редакторов становится невозможен. Операция дешифрования отменяет результаты операции шифрования. Для проектов Access 2002 операция шифрования не реализована.
Операция шифрования или дешифрования неприменима к открытой базе данных. Если база данных используется в сети, то, прежде чем приступить к выполнению операции шифрования или дешифрования, убедитесь, что она не открыта ни одним из пользователей.
Чтобы выполнить операцию шифрования или дешифрования:
Замечание
Можно указать новое имя или имя, совпадающее с именем исходного файла. Если указаны те же имя, диск и папка, а шифрование или дешифрования выполнены успешно, то исходный файл будет заменен на зашифрованный или дешифрованный. Если же операция приводит к ошибке, то исходный файл удален не будет. Кроме того, исходный файл не будет удален, пока операция шифрования не завершится. Поэтому необходимо иметь достаточно места на диске для двух версий базы данных — зашифрованной и незашифрованной. Рекомендуется перед операцией шифрования делать резервную копию базы данных перед ее шифрованием.
Если для базы данных определена защита на уровне пользователей, то для ее шифрования или дешифрования необходимо быть владельцем базы данных или входить в группу Admins и иметь разрешение на монопольное открытие базы данных. В противном случае попытка шифрования или дешифрования окажется неудачной. Шифрование базы данных не препятствует доступу к ней легальных пользователей или групп в Access. Разрешения на доступ к объектам являются частью системы защиты базы данных на уровне пользователей.
В проектах Access 2002 существует две возможности защиты данных и других объектов (таблиц, представлений, хранимых процедур и схем данных), которые сохраняются на SQL Server.
Если есть вероятность того, что структуру зашифрованного представления понадобится изменить в будущем, воспользуйтесь следующим советом. Сохраните инструкцию SQL, определяющую представление, в текстовом файле. Сохраните твердую копию в надежном месте. Зашифруйте представление. При необходимости изменить структуру зашифрованного представления: