ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ Государственное общеобразовательное учреждение высшего профессионального учреждения...
77 downloads
345 Views
532KB Size
Report
This content was uploaded by our users and we assume good faith they have the permission to share this book. If you own the copyright to this book and it is wrongfully on our website, we offer a simple DMCA procedure to remove your content from our site. Start by pressing the button below!
Report copyright / DMCA form
ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ Государственное общеобразовательное учреждение высшего профессионального учреждения
ПЕНЗЕНСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
Организация многопользовательского режима работы базы данных средствами MS Access Методические указания к лабораторным работам Часть 1
ПЕНЗА 2008
Всего 36 страниц
УДК 681.3
Рассматриваются вопросы использования различных режимов доступа к базе данных и методов блокировок записей; способы общего доступа и основные особенности совместного доступа в сети к базе данных. Также изучаются основы организации защиты сетевого приложения Microsoft Access от несанкционированного доступа и выбор политики защиты и установки защиты. Методические указания подготовлены на кафедре «Информационное обеспечение управления и производства» и предназначены для студентов специальности 032001, изучающих дисциплину «Проектирование СУБД архивов».
Составители
И.В. Усманова, Н.Н. Надеева
Рецензент
2
Лабораторная работа 1 Организация общего доступа к базе данных Microsoft Ассеss Цель работы: ознакомиться со способами общего доступа к базам данных, изучить основные особенности совместного доступа в сети к базе данных, овладеть практическими навыками использования различных режимов доступа к базе данных и методов блокировок записей.
Общие сведения Способы совместного использования баз данных Базы данных (БД) Microsoft Ассеss могут использоваться одновременно несколькими пользователями в сети. Общий доступ к базе данных можно предоставить несколькими способами: − предоставить совместный доступ в сети к базе данных − предоставить совместный доступ в сети к таблицам в базе данных − предоставить совместный доступ к базе данных через Internet − обеспечить совместную работу с базой данных с помощью репликации − обеспечить совместный доступ к базе данных с помощью SQL Server. Наиболее важное практическое значение для архивов на сегодня имеет организация совместного доступа к базе данных в сети. Совместное использование базы данных Чтобы предоставить совместный доступ к базе данных Ассеss, поместите ее на файловый сервер или в общую папку на рабочей станции. Это самый простой способ обеспечить совместный доступ к базе данных и всем ее объектам — формам, отчетам, запросам, макросам и модулям. Этот способ подходит, если нужно, чтобы все пользователи могли использовать одни и те же объекты базы данных одинаковым способом. Поместив базу данных в общую папку на файловом сервере или рабочей станции, убедитесь в том, что установлен параметр,
3
определяющий открытие совместного доступа.
базы
данных
по
умолчанию
в
режиме
Для работы с базой данных в сети необходимо выполнить локальную или сетевую установку Ассеss, либо установить исполняемую версию Ассеss. Совместное использование только данных Можно предоставить совместный доступ в сети лишь к таблицам в базе данных Ассеss. Для этого необходимо разделить базу данных на файл объектов данных и файл объектов приложения. После разделения базы данных поместите файл объектов данных на файловый сервер или в общую папку на рабочей станции, чтобы предоставить общий доступ к таблицам, а файл объектов приложений — на компьютер пользователя в виде локальной копии. В этом случае производительность базы данных будет несколько выше, чем при совместном доступе ко всей базе данных, поскольку по сети будут передаваться только данные из таблиц. При этом отдельный пользователь может настроить формы, отчеты и прочие объекты из файла объектов приложения в соответствии со своими индивидуальными потребностями. Эти изменения не отразятся на остальных пользователях, которые используют свои локальные копии файла объектов приложения. Совместное использование объектов базы данных через Internet Объекты базы данных можно предоставить в совместное использование через Internet, создав на их основе страницы НТМL следующих видов: − статические страницы НТМL; − генерируемые сервером страницы НТМL; − страницы доступа к данным. Страницы НТМL можно отобразить в программе просмотра Internet, такой как Internet Ехрlorer. Совместная работа с базой данных через репликации Windows позволяет использовать для работы с файлом (в том числе с базой данных) два компьютера: например, компьютер в офисе и 4
переносной компьютер. Можно создавать реплики (специальные копии) базы данных Ассеss для хранения на разных компьютерах и синхронизировать изменения в них. Аналогично, несколько пользователей могут работать со своими копиями — репликами базы данных, которые могут быть синхронизированы по сети, с помощью удаленного доступа к сети или через Internet. Совместный доступ к базе данных с помощью СУБД SQL Server Если в сети организации установлена СУБД SQL Server, ее можно использовать для совместной работы с базой данных Ассеss. Для этого нужно создать клиент-серверное приложение на основе базы данных Ассеss. В результате станут доступными мощные средства СУБД SQL Server. Режимы работы с базой данных в сети База данных может быть открыта пользователем в сети в одном из четырех режимов: − Открытие в режиме общего доступа. База данных открывается для чтения и записи. Другие пользователи тоже могут открыть базу данных (в любом режиме). − Открытие в режиме монопольного доступа. База данных открывается для чтения и записи. Другие пользователи не смогут открыть базу данных, пока она не будет закрыта пользователем, открывшим ее в режиме монопольного доступа. − Открытие в режиме общего доступа только для чтения. База данных открывается только для чтения. Другие пользователи тоже могут открыть базу данных (в любом режиме). − Открытие в режиме монопольного доступа только для чтения. База данных открывается только для чтения. Другие пользователи не смогут открыть базу данных, пока она не будет закрыта пользователем, открывшим ее в режиме монопольного доступа. Можно указать режим открытия базы данных, используемый по умолчанию: 1. Откройте базу данных. 5
2. Выберите команду Сервис, Параметры. Появится диалоговое окно Параметры. 3. Раскройте вкладку Другие. 4. В группе Режим открытия по умолчанию выберите переключатель Общий доступ или Монопольный доступ. Заданный режим открытия по умолчанию действует только на локальном компьютере и не влияет на режим, используемый по умолчанию для открытия базы данных пользователями других компьютеров. Кроме того, независимо от установленного режима по умолчанию, пользователь может открыть базу данных в любом режиме, указав его явно: 1. Выберите команду Файл, Открыть. Появится диалоговое окно Открытие файла базы данных. 2. Щелкните по стрелке, находящейся справа от кнопки Открыть (Рисунок 1.1).
Рисунок 1.1 - Список режимов открытия базы данных
3. Выберите в списке элемент, соответствующий требуемому режиму открытия базы данных: 6
− Открыть — режим общего доступа для чтения и записи; − Открыть для чтения — режим общего доступа, открыть только для чтения; − Монопольно — режим монопольного доступа; − Монопольно для чтения — режим монопольного доступа, открыть только для чтения. Если база данных (файл с расширением .МDВ) открывается в режиме общего доступа, Мicrosoft Ассеss создает файл блокировок с таким же именем, как база данных, но с расширением LDВ, который располагается в той же папке, где хранится файл базы данных. В файле блокировок сохраняется имя компьютера (например, МYСОМР) и регистрационное имя пользователя базы данных (например, Аdmin) для каждого пользователя, открывшего базу данных для совместного использования. Он используется Мicrosoft Ассеss во время совместной работы пользователей с файлом базы данных. Этот файл автоматически удаляется после того, как последний пользователь закроет базу данных. Организация совместного доступа к данным и объектам В сети доступ к одним и тем же объектам могут одновременно получить сразу несколько пользователей. Общий доступ к данным отличается от монопольного. Например, совместная правка записей в таблице/запросе или изменение структуры объекта базы данных может привести к возникновению конфликтов при сохранении изменений в источнике. В Microsoft Асcess существуют стандартные механизмы для поддержки совместного доступа данным и объектам базы данных в сети и разрешения конфликтов, возникающих при сохранении изменений. Совместный просмотр и изменение данных Предположим, база данных открыта в режиме общего доступа нескольким пользователями в сети. При этом несколько пользователей могут одновременно работать с одним и тем же набором записей. При попытке изменить определенную запись, в то время как ее редактирует другой пользователь или она удалена другим пользователем, возникает конфликт совместного доступа к источнику данных.
7
При совместном доступе к базе данных Мicrosoft Ассеss помогает отследить состояние записи во время ее правки и позволяет убедиться в том, что используемые данные были обновлены. В тот момент, когда несколько пользователей пытаются одновременно изменить одну и ту же запись, Ассеss отображает сообщение, позволяющее разрешить возникший конфликт. Например, при попытке сохранить изменения в записи, заблокированной в этот момент другим пользователем, отображается сообщение с именем этого пользователя. Ассеss помогает отследить состояние записи, отображая специальный символ в области выделения текущей записи. Возможные символы приведены в таблице 1.1. Таблица 1.1 - Значки, обозначающие состояния текущей записи Символ
Значение Данная запись является текущей, и в данный момент еще не была изменена Запись изменена, но изменения еще не сохранены в источнике данных. В этом случае другие пользователи не видят текущих изменений в данной записи. Если запись заблокирована, другие пользователи не смогут ее изменить. Для того чтобы освободить запись и сделать ее доступной для других пользователей, следует сохранить или отменить внесенные изменения
Методы управления блокировками записей Пока один пользователь редактирует запись, Ассеss позволяет автоматически запретить другим пользователям изменять ее до тех пор, пока первый пользователь не закончит ее правку. Предоставление одному пользователю исключительного права доступа к записи называется блокировкой. Существует три вида блокировки записей в базе данных Ассеss: − Отсутствует. Изменяемая запись не блокируется. При попытке сохранить измененную запись, которую в это же время изменял другой пользователь, на экране появляется сообщение, предлагающее следующие возможности: сохранить данный вариант записи, уничтожив изменения, внесенные другим пользователем; скопировать свою измененную запись в 8
буфер обмена; отказаться от собственных изменений. Этот параметр позволяет изменять записи в любое время, но при внесении изменений разными пользователями могут возникать конфликты. − Изменяемой записи. Мicrosoft Ассеss блокирует изменяемую в данный момент запись, не позволяя изменять ее другим пользователям. Заблокированными могут оказаться другие записи, расположенные рядом на диске. Данный параметр гарантирует завершение всех начатых изменений. Это хороший выбор, если конфликты совместного доступа к записи с другими пользователями возникают редко. − Всех записей. Мicrosoft Ассеss блокирует все записи формы или объекта в режиме Таблицы (и базовых таблиц) на весь период их открытия, поэтому другие пользователи не могут изменить или заблокировать записи. Этот параметр накладывает слишком жесткие ограничения. Его следует использовать только в тех случаях, когда есть уверенность, что именно вы имеете приоритетное право на изменение записей. Чтобы установить параметр используемый по умолчанию:
блокировки
записей
в
сети,
1. Выберите команду Сервис, Параметры. Появится диалоговое окно Параметры. 2. Раскройте вкладку Другие (Рисунок 1.2).
Рисунок 1.2 - Вкладка Другие диалогового окна Параметры
9
3. В группе Блокировка по умолчанию выберите необходимый переключатель. Существует возможность выбрать один из двух уровней блокировки: − Блокировка записей. Блокируется только редактируемая запись. − Блокировка страниц. Блокируется страница памяти на диске, которая может содержать несколько соседних записей. Чтобы задать уровень блокировки, используемый по умолчанию, установите флажок Блокировка записей при открытии БД на вкладке Другие диалогового окна Параметры, если нужна блокировка на уровне записей, или сбросьте этот флажок, если нужна блокировка на уровне страниц. Замечание Установленный параметр начнет действовать, когда база данных будет открыта заново с помощью команды Файл, Открыть, а не с помощью списка последних использованных файлов. Блокировка на уровне записей действует только при доступе к данным через формы, страницы таблиц и запросов или с помощью объекта Recordset. Это режим не влияет на выполнение запросов и инструкций SQL. Предотвращение конфликтов при блокировке записей в сети Следующие четыре параметра помогают избежать конфликтов при блокировке записей в сети: − Период обновления. Этот параметр задает число секунд, по истечении которых Мicrosoft Ассеss автоматически обновляет записи в объекте в режиме Таблицы или в режиме Формы. При обновлении текущего объекта в режиме Таблицы или Формы отображаются изменения в существующих записях, причем записи не сортируются заново, не добавляются новые записи и не убираются с экрана удаленные записи. Для того чтобы увидеть эти изменения, необходимо выполнить операцию обновления данных, например, с помощью комбинации клавиш <Shift>+.
10
− Период повтора обновления. Этот параметр задает число миллисекунд, по истечении которых Мicrosoft Ассеss автоматически пытается сохранить измененную запись, заблокированную другим пользователем. − Число повторов обновления. Этот параметр задает число попыток сохранения измененной записи, заблокированной другим пользователем. − Период обновления ODBC. Этот параметр задает интервал времени в секундах, после которого Мicrosoft Ассеss автоматически обновляет записи, доступ к которым осуществляется по протоколу ODBC. Значения этих параметров устанавливаются в диалоговом окне Параметры на вкладке Другие. Подробное описание этих параметров есть в справочной системе Ассеss.
Практическая часть 1.
Изучить теоретическую часть работы.
2. Образовать пары из бригад в соответствии с их номерами. Первую пару образуют бригады № 1 и № 2, вторую – бригады № 3 и № 4 и так далее. 3. В процессе выполнения лабораторной работы компьютер одной из бригад будет выполнять роль файлового сервера в отношении разработанной самой бригадой БД. Далее бригада, работающая с файловым сервером, именуется первой. а бригада, компьютер которой исполняет роль рабочей станции, - второй. Распределить обязанности между бригадами, образовавшими одну пару. Первой бригаде сообщить второй бригаде адрес созданной ею базы данных. 4. Первой бригаде для разработанной ею БД определить таблицы, которые могли бы быть одновременно редактируемыми на различных рабочих местах в архиве в случае сетевого использования БД. Обосновать свой выбор и зафиксировать его в отчете. 5. Первой бригаде открыть свою БД в режиме общего доступа. В окне БД открыть любую из таблиц, выделенных при выполнении п.4.
11
6. Второй бригаде последовательно предпринять попытки открытия этой БД со своей рабочей станции (не копируя ее на свой компьютер!) в различных режимах, указывая явно режим открытия, и проверить экспериментально возможность чтения и записи данных. Каждой бригаде зафиксировать результаты каждой попытки, сделать выводы о возможности использования различных режимов открытия БД в практической деятельности архива и привести примеры конкретных ситуаций. 7. Первой бригаде открыть свою БД в режиме монопольного доступа. В окне БД открыть любую из таблиц, выделенных при выполнении п.4. 8.
Второй бригаде повторить п.6.
9. Первой бригаде открыть свою БД в режиме общего доступа. В окне БД открыть любую из таблиц, выделенных при выполнении п.4. 10. Первой бригаде установить параметр блокировки записей «отсутствует». Предпринять попытку редактирования какой-либо записи в таблице, т.е. внесения в неё каких-либо изменений. Примечание: после каждого изменения уровня блокировки данных необходимо сначала сохранить изменения, закрыв таблицу, и лишь потом предпринимать попытку редактирования данных. 11. Второй бригаде открыть ту же таблицу, задать блокировку всех записей. Установить курсор и изменить значение поля, редактированием которого занимается первая бригада. Зафиксировать в отчете результаты эксперимента. Второй бригаде повторить эксперимент, последовательно задавая все варианты параметров блокировки записей в сети и фиксируя получаемые результаты в отчете. Проверить, изменяются ли результаты в зависимости от того, какая из бригад первой закрывает таблицу. Сделать выводы о возможности практического применения полученных результатов. 12. Первой бригаде установить параметры блокировки записей «всех записей» и «изменяемой записи». Второй бригаде для каждого из этих случаев повторить п.11.
12
13. Оформить отчет. Содержание отчета: название и цель работы, перечисление этапов работы и выводы, сделанные по ходу их выполнения. Контрольные вопросы 1.
Назовите способы совместного использования баз данных.
2. Каковы особенности совместной работы с базой данных через репликацию? 3. Какие способы задания режима открытия базы данных вам известны? 4. Каковы преимущества режима монопольного доступа к базе данных? В каких ситуациях практической деятельности архива возможно применение этого режима? 5. Что применяется? 6.
такое
блокировка
данных?
С
какой
целью
она
Назовите уровни блокировки данных в базе данных Access.
7. В каких практических ситуациях в работе архивов может быть применена блокировка всех записей? 8.
Как задать блокировку на уровне страниц?
9. В каких практических ситуациях в работе архивов может быть применена блокировка изменяемой записи? 10. Опишите ситуацию в работе с данными, когда СУБД выставит блокировку на уровне всех записей.
13
Лабораторная работа 2 Защита сетевого приложения Цель работы: ознакомление с теоретическими основами организации защиты сетевого приложения Access от несанкционированного доступа; овладеть практическими навыками выбора политики защиты и установки защиты.
Общие сведения Выбор политики защиты и установка защиты — предмет разработки приложения, а настройка схемы защиты приложения в соответствии с текущими потребностями в процессе использования приложения — задача администрирования. Администратор управляет составом пользователей и групп пользователей приложения и предоставляет им необходимые права доступа к объектам приложения по мере необходимости. Разработчик приложения предварительно определяет политику защиты приложения, выполняет установку защиты приложения и подготавливает его к использованию — определяет начальный состав пользователей и групп пользователей приложения и выполняет начальное распределение между ними прав доступа к объектам приложения. Таким образом, в процессе установки защиты приложения разработчик помимо прочих действий в определенный момент выполняет функции администратора данных. Определение политики защиты включает решение следующих вопросов: − какова степень защиты приложения; − по какому пользователей;
принципу
производится
выделение
групп
− по какому принципу организуется разграничение прав доступа между отдельными пользователями и группами; − какие права доступа необходимо задать по умолчанию. Например, разработчик может решить, предоставить ли разрешение другим пользователям просматривать или выполнять запрос без изменения
14
данных или структуры запроса, задать ли права по умолчанию для всех запросов. Администратор приложения обладает всеми необходимыми правами для изменения политики защиты приложения, но необходимости в этом не должно возникать. Ведь в задачу разработчика приложения входит выбор наиболее подходящей политики защиты, которая удовлетворяет требованиям, предъявляемым к приложению, и упрощает процесс администрирования. Защита базы данных на уровне пользователей Защита на уровне пользователей предназначена для предоставления разным пользователям разного уровня доступа к объектам приложения. Пользователи могут объединяться в группы внутри рабочей группы. Группам, как и пользователям, могут быть назначены определенные права доступа к объектам базы данных. Существует два типа прав доступа, предоставляемых пользователю: явные и неявные. Явные права доступа — те, что назначены непосредственной учетной записи пользователя. Неявные права доступа — те, что назначены учетной записи группы, в которую входит этот пользователь. Добавление пользователя в группу приводит к предоставлению пользователю прав, назначенных группе. Удаление пользователя из группы лишает его этих прав. Права пользователя на доступ к объекту складываются из его явных и неявных прав. В системе защиты на уровне пользователей Microsoft Access применяется политика "наименьших ограничений". Это означает следующее: если пользователю (который может входить в разные группы, обладающие различными правами доступа) назначены и разрешающие, и запрещающие права к некоторому объекту базы данных Access, то доступ к объекту пользователю предоставляется. Группы пользователей делают управление правами доступа более удобным. Вместо того чтобы всякий раз при введении нового пользователя в рабочую группу предоставлять ему все необходимые права к объектам базы данных, можно назначить эти права группе. Тогда процесс
15
предоставления заданных прав доступа сведется к добавлению нового пользователя в эту группу. Рабочая группа пользователей базы данных Рабочей группой в Access называется группа пользователей сети, совместно использующих одну или несколько баз данных Access. Если база данных защищена на уровне пользователей, в файл рабочей группы (файл с расширением MDW) записываются учетные записи пользователей и групп, входящих в рабочую группу. Пароли пользователей также хранятся в файле рабочей группы. Учетным записям в рабочей группе могут быть назначены права доступа к базе данных и ее объектам — таблицам, запросам, формам, отчетам и макросам. Права доступа сохраняются в защищенной базе данных. По умолчанию используется стандартный файл рабочей группы SYSTEM.MDW, автоматически созданный при установке Access. Этот файл находится в папке, соответствующей языку локализации Access. Для американской версии используется папка с названием \1033, для русской — \1049, она находится в папке \Program Files\Microsoft Office\Office. Защита базы данных на уровне пользователей может быть выполнена средствами программы Администратор рабочих групп или с помощью Мастера защиты базы данных. При установке защиты на уровне пользователей, прежде чем создавать учетные записи пользователей и групп и назначать им права доступа к объектам базы данных, следует подключить соответствующий файл рабочей группы. Можно использовать стандартный файл рабочей группы или создать новый. Не рекомендуется использовать стандартный файл рабочей группы, поскольку любой другой пользователь сможет использовать собственный стандартный файл рабочей группы для доступа к базе данных. Чтобы обеспечить уникальность рабочей группы, необходимо создать новый файл рабочей группы и указать уникальный идентификатор рабочей группы.
16
Встроенные учетные записи Access В любой рабочей группе пользователей базы данных Microsoft Access существуют стандартные учетные записи: − пользователь (Admin); − группа (Admins); − группа (Users). Их нельзя удалить, но можно изменить права доступа, назначенные им по умолчанию. Пользователь Admin по умолчанию включен и в группу Users, и в группу Admins. Любой добавляемый в рабочую группу пользователь автоматически включается в группу Users. Эта группа представляет собой всех пользователей Access. Никакой пользователь не может быть удален из группы Users. Группа Admins представляет собой группу администраторов всех баз данных, используемых рабочей группой. Этой группе автоматически предоставляются полные права на доступ к таким базам данных. В каждый момент времени группа Admins должна содержать, по крайней мере, одну учетную запись пользователя. Пользователь Admin представляет собой администратора всех баз данных Access. Однако, используя конкретный файл рабочей группы для защиты конкретной базы данных, пользователя Admin можно удалить из группы Admins и назначить ему и группе Users ограниченные права доступа к объектам защищаемой базы данных. Таким образом, база данных становится защищенной от доступа с помощью учетной записи Admin, используемой по умолчанию. Права доступа к объектам конкретной базы данных, назначенные пользователю Admin и группе Users, остаются прежними при подключении любого файла рабочей группы, а права доступа, назначенные группе Admins, зависят от файла рабочей группы, подключенного к базе данных в данный момент.
17
Внимание! Чтобы сделать систему защиты базы данных неуязвимой, при подключении стандартного файла рабочей группы Access (во время установки защиты) необходимо помнить о сохранении прав доступа, назначенных встроенным учетным записям Admin и Users. Административные права доступа Административные права предоставляют полный доступ к объектам и/или базе данных, а также разрешение на изменение прав доступа других пользователей и групп. Административными правами обладают: − все пользователи группы Admins; − владельцы объектов; − пользователи, которым явно предоставлены административные права доступа. Даже если в определенный момент пользователь не может выполнить некоторую операцию из-за отсутствия прав доступа, он может иметь разрешение назначить себе эти права. Такими пользователями являются пользователи группы Admins и владельцы объектов. Только пользователи группы Admins могут изменять параметры защиты с помощью команд меню Сервис, Защита или с помощью Мастера защиты на уровне пользователей. Процесс установки защиты на уровне пользователей для любой базы данных Access 2000 можно разделить на следующие этапы: − создание файла приложению Access;
рабочей
группы
и
подключение
его
к
− назначение владельца базы данных и его объектов; − создание учетных записей групп и пользователей в рабочей группе; − назначение прав доступа к объектам базы данных пользователям и группам. Для защиты очередного приложения не обязательно требуется создание нового файла рабочей группы. Хорошим стилем является создание и использование одного файла рабочей группы для ряда 18
приложений Access, с которыми работает одна и та же группа пользователей, например, сотрудники одного отдела. Использование Мастера защиты Процедура установки защиты базы данных Access на уровне пользователей автоматизирована, ее можно выполнить с помощью Мастера защиты базы данных. Чтобы защитить базу данных на уровне пользователей с помощью Мастера: 1. Откройте базу данных, которую требуется защитить. 2. Выберите команду Сервис, Защита, Мастер. 3. Следуйте инструкциям Мастера. Мастер защиты базы данных на уровне пользователей позволяет создать или изменить существующий файл рабочей группы (рисунок 2.1). Рекомендуется создать новый файл рабочей группы и не использовать системный файл рабочей группы SYSTEM.MDW. Чтобы изменить существующий файл рабочей группы (для защиты базы данных), необходимо зарегистрироваться с именем любого пользователя (кроме пользователя Admin), обладающего административными правами доступа к базе данных. Если зарегистрироваться с именем пользователя Admin, который по умолчанию включен в группу Admins и обладает административными правами, с помощью Мастера защиты можно будет только создать новый файл рабочей группы, и нельзя будет изменить существующий.
Рисунок 2.1 - Первое диалоговое окно Мастера защиты базы данных
19
Мастер защиты позволяет: − выбрать объекты базы данных, которые требуется защитить; − указать пароль для защиты программного кода на VBA; − выбрать группы из списка групп с типичными правами доступа; − предоставить ограниченные права доступа группе Users; − создать учетные записи пользователей; − определить вхождение пользователей в группы. Мастер создает новую защищенную базу данных и импортирует в нее все объекты исходной базы данных, сохраняя резервную копию незащищенной базы данных с прежним именем (по умолчанию), но с расширением ВАК вместо MDB. После завершения работы Мастера на экране отображается отчет о защите базы данных, содержащий всю указанную в окнах Мастера информацию, необходимую для восстановления файла рабочей группы. Этот отчет рекомендуется распечатать или сохранить в формате снимка отчета (snapshot), чтобы по сохраненной информации можно было бы восстановить файл рабочей группы в случае его повреждения. Мастер защищает все выбранные на определенном этапе объекты базы данных, отбирает у группы Users все разрешения на доступ к этим объектам либо оставляет этой группе заданные ограниченные права доступа, а затем зашифровывает базу данных. Межтабличные связи и любые связанные таблицы воссоздаются в защищенной базе данных. С этого момента только пользователи, входящие в группу Admins, учетные записи которых сохранены в файле рабочей группы, созданном или присоединенном с помощью Мастера, будут иметь полный доступ к защищенным объектам в базе данных. А текущий пользователь, обладающий административными правами, становится владельцем базы данных и всех ее объектов. Для того чтобы управлять доступом к защищенным объектам, следует предоставить соответствующие разрешения учетным записям пользователей и/или групп. Если понадобится изменить параметры защиты, Мастер защиты можно использовать неоднократно. Еще раз отметим, что для применения 20
Мастера защиты необходимо обладать административными правами доступа к базе данных. Снятие защиты на уровне пользователей Бывают ситуации, когда нужно снять защиту базы данных на уровне пользователей. Это требуется, например, чтобы сделать базу данных доступной всем или если администрирование базы данных с течением времени стало затруднительным из-за резкого увеличения числа пользователей, и возникла необходимость перераспределить пользователей по группам и назначить им права доступа по новой схеме. Снятие защиты на уровне пользователей может выполнить только пользователь, обладающий административными правами. Процедура снятия защиты на уровне пользователей включает два этапа: − предоставление группе Users полных прав на доступ к объектам базы данных; − изменение владельца базы данных — предоставление права владения пользователю Admin. Итак, чтобы снять защиту базы данных на уровне пользователей: 1. Откройте защищенную базу данных. 2. Зарегистрируйтесь с именем пользователя, являющегося администратором рабочей группы (администраторы рабочей группы входят в группу Admins). 3. Предоставьте группе Users полные права на доступ ко всем объектам базы данных. 4. Закройте базу данных и Access. На этом первый этап заканчивается. 5. Запустите Access. 6. Создайте новую пользователь Admin.
базу
данных
и
зарегистрируйтесь
как
7. Импортируйте в новую базу данных все объекты из защищенной базы данных. 8. Если текущий файл рабочей группы будет использоваться в дальнейшем, удалите пароль пользователя Admin. В этом нет 21
необходимости, если в дальнейшем будет использоваться стандартный файл рабочей группы SYSTEM.MDW, созданный при установке Access. Замечание Теперь защита базы данных полностью снята. Любой пользователь Access сможет использовать базу данных и получить полный доступ к ее объектам: таблицам, запросам, формам, отчетам и макросам. Эти права доступа действуют для любого файла рабочей группы, поскольку учетная запись Admin везде одинаковая. Текущий файл рабочей группы, подключенный к Access в момент создания новой базы данных (шаг 6), определяет группу Admins администраторов новой базы данных. Защита информации с помощью шифрования Защита информации в базе данных Access производится с помощью операции шифрования. Операция шифрования в Access 2000 приводит к сжатию файла базы данных. После выполнения операции шифрования просмотр данных с помощью служебных программ и текстовых редакторов становится невозможен. Операция дешифрования отменяет результаты операции шифрования. Для проектов Access 2000 операция шифрования не реализована. Операция шифрования или дешифрования неприменима к открытой базе данных. Если база данных используется в сети, то, прежде чем приступить к выполнению этих операций, убедитесь, что она не открыта ни одним из пользователей. Чтобы выполнить операцию шифрования или дешифрования: 1. Запустите Access 2000, не открывая базу данных. 2. Выберите команду Сервис, Защита, Шифровать/дешифровать (Tools, Security, Encrypt/Decrypt Database). 3. Появится диалоговое окно База данных для шифрования или дешифрования (Encrypt/Decrypt Database) (рисунок 2.2). Укажите имя базы данных, которую требуется зашифровать или дешифровать, и нажмите кнопку ОК. 4. Если выбранная на предыдущем шаге база данных не является зашифрованной, появится диалоговое окно Шифрование базы данных под именем (Encrypt Database As) (рисунок 2.3), в другом случае появится 22
диалоговое окно Дешифрование базы данных под именем (Decrypt Database As). Укажите имя, диск и папку для конечной базы данных и нажмите кнопку ОК.
Рисунок 2.2 - Диалоговое окно выбора базы данных для шифрования или дешифрования
Замечание Можно указать новое имя или имя, совпадающее с именем исходного файла. Если указаны те же имя, диск и папка, а шифрование или дешифрация выполнены успешно, то исходный файл будет заменен зашифрованным или дешифрованным. Если же операция приводит к ошибке, то исходный файл удален не будет. Необходимо иметь достаточно места на диске для двух версий базы данных - шифрованной и дешифрованной.
Рисунок 2.3 - Диалоговое окно "Шифрование базы данных под именем" 23
Если для базы данных определена защита на уровне пользователей, то для ее шифрования или дешифрования необходимо иметь разрешение на изменение макета для всех таблиц базы данных. В противном случае попытка шифрования или дешифрования окажется неудачной. Шифрование базы данных не препятствует доступу к ней легальных пользователей или групп. Разрешение на доступ к объектам являются частью системы защиты базы данных на уровне пользователей. Администрирование защищенных баз данных и проектов Существует несколько способов защиты базы данных Access от несанкционированного доступа: − база данных может быть защищена паролем; − для базы данных Access 2000 может быть установлена система защиты на уровне пользователей. Защита базы данных Access с помощью пароля Самый простой способ защиты базы данных — с помощью пароля. Можно назначить пароль базе данных Access, который будет требоваться всякий раз при ее открытии. Установка и снятие пароля защиты базы данных Чтобы установить пароль для защиты базы данных: 1. Закройте базу данных. Если база данных совместно используется в сети, убедитесь, что остальные пользователи ее закрыли. 2. Сделайте резервную копию базы данных и сохраните ее в надежном месте. 3. В меню Access выберите команду Файл, Открыть. 4. Выделите файл базы данных. 5. Щелкните по стрелке, расположенной справа от кнопки Открыть. В раскрывающемся списке режимов открытия базы данных выделите элемент Монопольно. База данных откроется в режиме монопольного доступа. 6. Выберите команду Сервис, Защита, Задать пароль базы данных. Появится диалоговое окно Задание пароля базы данных.
24
7. В поле Пароль введите пароль для защиты базы данных с учетом регистра символов. 8. Введите пароль еще раз в поле Подтверждение. 9. Нажмите кнопку ОК. Теперь база данных защищена паролем и всякий раз, когда пользователь будет открывать базу данных, будет отображаться диалоговое окно с требованием ввести пароль. Запомните или сохраните пароль в надежном месте. Если пароль будет забыт, невозможно будет открыть базу данных. Замечание Не защищайте базу данных паролем перед ее репликацией, иначе ее нельзя будет синхронизировать с другими репликами. Если база данных защищена на уровне пользователей, установить пароль для ее открытия может только пользователь, обладающий административными правами. Установка пароля не влияет на систему защиты на уровне пользователя. Эти два способа защиты могут использоваться одновременно. Пароль базы данных сохраняется в базе данных, а не в файле рабочей группы. Чтобы удалить пароль защиты базы данных: 1. Откройте базу данных в режиме монопольного доступа. 2. В диалоговое окно Необходимо ввести пароль введите пароль. 3. Выберите команду Сервис, Защита, Удалить пароль базы данных. Появится диалоговое окно Удаление пароля базы данных. 4. Введите текущий пароль базы данных. 5. Нажмите кнопку ОК. Администрирование баз данных Access, защищенных на уровне пользователей В задачу администрирования базы данных, защищенной на уровне пользователей, входит выполнение следующих действий: − подключение файла рабочей группы для работы с защищенной базой данных или проектом Access 2000;
25
− добавление нового пользователя в рабочую группу и задание для него прав доступа к объектам и прав на владение объектами базы данных (это осуществляется обычно включением его в состав определенных групп внутри рабочей группы); − добавление новой группы пользователей в рабочую группу и задание для нее прав доступа к объектам базы данных; − удаление учетной записи пользователя из файла рабочей группы; − удаление учетной записи группы из файла рабочей группы; − изменение пароля пользователя; − восстановление испорченного файла рабочей группы из резервной копии или путем его воссоздания, используя специально сохраненную информацию об учетных записях пользователей и рабочих групп (включающую имена пользователей и групп и их персональные идентификаторы (PID)). Внимание! Задачи администрирования, касающиеся защиты приложения на уровне пользователей, может выполнять только пользователь, обладающий административными правами. В Access административными правами автоматически наделяются пользователи встроенной группы Admins. Остальным пользователям разрешено только изменять пароль своей учетной записи и получать отчет со списком пользователей и групп рабочей группы. Использование файла рабочей группы Рабочей группой в Access называется группа пользователей сети, совместно использующих одну или несколько баз данных Access. Если база данных защищена на уровне пользователей, в файл рабочей группы записываются учетные записи пользователей и групп, входящих в рабочую группу. Пароли пользователей также хранятся в файле рабочей группы. Учетным записям в рабочей группе могут быть назначены права доступа к базе данных и ее объектам (таблицам, запросам, формам, отчетам и макросам). Права доступа сохраняются в защищенной базе данных. Создание и подключение файла рабочей группы производится с помощью служебной программы, которая поставляется вместе с
26
Microsoft Access 2000 и называется Администратор рабочих групп или с помощью Мастера защиты. Восстановление файла рабочей группы производится путем его воссоздания по сохраненной информации. Управление учетными записями Управление учетными записями включает следующие действия: − добавление или удаление учетной записи пользователя; − добавление администратора;
или
удаление
учетной
записи
пользователя-
− добавление или удаление учетной записи группы пользователей; − добавление пользователя в группу или удаление пользователя из группы; − изменение пароля учетной записи пользователя. Все перечисленные действия можно выполнить в Access с помощью диалогового окна Пользователи и группы. Чтобы открыть диалоговое окно для управления учетными записями: 1. Удостоверьтесь, что нужный файл рабочей группы присоединен к Access или базе данных. 2. Откройте базу данных и зарегистрируйтесь с помощью учетной записи, обладающей административными правами (это может быть, например, встроенная учетная запись Admin). 3. Выберите команду Сервис, Защита, Пользователи и группы. Появится диалоговое окно Пользователи и группы (рисунок 2.4).
Рисунок 2.4 - Диалоговое окно "Пользователи и группы" 27
Рассмотрим процедуры выполнения действий с учетными записями с помощью диалогового окна, представленного на рисунке 2.4. Чтобы эти действия повлияли на систему защиты базы данных, после их выполнения необходимо нажать кнопку Применить или ОК в диалоговом окне Пользователи и группы. Чтобы добавить учетную запись пользователя: 1. На вкладке Пользователи нажмите кнопку Создать. 2. Появится диалоговое окно Новый пользователь или группа (рисунок 2.5). 3. В поле Имя введите имя пользователя, а в поле Код идентификатор пользователя. Нажмите кнопку ОК.
Рисунок 2.5 - Диалоговое окно "Новый пользователь или группа"
Имя пользователя может включать от одного до двадцати символов. В имени можно использовать буквы, цифры, символы акцента, пробелы и любые другие символы, кроме символов " \ [ ]: I <> + = ;,.?*. Нельзя также использовать ведущие пробелы и управляющие символы (т.е. символы, ASCII-код которых находится в пределах от 10 до 31). Необходимо ввести имя пользователя с учетом регистра и запомнить или записать его, поскольку это информация нужна для успешной регистрации в базе данных и для восстановления файла рабочей группы в случае его повреждения.
28
Идентификатор пользователя представляет собой последовательность от 4 до 20 символов. Идентификатор пользователя не является паролем пользователя. Вместе с именем пользователя он используется в алгоритме шифрования для вычисления идентификатора защиты учетной записи. Идентификатор пользователя, так же как идентификатор группы, есть способ идентификации учетной записи в системе защиты приложения. Если файл рабочей группы будет поврежден, учетные записи в нем можно будет воссоздать, если известны их идентификаторы. Чтобы удалить учетную запись пользователя: 1. На вкладке Пользователи в раскрывающемся списке Имя выберите имя пользователя, соответствующее удаляемой учетной записи. 2. Нажмите кнопку Удалить. Появится диалоговое окно, требующее подтверждения удаления учетной записи. Нажмите кнопку ОК. Чтобы добавить пользователя в группу: 1. На вкладке Пользователи в раскрывающемся списке Имя выберите имя пользователя, которого нужно добавить в некоторую группу. В списке Участие в группе отобразится список групп, в которые включена учетная запись пользователя. 2. В списке Имеющиеся группы отображаются все группы, имеющиеся в файле рабочей группы. Выделите в этом списке группу, в которую нужно добавить пользователя. 3. Нажмите кнопку Добавить (эта кнопка отмечена стрелками вправо). Выделенное имя группы появится в списке Участие в группе. Чтобы удалить пользователя из группы: 1. На вкладке Пользователи в раскрывающемся списке Имя выберите имя пользователя, которого нужно удалить из некоторой группы. 2. В списке Участие в группе отобразится список групп, в которые включена учетная запись пользователя. Выделите в этом списке группу, из которой нужно удалить пользователя. 3. Нажмите кнопку Удалить (эта кнопка отмечена стрелками влево). Выделенное имя группы будет удалено из списка Участие в группе.
29
Чтобы добавить учетную запись пользователя-администратора: 1. Создайте новую учетную запись пользователя. 2. Добавьте пользователя в группу Admins. Чтобы удалить учетную запись пользователя-администратора: 1. Выделите учетную запись пользователя-администратора. 2. Удалите пользователя из группы Admins или удалите учетную запись пользователя. Чтобы добавить учетную запись группы: 1. Раскройте вкладку Группы и нажмите кнопку Создать. 2. Появится диалоговое окно Новый пользователь или группа. 3. Введите в поле Имя имя группы, а в поле Код — идентификатор группы. Нажмите кнопку ОК. Чтобы удалить учетную запись группы: 1. На вкладке Группы в раскрывающемся списке Имя выберите имя группы, которую нужно удалить. 2. Нажмите кнопку Удалить. Появится диалоговое окно, требующее подтверждения удаления учетной записи. Нажмите кнопку ОК. Замечание Невозможно удалить системные группы Admins и Users и системную учетную запись пользователя Admin, но можно удалить системную учетную запись пользователя Admin из группы Admins. Однако в группе Admins обязательно должен быть хотя бы один пользователь и никакую учетную запись пользователя нельзя удалить из группы Users. Чтобы задать или изменить пароль пользователя: 1. Откройте базу данных и зарегистрируйтесь пользователя, пароль которого нужно изменить.
с
именем
2. Выберите команду Сервис, Защита, Пользователи и группы. Появится диалоговое окно Пользователи и группы. 3. Раскройте вкладку Изменение пароля.
30
4. В поле Пользователь отображается имя пользователя, которое было использовано при регистрации. В поле Текущий пароль введите текущий пароль пользователя. Если пароль пользователя не был задан, оставьте это поле пустым. 5. В поля Новый пароль и Подтверждение введите новый пароль пользователя. Нажмите кнопку ОК. Чтобы заменить пароль пользователя пустым паролем: 1. Откройте диалоговое окно Пользователи и группы. 2. На вкладке Пользователи в раскрывающемся списке Имя выберите имя пользователя, пароль которого нужно удалить. 3. Нажмите кнопку Снять пароль. Чтобы получить отчет со списком пользователей и групп рабочей группы: 1. Откройте диалоговое окно Пользователи и группы. 2. На вкладке Пользователи нажмите кнопку Распечатать отчет. Изменение прав доступа к объектам базы данных Назначение прав доступа к объектам базы данных для учётных записей, хранящихся в файле рабочей группы, выполняется в Access с помощью диалогового окна Разрешения. Чтобы открыть диалоговое окно для назначения прав доступа к объектам базы данных: 1. Откройте защищённую необходимый файл рабочей группы.
базу
данных,
подключив
2. Зарегистрируйтесь с именем пользователя, обладающего административными правами. 3. Выберите команду Сервис, Защита, Разрешения. Появится диалоговое окно Разрешения. В диалоговом окне Разрешения есть две вкладки: Разрешения и Смена владельца. Рассмотрим вкладку Разрешения. С помощью этой вкладки можно определить права доступа к конкретным объектам базы данных для конкретных пользователей и групп. В поле Пользователь отображается имя пользователя, которое было использовано для 31
регистрации в момент открытия базы данных. В зависимости от того, обладает ли текущий пользователь административными правами, ему будет позволен или запрещён просмотр и изменение прав доступа к объектам базы данных. Чтобы назначить права доступа к объектам базы данных конкретной группе: 1. На вкладке Разрешения выберите переключатель Группы. 2. В списке Пользователи и группы отобразится список всех групп в рабочей группе. Выделите в этом списке группу, права доступа которой нужно изменить. 3. Измените права доступа к объектам базы данных и нажмите ОК. Чтобы назначить права доступа к объекту базы данных конкретному пользователю: 1. На вкладке Разрешения выберите переключатель Пользователи. 2. В списке Пользователи и группы отобразится список всех пользователей в рабочей группе. Выделите в этом списке пользователя, права доступа которого нужно изменить. 3. Измените права доступа к объектам базы данных и нажмите кнопку ОК. Чтобы назначить выбранному пользователю или доступа к объекту базы данных:
группе права
1. На вкладке Разрешения в раскрывающемся списке Тип объекта выберите тип объекта (Таблица, Запрос, Форма, Отчет или Макрос). 2. В списке Имя объекта выделите имя объекта, права доступа к которому нужно изменить. 3. Чтобы предоставить определенный вид доступа, установите соответствующий флажок в группе Разрешения. Чтобы запретить определенный вид доступа, сбросьте соответствующий флажок в этой группе. 4. Нажмите кнопку Применить, иначе при выборе другого пользователя или группы появится диалоговое окно, требующее
32
подтверждения сделанных изменений. Чтобы подтвердить изменения, нажмите кнопку Да. Чтобы назначить пользователю или группе права доступа к базе данных: 1. На вкладке Разрешения в раскрывающемся списке Тип объекта выберите элемент База данных. 2. В списке Имя объекта отобразится элемент <Текущая база данных> . 3. Установите Применить.
необходимые
разрешения
и
нажмите
кнопку
Чтобы назначить права доступа к создаваемым объектам базы данных, предоставляемые пользователю или группе: 1. На вкладке Разрешения в раскрывающемся списке Тип объекта выберите тип объекта (например, Форма). 2. В списке Имя объекта выделите элемент, обозначающий новые объекты заданного типа, права доступа к которым требуется изменить (например, <Новые формы>). 3. Установите Применить.
необходимые
разрешения
и
нажмите
кнопку
Практическая часть 1. Для разработанного в лабораторной работе № 1 фрагмента базы данных установите пароль, зашифруйте базу данных. Сделайте необходимые распечатки, демонстрирующие эффективность примененных способов защиты базы данных. Сформулируйте выводы относительности возможности использования этих способов при эксплуатации БД в архивах. 2. Удалите пароль базы данных. Подтвердите соответствующей распечаткой проделанные действия. 3. Определить политику защиты для разработанного бригадой в лабораторной работе № 1 фрагмента базы данных (далее БД). Для этого предварительно выделить в соответствии с должностными обязанностями основные функциональные группы специалистов архива, которые 33
предположительно будут работать с этой БД, например, сотрудники читального зала, программисты, заведующий архивом, специалисты, занимающиеся пополнением данных БД. Кроме того, следует определить рабочие группы пользователей. Они формируются по типам операций, которые необходимо осуществить с данными, например, только чтение, чтение и обновление данных, все разрешения на операции с данными и т.д. 4. Установить защиту БД на уровне пользователей с помощью Мастера защиты. Для этого необходимо произвести следующие действия: • выбрать команду Сервис, Защита, Мастер; • на вопрос: «Создать файл рабочей группы или изменить текущий файл?» выбрать вариант «Создать файл рабочей группы»; • в следующем окне Мастера защиты выбрать пункт «Создать ярлык для защищенной базы данных». В противном случае создаваемый файл рабочей группы будет использован по умолчанию для всех пользователей MS Access; • далее следует указать, что должны быть защищены все объекты базы данных. Этот вариант действий установлен по умолчанию. В случае снятия какого-либо флажка доступ к соответствующему объекту БД может получить любой пользователь системы; • в следующем окне Мастера защиты необходимо указать сформированные ранее рабочие группы пользователей (см. пункт 3); • запретить какие-либо разрешения для группы Users. Все пользователи входят в эту группу, поэтому установка каких-либо разрешений приведет к наличию этих разрешений для всех категорий пользователей; • далее следует добавить созданные ранее функциональные группы пользователей (см. пункт 3) и назначить для них пароли; • после этого необходимо указать, в какие рабочие группы входят функциональные группы пользователей; • принять заданное по умолчанию имя резервной копии незащищенной БД;
34
• осуществить публикацию сформированного отчета Мастера защиты в MS Word. 5. Распечатайте отчет о защите БД. Закройте БД и Access. 6. Выполните попытки открытия БД для нескольких пользователей, являющихся членами рабочей группы БД. Для каждого из них проделайте действия, разрешенные и неразрешенные для группы, к которой принадлежит этот пользователь. Подтвердите соответствующими распечатками проделанные действия. Сделайте вывод об эффективности защиты БД на уровне пользователей и целесообразности ее применения в БД архивов. Закройте БД и Access. 7. Добавьте учетную запись нового пользователя. Включите его в одну из имеющихся групп пользователей. Задайте для него пароль. Подтвердите соответствующими распечатками проделанные действия. 8. Разграничьте права доступа нового пользователя и ранее созданного пользователя таким образом, чтобы ранее созданный пользователь, например, имел разрешение на чтение первых трех таблиц БД и запрет на чтение последующих таблиц, а новому пользователю, наоборот, запретить чтение первых трех таблиц БД и разрешить чтение последующих таблиц. Подтвердите соответствующими распечатками проделанные действия. Приведите пример практической ситуации, в которой могли бы потребоваться действия, рассмотренные в п.п.7, 8 практической части лабораторной работы. 9. Оформите отчет. Отчет должен содержать: название и цель лабораторной работы, сделанные при выполнении практической части распечатки и выводы, общий вывод по работе. Контрольные вопросы 1. Какие вопросы следует решить для определения политики защиты? 2. Права доступа какого типа могут быть пользователю? Дайте определение типов прав доступа.
предоставлены
3. Одинаково ли содержание понятия блокировки данных и защиты данных? 4. С какой целью может быть использовано шифрование данных? 5. Каково содержание термина "политика наименьших ограничений"? 35
Содержание Лабораторная работа 1. Организация общего доступа к базе данных Microsoft Ассеss.................................................................................................... 3 Лабораторная работа 2. Защита сетевого приложения .................................. 14
36