Защита с помощью рабочих групп упразднена

Опытные специалисты Access, может быть, помнят, что в предыдущие версии Access

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

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

Однако в последние годы корпорация Microsoft зациклилась на безопасности. Когда она готовила к выпуску Access 2007, было решено больше не поддерживать средство безо­пасности, которое на самом деле ненадежно, особенно когда в других программных про­дуктах, например, свободно распространяемой версии SQL Server, доступны лучшие механизмы. По этой причине корпорация Microsoft отказалась от поддержки безопасно­сти с помощью рабочих групп в файлах с расширением accdb. Это средство все еще можно применять в более старых файлах с расширением mdb, но это стоит делать, толь­ко если вам нужно сохранить поддержку БД, которую вы проектируете, старой версией программы Access. Новые файлы всегда должны создаваться в формате accdb — помимо всего прочего, Access представляет его как формат будущего для БД.


Защита паролем

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

 

Примечание

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

 

Применить пароль до смешного просто. Вот как это делается.

1. Выберите кнопку Office → Открыть(Office Open).

Для применения пароля следует открыть вашу БД монопольно. Этот шаг необходим, по­скольку программа Access не может шифровать БД, пока она используется кем-то.

2. Выделите файл, который хотите открыть, щелкните мышью направленную вниз стрелку на кнопке Открыть(Open) и выберите строку Монопольно(Open Exclusive).

 
 

Программа откроет БД с монопольным доступом.

3. Выберите на ленте Работа с базами данных → Работа с базами данных → Зашифровать паролем(Database Tools Database Tools Encrypt with Password).

Access запросит пароль (рис. 18.14).

 

Рис. 18.14.Для большей уверенности программа Access попросит ввести пароль дважды

 

4. Введите пароль и щелкните мышью кнопку ОК.

Для того чтобы защитить вашу БД как следует, необходимо выбрать усиленный пароль. Хороши длинные пароли (10 символов или больше), такие, которые нельзя найти в сло­варях (хакеры используют словари для запуска автоматических атак) и содержащие спе­циальные символы (например, цифры, знаки пунктуации и другие символы). Пароль hellodata — плохой выбор, пароль w0nDER_wh@t_32 гораздо надежнее.

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


Если позже вы решите, что вам для защиты не нужен пароль, щелкните кнопкой мыши команду на ленте Расшифровать базу данных(Remove Database Password and Encryption).

 

 

Пароли и разделенные БД

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

 

 

Примечание

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

 

 

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

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

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

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