Проблемы и ошибки        23.04.2019   

Защита и взлом баз данных Access. Стандартные способы защиты

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

Чтобы установить пароль

  1. Откройте файл базы данных в режиме монопольного доступа. Для этого
  • В приложении Access выполните команду Файл/Открыть .
  • Выберите файл базы данных.
  • В кнопке Открыть выберите режим Монопольно.
  1. Выполните команду в меню Сервис/Защита/Задать пароль базы данных .
  2. Установите пароль и подтвердите его.

Чтобы снять пароль базы данных

  1. Откройте файл в режиме монопольного доступа
  2. Выполните команду Сервис/Защита/Удалить пароль базы данных .

Обратите внимание! Не используйте пароль базы данных, если предполагается выполнять репликацию базы данных. Реплицированные базы данных не могут быть синхронизированы, если установлен пароль базы данных.

Защита приложения

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

Скрытие объектов

  1. В Главном окне базы данных выберите объект, который нужно скрыть.
  2. Нажмите кнопку Свойства на панели инструментов – откроется окно свойств выделенного объекта.
  3. Установите флажок скрытый и нажмите кнопку OK ..
  4. Чтобы отобразить все скрытые объекты, выберите команду Параметры в меню Сервис , откройте вкладку Вид и установите флажок скрытые объекты . Значки скрытых объектов будут слабо контрастными.
  5. Чтобы вновь отобразить скрытые объекты, повторите п.п.1-3, но на шаге 3 сбросьте флажок скрытый .

Скрытие таблиц и связей на схеме данных

  1. Откройте схему данных (Сервис/Схема данных ).
  2. Правой кнопкой мыши щелкните на объект (образ таблицы) и в контекстном меню выберите команду Скрыть таблицу.

Защита объектов базы данных на уровне пользователей

Наиболее гибкий и распространенный способ защиты базы данных называется защитой на уровне пользователей. Этот способ защиты подобен способам, используемым в большинстве сетевых систем. Двумя основными причинами использования защиты на уровне пользователей являются:

  • защита приложения от повреждения из-за неумышленного изменения пользователями таблиц, запросов, форм, отчетов и макросов, от которых зависит работа приложения;
  • защита конфиденциальных сведений в базе данных.

При запуске Microsoft Access от пользователя требуется идентифицировать себя и ввести пароль. Внутри файла рабочей группы пользователи идентифицируются как члены группы. Microsoft Access по умолчанию создает две группы: администраторы (группа «Admins») и пользователи (группа «Users»). Допускается также определение других групп.

Хотя установка защиты на уровне пользователей для большинства баз данных является сложной задачей, мастер защиты позволит быстро и легко защитить базу данных Access. Более того, благодаря использованию общих схем защиты, мастер позволяет уменьшить или даже вообще исключить необходимость использования команды Защита в меню Сервис.

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

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

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

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

Примечание.

Для получения дополнительных сведений о системе защиты Microsoft Access см. Microsoft Office 2000/Visual Basic Programmer"s Guide .

Шаги мастера защиты

  1. Создать файл рабочей группы.
  2. Задается имя файла (по умолчанию Secured. mdw), код (по умолчанию генерируется случайным образом).
  3. Отмечаются объекты базы данных, которые надо защитить (по умолчанию защищаются все объекты). Чтобы снять защиту какого-либо объекта, надо снять соответствующий флажок.
  4. Назначаются виды групп с различным уровнем доступа и их коды (по умолчанию генерируются случайным образом). Виды групп, которые надо включить в файл, отмечаются флажком.
  5. Можно установить некоторые разрешения (но не все) группе Users, которая включается по умолчанию в каждый файл рабочей группы.
  6. Добавляются пользователи в файл рабочей группы – имя, пароль, код (по умолчанию генерируется случайным образом).
  7. Каждый из назначенных пользователей включается в некоторую группу в соответствующим уровнем доступа.
  8. Задается имя резервной (незащищенной) копии базы данных.

Защита в многопользовательской среде

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

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

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

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

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

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

Настройка параметров запуска СУБД Access

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

  1. В меню Сервис выберите команду Параметры запуска.
  2. Выберите нужные параметры или введите нужные значения.

    Примечание.

    Не следует совмещать установку в параметрах запуска формы, открывающейся при запуске приложения, и макрос autoexec на открытие формы при запуске.

Выбор параметров в диалоговом окне Параметры запуска

  1. Параметры запуска применяются к текущей базе данных Microsoft Access или проекту Microsoft Access.
  2. При выборе параметра в диалоговом окне Параметры запуска автоматически задается значение свойства базы данных Access или проекта Access, связанного с этим параметром. Для просмотра списка этих свойств нажмите кнопку.
  3. Свойства, соответствующие параметрам запуска, не подавляют настройки свойств конкретной панели инструментов, строки меню, контекстного меню, формы или отчета. Например, параметры Строка меню и Контекстное меню в диалоговом окне Параметры запуска не переопределяют значения свойств для конкретных форм или отчетов, имеющих пользовательскую строку меню или контекстное меню. Таким образом, при открытии формы или отчета Microsoft Access отображает пользовательскую строку меню, присоединенную к этой форме или отчету, а не глобальную строку меню, указанную в диалоговом окне Параметры запуска.
  4. Диалоговое окно Параметры запуска можно использовать вместо или в дополнение к макросу autoexec . Макрос autoexec запускается после вступления в силу параметров запуска, поэтому в макрос autoexec не следует включать макрокоманды, которые могут изменить параметры запуска. Например, если в поле Вывод формы/страницы диалогового окна Параметры запуска указана форма, а в макросе autoexec вызывается макрокоманда О тк рытьФорму, то сначала будет открыта форма, указанная в диалоговом окне Параметры запуска, а сразу за ней форма, указанная в макрокоманде ОткрытьФорму.
  5. В среде Access, если для базы данных определена защита на уровне пользователя, то можно запретить пользователям изменять настройки в диалоговом окне Параметры запуска. Для этого следует обеспечить невозможность получения пользователями прав администратора на доступ к базе данных.
  6. Настройки параметров запуска можно обойти, удерживая нажатой клавишу SHIFT при открытии базы данных.

Работа с разными версиями среды Access

Иногда пользователь создает базу данных в одной версии СУБД Access, а потом возникает необходимость просмотреть ее в другой версии СУБД Access (либо созданной раньше, либо созданной позже).

При этом необходимо учитывать следующее:

Чтобы появилась возможность редактировать базу данных, надо преобразовать файл к требуемой версии СУБД Access.

Преобразование базы данных к предыдущей версии СУБД Access (понижение версии)

  1. Выполнить команду Сервис/Служебные программы/ Преобразовать базу данных/к предыдущей версии Access .
  2. На этапе преобразования будет предложено ввести имя новой базы данных.

Преобразование базы данных к новой версии (повышение версии)

  1. На этапе открытия появится сообщение, предлагающее выбрать один из вариантов
  • Преобразовать базу данных
  • Открыть только для просмотра.
  1. Выберите переключатель Преобразовать базу данных и задайте новое имя для базы данных и папку.

Файлы, созданные в СУБД Access 2000 открываются в СУБД Access 2003 для просмотра и редактирования.

Защита базы данных Access с помощью пароля

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

Установка и снятие пароля защиты базы данных
Чтобы установить пароль для защиты базы данных:

  1. Закройте базу данных. Если база данных совместно используется в сети, убедитесь, что остальные пользователи ее закрыли.
  2. Сделайте резервную копию базы данных и сохраните ее в надежном месте.
  3. В меню Access выберите команду Файл, Открыть (File, Open).
  4. Выделите файл базы данных.
  5. Щелкните по стрелке, расположенной справа от кнопки Открыть (Open). В раскрывающемся списке режимов открытия базы данных выделите элемент Монопольно (Open Exclusive). База данных откроется в режиме монопольного доступа.
  6. Выберите команду Сервис, Защита, Задать пароль базы данных (Tools, Security, Set Database Password).
  7. В появившемся диалоговом окне введите в поле Пароль (Password) пароль для защиты базы данных с учетом регистра символов.
  8. Введите пароль еще раз в поле Подтверждение (Verify).
  9. Нажмите кнопку ОК.

Теперь база данных защищена паролем и всякий раз, когда пользователь будет открывать базу данных, будет отображаться диалоговое окно с требованием ввести пароль. Запомните или сохраните пароль в надежном месте. Если вы забудете пароль, базу данных будет невозможно открыть.
Замечание
Не защищайте базу данных паролем перед ее репликацией, иначе ее нельзя будет синхронизировать с другими репликами.
Если база данных защищена на уровне пользователей, установить пароль для ее открытия может только пользователь, обладающий административными правами. Установка пароля не влияет на систему защиты на уровне пользователя. Эти два способа защиты могут использоваться одновременно. Пароль базы данных сохраняется в базе данных, а не в файле рабочей группы.
Чтобы удалить пароль защиты базы данных:

  1. Откройте базу данных в режиме монопольного доступа.
  2. В диалоговое окно Необходимо ввести пароль (Password Required) ведите пароль.
  3. Выберите команду Сервис, Защита, Удалить пароль базы данных (Tools, Security, Unset Database Password). Появится диалоговое окно Удаление пароля базы данных (Unset Database Password).
  4. Введите текущий пароль базы данных.
  5. Нажмите кнопку ОК.

Установка связи с таблицами базы данных, защищенной паролем
Чтобы установить связь с таблицами базы данных, защищенной паролем, требуется ввести пароль. Если пароль был указан верно, он сохраняется вместе с другой информацией о ссылках на таблицы. После этого любой пользователь, работающий с базой данных со связанными таблицами, может открыть эти таблицы без указания пароля. Если пароль защищенной базы данных будет изменен, в следующий раз при открытии базы данных, содержащей связанные таблицы, потребуется ввести пароль.
Замечание
Microsoft Access сохраняет пароль в базе данных, содержащей связанные таблицы защищенной базы данных, в незашифрованном виде. Если это уязвляет систему защиты базы данных, не используйте средство защиты с помощью пароля. Установите систему защиты на уровне пользователей, чтобы ограничить доступ к объектам базы данных.
Администрирование баз данных Access, защищенных на уровне пользователей
В задачу администрирования базы данных, защищенной на уровне пользователей, входит выполнение следующих действий:

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

Внимание
Задачи администрирования, касающиеся защиты приложения на уровне пользователей, может выполнять только пользователь, обладающий административными правами. В Access административными правами автоматически наделяются пользователи встроенной группы Admins. Остальным пользователям разрешено только изменять пароль своей учетной записи и получать отчет со списком пользователей и групп рабочей группы.
О том, что такое файл рабочей группы и о задачах администрирования, связанных с его использованием, рассказано в следующем разделе. О том, как изменить состав пользователей и групп пользователей приложения Access, .
Использование файла рабочей группы
Рабочей группой в Access называется группа пользователей сети, совместно использующих одну или несколько баз данных Access. Если база данных защищена на уровне пользователей, в файл рабочей группы записываются учетные записи пользователей и групп, входящих в рабочую группу. Пароли пользователей также хранятся в файле рабочей группы. Учетным записям в рабочей группе могут быть назначены права доступа к базе данных и ее объектам (таблицам, запросам, формам, отчетам и макросам). Права доступа сохраняются в защищенной базе данных.
Создание и подключение файла рабочей группы производится с помощью служебной программы, которая входит в состав Microsoft Access 2010 и называется Администратор рабочих групп (Workgroup Administrator). Восстановление файла рабочей группы производится путем его воссоздания по сохраненной информации.

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

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

Для создания пароля пользователю необходимо:

1. Запустить MS Access с использованием той рабочей группы, в которой хранится учетная запись пользователя, и войти в него по той учетной записи, для которой нужно создать или изменить пароль.

2. Открыть БД.

3. На вкладке в группе Администратор выбрать команду

4. На вкладке Изменение пароля оставить поле Текущий пароль пустым , если учетная запись ранее не имела пароля. В противном случае ввести в поле Текущий пароль старый пароль .

5. Ввести новый пароль в поле Новый пароль .

6. Повторно ввести новый пароль в поле Подтверждение и нажать кнопку OK (рис. 11.18).

Снятие пароля учетной записи пользователя

Для выполнения данной процедуры необходимо войти в БД по учетной записи члена группы Admins .

1. Запустить MS Access с использованием файла рабочей группы , в котором хранится учетная запись пользователя.

2. Открыть БД.

3. На вкладке Работа с базами данных ленты инструментов в групппе Администратор выбрать команду Пользователи и разрешения - Пользователи и группы….

4. На вкладке Пользователи ввести имя учетной записи пользователя в поле Имя .

5. Нажать кнопку Снять пароль (рис. 11.19).

6. Повторить шаги 4 и 5 для снятия других паролей, затем нажать кнопку OK .



Разрешения на доступ

Разрешения - набор атрибутов, определяющих права пользователя на данные или объекты в БД.

Существуют два типа разрешений на доступ :

1. Явные - если они непосредственно присвоены учетной записи пользователя. Такие разрешения не влияют на разрешения других пользователей.

2. Неявные - разрешения на доступ, присвоенные учетной записи группы. Пользователь, включенный в такую группу, получает все разрешения, предоставленные группе. Удаление пользователя из этой группы лишает его всех разрешений, присвоенных данной группе.

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

Изменять разрешения других пользователей на отдельные объекты БД могут следующие пользователи:

· члены группы Admins , определенной в файле рабочей группы , который использовался при создании конкретной БД;

· владелец объекта;

· любой пользователь , получивший на этот объект разрешения администратора .

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

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

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

1. Администраторы (члены группы Admins ) всегда могут получить все разрешения на объекты, созданные в рабочей группе.

2. Учетные записи, являющиеся владельцами таблиц, запросов, форм, отчетов или макросов всегда могут получить все разрешения на доступ к этим объектам.

3. Учетная запись, являющаяся владельцем БД, всегда может открыть БД.

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

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

Для входа в MS Access могут быть использованы только учетные записи пользователя; вход с помощью учетной записи группы невозможен.

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

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

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

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

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

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

В этой статье

Обзор

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

    Новая функция шифрования действует только в отношении баз данных в формате ACCDB.

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

    При шифровании баз данных, созданных в более ранних версиях Access (MDB-файлов), или применении к ним паролей используются соответствующие функции из Access 2003.

Шифрование базы данных с помощью пароля

В этом разделе описано, как создать пароль и применить к базе данных Access рабочего стола.

Шифрование базы данных

Шифрование разделенной базы данных

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

Открытие и расшифровка базы данных

Напоминание. Обязательно запомните пароль. Забытый пароль невозможно восстановить.

Файл базы данных Microsoft Access, подобно другим документам Office, можно защитить с помощью пароля на открытие. Скопируйте файл BDTur_firm.mdb, с которым мы работали в первой главе, назовите его "BD_withPassword.mdb". Для установки пароля нам понадобится открыть базу в так называемом монопольном, однопользовательском режиме. Дело в том, что возможность установки пароля при одновременной работе нескольких пользователей 1Microsoft Office Access 2003 поддерживает одновременную работу 255 пользователей. приводила бы к ошибкам, поэтому MS Access не предоставляет ее. Запускаем программу, в главном меню переходим "Файл \ Открыть", переходим в нужную директорию, выделяем файл, из выпадающего списка значений кнопки "Открыть" выбираем "Монопольно" (рис. 3.6):

Появляется окно базы данных. В главном меню переходим "Сервис \ Защита \ Задать пароль базы данных", в окне "Задание пароля базы данных" вводим пароль "12345" и подтверждаем его (рис. 3.7).


Рис. 3.7.

Теперь всякий раз при открытии этого файла на любом компьютере нужно будет вводить указанный пароль (рис. 3.8).


Рис. 3.8.

Для изменения пароля нам потребуется удалить существующий и затем задать новый. Снова открываем базу в монопольном режиме, в главном меню переходим "Сервис \ Защита \ Удалить пароль базы данных". В появившемся окне вводим текущий пароль, после нажатия кнопки "OK" он будет удален. Для ввода нового значения опять переходим к пункту меню "Задать пароль базы данных", на этот раз введем более сложный пароль "q1w2e3r4t5y6u7i8o9p0".

Защита файла с помощью пароля - крайне ненадежный способ, его нельзя применять в реальных приложениях. Пароль хранится в открытом виде, и его очень легко вскрыть. В Интернете множество утилит, предназначенных для этого, например, Access Password Recovery Genie (http://www.lenosoft.com). После запуска этой программы выбираем файл MS Access, пароль к которому нужно подобрать, - и пароль моментально появляется в главном окне (рис. 3.9).


Рис. 3.9.

Далее нам снова понадобится вводить пароль - чтобы не тратить время, установите снова его значение равным "12345". Займемся теперь подключением к файлу базы данных из приложений. Конечно, вы теперь будете сомневаться, применять ли вообще задание пароля как средство безопасности, но нам в любом случае нужно научиться подключаться даже к такой, "ненадежной" базе. Создайте новый Windows-проект и назовите его "VisualBD_withPassword". Из окна Toolbox перетаскиваем на форму элемент управления DataGrid, его свойству Dock устанавливаем значение "Fill". Переходим на вкладку Data дважды щелкаем на объекте OleDbDataAdapter. В появившемся мастере настраиваем подключение к файлу BD_withPassword.mdb. Теперь в окне "Свойства связи с данными" при проверке соединения появляется сообщение об ошибке (рис. 3.10):


Рис. 3.10.

Исходя из текста ошибки, возникает естественное желание снять галочку "Пустой пароль" и в поле пароля ввести "12345". Но и на этот раз возникает ошибка 2Убедитесь также в том, что ваш файл базы данных не открыт в самой программе Microsoft Access. (рис. 3.11):


Рис. 3.11.

Дело в том, что интерфейс вкладки "Подключение" предназначен для ввода параметров учетной записи при защите на уровне пользователей. Далее мы рассмотрим ее. Здесь же снова устанавливаем галочку "Пустой пароль" и переходим на вкладку "Все". Дважды щелкаем на свойстве Jet OLEDB:Database Password (или, выделив его, нажимаем на кнопку "Изменить значение"), в появившемся окне "Изменение значения свойства" вводим пароль "12345" (рис. 3.12).


Рис. 3.12.

Переходим на вкладку "Подключение" - наконец нам удалось получить доступ к базе (рис. 3.13).


Рис. 3.13.

Нажимаем кнопку "OK" для закрытия окна "Свойства связи с данными", в следующих шагах мастера "Data Adapter Configuration Wizard" настраиваем извлечение всех записей из таблицы "Туристы". В последнем шаге мастера - включение пароля в строку connection string - выбираем кнопку "Include password"; мы будем изучать строку, сгенерированную мастером (рис. 3.14):


Рис. 3.14.

На панели компонент формы выделяем объект DataAdapter , переходим в его окно Properties и нажимаем на ссылку Generate dataset. Оставляем название объекта DataSet , предлагаемое по умолчанию. В конструкторе формы заполняем объект DataSet , а также определяем источник данных для элемента DataGrid :

public Form1() { InitializeComponent(); oleDbDataAdapter1.Fill(dataSet11); dataGrid1.DataSource = dataSet11.Tables.DefaultView; }

Здесь мы указываем индекс (равный нулю) единственной таблицы, находящейся в объекте DataSet .

Запускаем приложение. На форму выводятся данные из базы (