Системы управления базами данных (I часть) Защита данных. Администрирование БД. Лекции доступны на сайте www.ucit.ru В разделе сайта: Профессиональная переподготовка Рабочие программы Защита данных. Защита данных - это комплекс мероприятий, предназначенных обеспечения целостности, непротиворечивости, для секретности и безопасности данных. Целостность - это свойство данных, которое заключается в нахождении значений данных в установленных диапазонах. Непротиворечивость - это свойство данных, которое заключается в отсутствии копии данных находящихся на разных стадиях обновления. Безопасность - это свойство данных, которое заключается в которое заключается в невозможности их физического уничтожения. Секретность - это свойство данных, невозможности несанкционированного доступа и использования (т.е. без ведома их владельца). Классификация причин нарушения работы БД Случайные (неумышленные): Неслучайные (умышленные): сбои в работе оборудования, ошибки в работе программных средств, ошибки ввода/вывода, действия физических полей, стихийные бедствия, халатность работников корыстные и некорыстные Защита целостности непротиворечивости 1. и Минимальная избыточность данных. 2. Ограничение доступа 3. Ограничение обработки 4. Ведение системного журнала • Регистрация пользователей • Регистрация действий 5. Использование транзакций (Принцип Статус-кво) 6. Контрольные точки 7. Копирование данных 8. Управление параллельным доступом Минимальная избыточность данных означает отсутствие или минимальное присутствие дублирования данных. Ограничение доступа: 1.На уровне пользователей 2.На уровне данных Ограничение доступа на уровне пользователей Система имен пользователей, паролей и регистрация в системе обеспечивает права пользователя на доступ к системе. Каждый пользователь системы должен быть детерминирован. При входе выделяют две процедуры: 1.Процедура идентификации - проверка имени пользователя. 2.Процедура верификации - проверка пароля, т.е. правильности ввода имени. Возможны и такие современные методы как идентификация по отпечаткам пальцев, радужке глаза, видео, аудио- распознавание и т.д. 2НФ Пользователи БД Пользователи классифицируются по категориям, и каждая категория получает право работы с определенной областью доступа В системе обычно имеется 4 группы пользователей: 1. Администраторы (системные) - полные права доступа к данным 2. Общая (пользователи) - минимальный доступ 3. Владелец (собственник данных) - полное право доступа к данным 4. Группа - т.е. часть пользователей, которым владелец передал часть прав. Ограничение доступа на уровне данных Данные подразделяются на следующие категории: 1.системные (прозрачные или невидимые) - никто не должен иметь к ним доступ; 2.пользовательские. Ограничение обработки Выделяют ограничения на обработку 1.На уровне пользователей 2.На уровне данных Ограничение обработки на уровне пользователей Каждый пользователь наделяется правом на обработку только тех данных, к которым он имеет доступ. Данные подразделяются на определенные категории в соответствии с алгоритмами обработки этих данных. Ограничения, как правило, устанавливаются на следующие виды действий: •администрирование (как правило, изменение структуры); •чтение (просмотр); •запись; •модификация (изменение); •удаление; • добавление; •передача прав. Ведение системного журнала Ведение системного журнала предполагает: 1. Регистрацию каждого входа пользователя 2. Регистрация всех действий, которые совершил пользователь Использование транзакций ТРАНЗАКЦИЯ - неделимая с точки зрения воздействия на БД последовательность операторов манипулирования данными (чтения, удаления, вставки, модификации) такая что, либо результаты всех операторов, входящих в транзакцию, отображаются в БД, либо воздействие всех этих операторов полностью отсутствует. Транзакция - это последовательность операций над БД, рассматриваемых СУБД как единое целое. Транзакция или логическая единица работы, - это, в общем случае, последовательность ряда таких операций, которые преобразуют некоторое непротиворечивое непротиворечивое состояние, состояние но не базы данных гарантируют в другое сохранения непротиворечивости во все промежуточные моменты времени. Механизм транзакций Таб_н ФИ ом О Образов ание Код_ отд ……. ………. ……. …… 320 кортежей Код_отде Наим_отдела Отдел_раз ла мер О001 Информацион ный 320 Транзакции Для поддержания подобных ограничений целостности допускается их нарушение внутри транзакции с тем условием, чтобы к моменту завершения транзакции условия целостности были соблюдены. ограничения и В системах контроля с развитыми целостности каждая средствами транзакция начинается при целостном состоянии БД и должна оставить это состояние целостными после своего завершения. Транзакции В общем случае, транзакция – это совокупность изменений в БД, которые должны быть зафиксированы ВСЕ в БД, либо НИ ОДНОГО. Для работы с транзакциями используются два предложения: COMMIT (фиксировать), превращающее все предварительные обновления в окончательные ("зафиксированные"); ROLLBACK (откат), аннулирующее все предварительные обновления. Организация параллельной обработки данных Управление параллельным доступом - совокупность мероприятий по обеспечению целостности и непрерывности в системах коллективного пользования (в системах в которых возможен доступ одних и тех же пользователей к одним и тем же данным). Организация параллельной обработки данных Параллельный доступ - ситуация, когда несколько пользователей требуют доступа к одним и тем же ресурсам. Обработка системой транзакций, выполняемых одновременно называется параллелизмом. Возникающие при параллелизме проблемы Изменение данных может осуществлено без учета модификации, сделанной другим процессом. Изменение данных могут быть отменены одним процессом, в то время как модифицированными данными уже воспользовались для другого действия. Возникающие при параллелизме проблемы Одно действие может частично воздействовать на результат другого действия. Тупиковая ситуация, которая может произойти, если процессы попытаются выполнить конфликтующие друг с другом действия. Пример необходимости использования параллельного доступа Покупка авиабилетов с 2-х разных терминалов на один рейс Транзакция 1 Транзакция 2 Читать N N=N-1 Читать N Писать N N=N-1 Писать N Могут быть выписаны 2 билета на одно место Блокировка данных В СУБД присутствует средство управления параллелизмом, обеспечивающее одновременный доступ к таблице (строке, полю) не более чем одной транзакции в данный момент времени. Блокировка данных Блокировки задерживают определенные операции с БД, пока другие операции или транзакции не завершены. Транзакция 1 Транзакция 2 LOCK N Читать N LOCK N N=N-1 Писать N UNLOCK N Читать N N=N-1 Писать N UNLOCK N Введение блокировок Решение проблемы управления параллельным доступом заключается ВВЕДЕНИЕМ БЛОКИРОВОК - запрет доступа ко всем другим транзакций кроме той, которая заблокирована. Размер блокируемого элемента может определяться и влияет на производительность системы. Введение блокировок ведет к возникновению тупиков и бесконечных ожиданий. Борьба с тупиками и бесконечными ожиданиями Блокировка всех элементов данных. Упорядочение элементов данных и запрос блокировок в этом порядке. Использование планировщика транзакций Использование контрольных точек. Контрольная точка - это фиксация состояния системы в некоторый момент времени. В случае обнаружения ошибок откат программы происходит к ближайшей контрольной точке. Но это требует дополнительного расхода памяти и времени. (SAVEPOINT) Борьба с тупиками и бесконечными ожиданиями Использование протоколов (это некоторое ограничение на порядок выполнения транзакций). Ничего не делать по предотвращению тупиков, но осуществлять постоянный контроль состояния процесса и, в случае обнаружения тупика или блокировки, предпринимать конкретные меры по выводу из этого состояния. Журнализация изменений БД Для выполнения восстановлений БД после сбоя необходима некоторая дополнительная информация. В подавляющем большинстве современных реляционных СУБД такая избыточная дополнительная информация поддерживается в виде журнала изменений базы данных. Журнализация изменений БД Общей целью журнализации изменений баз данных является обеспечение возможности восстановления согласованного состояния базы данных после любого сбоя. Поскольку основой поддержания целостного состояния базы данных является механизм транзакций, журнализация и восстановление тесно связаны с понятием транзакции. Журнализация изменений БД Общими принципами восстановления являются следующие: результаты зафиксированных транзакций должны быть сохранены в восстановленном состоянии базы данных; результаты незафиксированных транзакций должны отсутствовать в восстановленном состоянии базы данных. Это, собственно, и означает, что восстанавливается последнее по времени согласованное состояние базы данных. Схема выполнения транзакций Если Программа 1 выполняет обновление записи, то это изменение фиксируется на диске в сегменте отката. Пока не достигнута точка COMMIT, любой другой пользователь видит неизмененную запись. После команды COMMIT транзакция переписывается в журнал транзакций. Через буфер сервера СУБД обновленная запись БД запоминается в таблицах БД, т.е. изменения показываются другим пользвателям. Восстановление БД после сбоя во время После восстановления и транзакции Сегмент отката Откат перезагрузки после зависания в момент переписывания Начало транзакции из сегмента отката сегментав журнал транзакций СУБД автоматически пытается восстановить потерянные данные и целостность БД. 1.СУБД находит в журнале транзакций последнюю с конца файла отметку о перезаписи файла на диск и выполняет ДОКАТ базы данных (начиная с этой отметки и до конца файла) 2.СУБД выполняет ОТКАТ базы данных, чтобы устранить изменения, сделанные неполной транзакцией (читает с конца и до начала сегмента отката записи «до обновления» и записывает их в БД) Возможны следующие ситуации, при которых требуется производить восстановление состояния базы данных: 1. Индивидуальный откат транзакции. Тривиальной ситуацией отката транзакции является ее явное завершение оператором ROLLBACK. Возможны также ситуации, когда откат транзакции инициируется системой. Примерами могут быть возникновение исключительной ситуации в прикладной программе (например, деление на ноль) или выбор транзакции в качестве жертвы при обнаружении синхронизационного тупика. Для восстановления согласованного состояния базы данных при индивидуальном откате транзакции нужно устранить последствия операторов модификации базы данных, которые выполнялись в этой транзакции. 2. Восстановление после внезапной потери содержимого оперативной памяти (мягкий сбой). Такая ситуация может возникнуть при аварийном выключении электрического питания, при возникновении неустранимого сбоя процессора (например, срабатывании контроля оперативной памяти) и т.д. Ситуация характеризуется потерей той части базы данных, которая к моменту сбоя содержалась в буферах оперативной памяти. 3. Восстановление после поломки основного внешнего носителя базы данных (жесткий сбой). Эта ситуация при достаточно высокой надежности современных устройств внешней памяти может возникать сравнительно редко, но тем не менее, СУБД должна быть в состоянии восстановить базу данных даже и в этом случае. Основой восстановления является архивная копия и журнал изменений базы данных. Журнализация БД Во всех трех случаях основой восстановления является избыточное хранение данных. Эти избыточные данные хранятся в журнале, содержащем последовательность записей об изменении базы данных. Возможны два основных варианта ведения журнальной информации. 1.В первом варианте для каждой транзакции поддерживается отдельный локальный журнал изменений базы данных этой транзакцией. Эти локальные журналы используются для индивидуальных откатов транзакций и могут поддерживаться в оперативной (правильнее сказать, в виртуальной) памяти. Кроме того, поддерживается общий журнал изменений базы данных, используемый для восстановления состояния базы данных после мягких и жестких сбоев. Этот подход позволяет быстро выполнять индивидуальные откаты транзакций, но приводит к дублированию информации в локальных и общем журналах. Возможны два основных варианта ведения журнальной информации. 2. Чаще используется второй вариант - поддержание только общего журнала изменений базы данных, который используется и при выполнении индивидуальных откатов. Обеспечение секретности и 2 2 2 безопасности 5 6 8 2 КС - канал связи ЭВМ 1 4 1 1.Подключение к каналам связи. К РС Узлы коммутации 4 1 3 2.Сбор электромагнитного излучения. 3.Ошибки коммутации. 4.Перекрестные помехи. 5.Отключение системы защиты. 6.Сбор "мусора". 7.Подглядывание, подслушивание. 8.Внесение ошибок в программные средства защиты и обработки данных. К РС К РС 1 РС – рабочая станция 5 6 7 Возможные нарушители Категории лиц, могущие стать нарушителями системной защиты: 1.Пользователи. 2.Обслуживающий персонал: •Программисты. •Электронщики. •Вспомогательные подразделения. 3.Сторонние лица. Принципы построения системы защиты 1. Простота. 2. Открытость механизма защиты. 3. Разделение полномочий. 4. Минимальность полномочий. 5. Максимальная обособленность механизма защиты. 6. Психологическая привлекательность. Администрирование БД Ведение БД: индексирование, модификация, реорганизация. резервное копирование, С базой данных, как правило, взаимодействуют несколько пользователей. Эти пользователи в организации могут выполнять совершенно различные функции, иметь различные представления об используемых данных, но пользоваться ими одновременно. Поэтому при эксплуатации БД крайне необходим учет различных требований и наличие алгоритма разрешения конфликтов. Необходимо ввести долгосрочную функцию администрирования, направленную на координацию и выполнение всех этапов проектирования, реализации и ведения интегрированной базы данных. В соответствии с этой функцией на определенных лиц возлагается ответственность за сохранность такого важного ресурса, как данные. Администратор БД Администратором базы данных (АБД) называется лицо, ответственное за выполнение функции администрирования базы данных. Администрирование базы данных предполагает обслуживание пользователей базы данных. АБД защищает ресурсы, которые называются данными. Уровень АБД в иерархии организации должен быть достаточно высоким, чтобы он мог определять структуру данных и право доступа к ним и нести за это ответственность. АБД обязан хорошо представлять себе, как работает предприятие и как оно использует данные. Важным является понимание предметной области, а также умение общаться с людьми. АБД должен координировать действия по сбору сведений, проектированию и эксплуатации базы данных, а также по обеспечению защиты данных. АБД обязан учитывать как перспективные, так и текущие информационные требования предметной области. Правильная реализация функций администрирования БД существенно улучшает контроль и управление ресурсами Задачи и функции администратора БД 1. Проектирует концептуальные модели 2. Принимает участие в тестировании 3. Организует обучение пользователей 4. Разрабатывает стандарты на обозначение элементов данных и на процедуры обработки. 5. Защита данных. 6. Регистрация пользователей. 7. Установка периодичности копирования БД 8. Реорганизация базы данных Задачи системного администрирования •создание резервных копий файлов (для баз данных и проектов Access); •периодическое сжатие файлов (для баз данных); •защита файлов средствами шифрования (для баз данных); •изменение пароля для открытия файла (для баз данных); •управление учетными записями и правами доступа для приложений, защищённых на уровне пользователей (для баз данных и проектов) Установка и управление параметрами системы защиты на уровне пользователей для баз данных выполняются средствами Access, а для проектов — средствами SQL Server.; •установка приложения, разделенного на файл объектов данных и файл объектов приложения, на новую рабочую станцию и обновление ссылок на связанные таблицы (для баз данных); •установка клиентского приложения на новую рабочую станцию и корректное подключение ее к базе данных, установленной на сервере (для проектов). Безопасность и санкционирование доступа В контексте баз данных термин БЕЗОПАСНОСТЬ означает защиту данных от несанкционированного раскрытия, изменения или уничтожения. SQL позволяет индивидуально защищать как целые таблицы, так и отдельные их поля. Для этого имеются две более или менее независимые возможности: 1.механизм представлений, используемый для скрытия засекреченных данных от пользователей, не обладающих правом доступа; 2.подсистема санкционирования доступа, позволяющая предоставить указанным пользователям определенные привилегии на доступ к данным и дать им возможность избирательно и динамически передавать часть выделенных привилегий другим пользователям, отменяя впоследствии эти привилегии, если потребуется. Обычно при установке СУБД в нее вводится какой-то ИДЕНТИФИКАТОР, который должен далее рассматриваться как идентификатор наиболее привилегированного пользователя - системного администратора. Каждый, кто может войти в систему с этим идентификатором (и может выдержать тесты на достоверность), будет считаться системным администратором до выхода из системы. Системный администратор может создавать базы данных и имеет все привилегии на их использование. Эти привилегии или их часть могут предоставляться другим пользователям (пользователям с другими идентификаторами). В свою очередь, пользователи, получившие привилегии от системного администратора, могут передать их (или их часть) другим пользователям, которые могут их передать следующим и т.д. Предоставление привилегий Привилегии предоставляются с помощью предложения GRANT (предоставить) Общий формат: GRANT привилегии ON объект TO пользователи; "привилегии" – это список, состоящий из одной или нескольких привилегий, разделенных запятыми, либо фраза ALL PRIVILEGES (все привилегии); "объект" - имя и, если надо, тип объекта (база данных, таблица, представление, индекс и т.п.); "пользователи" - список, включающий один или более идентификаторов санкционирования, разделенных запятыми, либо специальное ключевое слово PUBLIC (общедоступный). Привилегии таблиц К таблицам (представлениям) относятся привилегии SELECT, DELETE, INSERT и UPDATE [(столбцы)], позволяющие соответственно считывать (выполнять любые операции, в которых используется SELECT), удалять, добавлять или изменять строки указанной таблицы (изменение можно ограничить конкретными столбцами). Например, предложение GRANT SELECT, UPDATE (Наим_дет) ON Детали TO vvu; позволяет пользователю, который представился системе идентификатором vvu, использовать информацию из таблицы Детали, но изменять в ней он может только значения столбца Наим_дет. Отмена привилегий Если пользователь USER_1 предоставил какие-либо привилегии другому пользователю USER_2, то он может впоследствии отменить все или некоторые из этих привилегий. Отмена осуществляется с помощью предложения REVOKE (отменить), общий формат которого очень похож на формат предложения GRANT: REVOKE привилегии ON объект FROM пользователи; Например, можно отобрать у пользователя user1 право изменения значений столбца Наим_дет: REVOKE UPDATE (Наим_дет) ON Детали FROM user1; Реорганизация базы данных Любое изменение в структуре данных называется РЕОРГАНИЗАЦИЕЙ БД. Различают реорганизацию на 3-х уровнях: - концептуальный; - логический; - физический. Как правило, реорганизация на каком-то уровне влечет реорганизацию на ниже лежащих уровнях: • Реорганизация на концептуальном уровне влечет расширение предметной области. • Реорганизация на логическом уровне влечет смену старой системы, уточнение логической модели. • Реорганизация на физическом уровне влечет увеличение скорости доступа, изменение структуры хранения (смена носителя, переполнение пространства). Функции АБД по реорганизации БД Администратор БД выполняет следующие функции: 1. определяет необходимость проведения реорганизации 2. определяет время проведения реорганизации 3. определяет метод проведения реорганизации 4. определяет персонал для проведения реорганизации 5. устраняет последствия проведения реорганизации Методы реорганизации БД 1. реорганизация на месте 2. реорганизация с выгрузкой-загрузкой 3. реорганизация приращениями 4. реорганизации параллельно с эксплуатацией Копирование БД Копирование данных позволяет восстановить состояние базы данных в случае нарушения ее целостности (после жесткого сбоя). Рекомендуется иметь три копии данных: "дед", "отец" и "сын". Интервал между копированием устанавливается в зависимости от динамики данных. Все копии должны храниться в разных местах. Архивирование, сжатие и восстановление баз данных Сжатие и восстановление базы данных объединены в один процесс. Есть несколько путей создания резервной копии базы данных или проекта. 1.При наличии достаточного объема свободного места на диске можно создать резервную копию обычным копированием файла. Замечание Если в базе данных установлена защита на уровне пользователей, необходимо создать также резервную копию соответствующего файла рабочей группы операцией копирования или архивирования соответствующего файла с расширением mdw. 2. возможность создания резервной копии средствами Access с помощью команды Сервис, Служебные программы, Резервная копия базы данных Сжатие базы данных или проекта Access При удалении данных или объектов файл базы данных или проекта Access становится фрагментированным, это приводит к тому, что дисковое пространство используется неэффективно. Сжатие базы данных или проекта позволяет получить копию, в которой данные и объекты сохраняются более рационально, что значительно экономит место на диске. Сжатие повышает производительность баз данных и проектов Access. Однако сжатие проекта не влияет на объекты, такие как представления и таблицы, хранящиеся в базе данных на SQL Server. Сжатие проекта не влияет также на таблицы, содержащие поле счетчика в проектах Access, как это происходит с базами данных. Если из базы данных, перед сжатием из таблицы, содержащей поле счетчика, были удалены последние записи, после сжатия номер первой пустой записи сбрасывается. Добавленная после этого запись получит в поле счетчика номер, на единицу превышающий значение счетчика в последней оставшейся записи. Чтобы сжать открытую базу данных или проект Access: Перед сжатием сетевой базы данных, расположенной в общей папке или на сервере, убедитесь, что она не открыта другими пользователями. Выберите команду Сервис, Служебные программы, Сжать и восстановить базу данных Чтобы сжать закрытую в данный момент базу данных или проект Access: 1.Если в данный момент открыта другая база данных или проект Access, закройте ее (его). Если база данных или проект расположены в общей папке или на сервере, убедитесь, что они не открыты другими пользователями. 2.Выберите команду Сервис, Служебные программы, Сжать и восстановить базу данных. 3.Появится диалоговое окно База данных для сжатия, похожее на окно открытия базы данных. Укажите базу данных или проект, который необходимо сжать, и нажмите кнопку Сжать. Процесс сжатия можно прервать с помощью комбинации клавиш <Ctrl>+<Break> или клавиши <Esc>. Можно настроить Access так, чтобы конкретная база данных или проект автоматически сжимались при закрытии. Чтобы установить автоматическое сжатие базы данных Access : 1.Откройте базу данных, которую нужно сжать. 2.Выберите команду Сервис, Параметры. В появившемся диалоговом окне Параметры раскройте вкладку Общие. 3.Установите флажок Сжимать при закрытии и нажмите кнопку ОК. 4.Установка автоматического сжатия проекта Access выполняется аналогично. Замечание Автоматическое сжатие не происходит, если при этом размер базы данных (или проекта) не будет уменьшен, по крайней мере, на 256 Кбайт, а также, если эта база данных (или проект) в текущий момент открыта другим пользователем в сети. Восстановление поврежденной базы данных В большинстве случаев Microsoft Access определяет, что база данных повреждена, при попытке открыть, зашифровать или дешифровать ее. Тогда пользователю предоставляется возможность восстановить базу данных, выполнив ее сжатие. Но в некоторых ситуациях не удается определить, что база данных повреждена. Если база данных ведет себя непредсказуемым образом, выполните ее сжатие. При серьезных завершению проблемах, работы Access, которые это приводят приложение к вынужденному перезапускается и автоматически создается резервная копия открытой базы данных или проекта Access с тем же именем и расширением, что и исходный файл, только с суффиксом _Backup (резервный). Защита информации с помощью шифрования Защита информации в базе данных Access производится с помощью операции шифрования. Операция шифрования в Access приводит к сжатию файла базы данных. После выполнения операции шифрования просмотр данных с помощью специальных программ и текстовых редакторов становится невозможен. Операция дешифрования отменяет результаты операции шифрования. Операция шифрования или дешифрования неприменима к открытой базе данных. Если база данных используется в сети, то, прежде чем приступить к выполнению операции шифрования или дешифрования, убедитесь, что она не открыта ни одним из пользователей. Чтобы выполнить операцию шифрования или дешифрования: Запустите Access, не открывая базу данных. 1.Выберите команду Сервис, Защита, Закодировать/Раскодировать базу данных 2.Появится диалоговое окно База данных для кодирования или раскодирования. Укажите имя базы данных, которую требуется зашифровать или дешифровать, и нажмите кнопку ОК. 3.Если выбранная на предыдущем шаге база данных не является зашифрованной, появится диалоговое окно Кодирование базы данных под именем, иначе появится диалоговое окно Раскодирование базы данных под именем. Укажите имя, диск и папку для конечной базы данных и нажмите кнопку Сохранить. Если для базы пользователей, то данных определена для шифрования ее защита или на уровне дешифрования необходимо быть владельцем базы данных или входить в группу Admins и иметь разрешение на монопольное открытие базы данных. В противном случае попытка шифрования или дешифрования окажется неудачной. Шифрование базы данных не препятствует доступу к ней легальных пользователей или групп в Access. Разрешения на доступ к объектам являются частью системы защиты базы данных на уровне пользователей. Защита БД от несанкционированного доступа Существует несколько способов защиты базы данных Access от несанкционированного доступа: 1.база данных может быть защищена паролем; 2.для базы данных Access может быть установлена система защиты на уровне пользователей; 3.программный код на VBA может быть защищен паролем. Защита базы данных Access с помощью пароля Самый простой способ защиты базы данных — с помощью пароля. Можно назначить пароль базе данных Access, который будет требоваться всякий раз при ее открытии. Если база данных защищена паролем, то всякий раз, когда пользователь будет открывать базу данных, будет отображаться диалоговое окно с требованием ввести пароль. Запомните или сохраните пароль в надежном месте. Если вы забудете пароль, базу данных будет невозможно открыть. Установка и снятие пароля защиты базы данных Чтобы установить пароль для защиты базы данных: 1.Закройте базу данных. Если база данных совместно используется в сети, убедитесь, что остальные пользователи ее закрыли. 2.Сделайте резервную копию базы данных и сохраните ее в надежном месте. 3.В меню Access выберите команду Файл, Открыть. 4.Выделите файл базы данных. 5.Щелкните по стрелке, расположенной справа от кнопки Открыть. В раскрывающемся списке режимов открытия базы данных выделите элемент Монопольно. База данных откроется в режиме монопольного доступа. 6.Выберите команду Сервис, Защита, Задать пароль базы данных. 7.В появившемся диалоговом окне введите в поле Пароль пароль для защиты базы данных с учетом регистра символов. 8.Введите пароль еще раз в поле Подтверждение. 9.Нажмите кнопку ОК. Администрирование баз данных Access, защищенных на уровне пользователей В задачу администрирования базы данных, защищенной на уровне пользователей, входит выполнение следующих действий: •подключение файла рабочей группы для работы с защищенной базой данных; •добавление нового пользователя в рабочую группу и задание для него прав доступа к объектам и прав на владение объектами базы данных (это осуществляется обычно включением его в состав определенных групп внутри рабочей группы); •добавление новой группы пользователей в рабочую группу и задание для нее прав доступа к объектам базы данных; •удаление учетной записи пользователя из файла рабочей группы; •удаление учетной записи группы из файла рабочей группы; •изменение пароля пользователя; •восстановление испорченного файла рабочей группы из резервной копии или путем его воссоздания, используя специально сохраненную информацию об учетных записях пользователей и рабочих групп (включающую имена пользователей и групп и их персональные идентификаторы (PID)). Использование файла рабочей группы Рабочей группой в Access называется группа пользователей сети, совместно использующих одну или несколько баз данных Access. Если база данных защищена на уровне пользователей, в файл рабочей группы записываются учетные записи пользователей и групп, входящих в рабочую группу. Пароли пользователей также хранятся в файле рабочей группы. Учетным записям в рабочей группе могут быть назначены права доступа к базе данных и ее объектам (таблицам, запросам, формам, отчетам и макросам). Права доступа сохраняются в защищенной базе данных. Создание и подключение файла рабочей группы производится с помощью служебной программы, которая входит в состав Microsoft Access и называется Администратор рабочих групп. Восстановление файла рабочей группы сохраненной информации. производится путем его воссоздания по Администратор рабочих групп Сервис → Защита → Администратор рабочих групп 1. В поле Рабочая группа отображается имя текущего присоединенного файла рабочей группы Access. Чтобы присоединить другой файл рабочей группы, нажмите кнопку Связь. 2. Появится диалоговое окно Файл рабочей группы. Введите в поле Рабочая группа полное имя файла рабочих групп или нажмите кнопку Обзор, чтобы выбрать нужный файл. Нажмите кнопку ОК. 3. Нажмите кнопку ОК в окне с сообщением об успешном подключении файла В результате выполнения этих действий путь к файлу рабочей группы записывается в реестр как параметр Access. Это означает, что для всех баз данных, открываемых в Access, будет использована защита на уровне пользователей на основе присоединенного файла рабочей группы. По умолчанию к Access присоединен файл рабочей группы с именем System.mdw, хранящийся в папке, в которую установлен, или в папке с личными настройками пользователя Windows. Прежде чем проводить эксперименты с файлом рабочих групп Access, рекомендуется сделать резервную копию этого файла. Создание и восстановление файла рабочей группы Чтобы создать собственный файл рабочей группы: 1.Откройте Microsoft Access. 2.Запустите программу Администратор рабочих групп. 3.Появится диалоговое окно Администратор рабочих групп. Нажмите кнопку Создать. 4.Откроется диалоговое окно Сведения о владельце рабочей группы. В поля Имя и Организация введите название рабочей группы и организации. 5.В поле Код группы введите уникальный идентификатор группы, состоящий из букв и цифр. Этот идентификатор может включать до 20 символов. Однако в качестве идентификатора защиты рекомендуется использовать менее осмысленный набор символов, который сложнее угадать, чтобы обеспечить тем самым большую степень защищенности рабочей группы. Внимательно заполняйте поля с информацией о файле рабочей группы. Все три значения — имя, организация и код группы — интерпретируются с учетом регистра символов. Сохраните эту информацию в надежном месте, чтобы в случае повреждения файла рабочей группы его можно было восстановить. Если эта информация будет утрачена, при повреждении файла рабочей группы его невозможно будет восстановить, а это может привести к безвозвратной потере доступа к защищенным объектам базы данных. Управление учетными записями Управление учетными записями включает следующие действия: 1.добавление или удаление учетной записи пользователя; 2.добавление или удаление учетной записи пользователяадминистратора; 3.добавление или удаление учетной записи группы пользователей; 4.добавление пользователя в группу или удаление пользователя из группы; 5.изменение пароля учетной записи пользователя. Пользователи и группы 1. Удостоверьтесь, что нужный файл рабочей группы присоединен к Access или базе данных. 2. Откройте базу данных и зарегистрируйтесь с помощью учетной записи, обладающей административными правами (это может быть, например, встроенная учетная запись Admin). 3. Выберите команду Сервис, Защита, Пользователи и группы. Появится диалоговое окно Пользователи и группы Чтобы добавить учетную запись пользователя, нужно: 1.На вкладке Пользователи диалогового окна Пользователи и группы нажмите кнопку Создать. 2.Появится диалоговое окно Новый пользователь или группа. 3.Введите в поле Имя имя пользователя, а в поле Код— идентификатор пользователя. Нажмите кнопку ОК. Чтобы удалить учетную запись пользователя: 1.На вкладке Пользователи в раскрывающемся списке Имя выберите имя пользователя, соответствующее удаляемой учетной записи. 2.Нажмите кнопку Удалить. Появится диалоговое окно, требующее подтверждения удаления учетной записи. Нажмите кнопку Да. Чтобы добавить пользователя в группу: 1.На вкладке Пользователи в раскрывающемся списке Имя выберите имя пользователя, которого нужно добавить в некоторую группу. В списке Участие в группе отобразится список групп, в которые включена учетная запись пользователя. 2.В списке Имеющиеся группы отображаются все группы, имеющиеся в файле рабочей группы. Выделите в этом списке группу, в которую нужно добавить пользователя. 3.Нажмите кнопку Добавить (эта кнопка отмечена стрелками вправо). Выделенное имя группы появится в списке Участие в группе. Чтобы удалить пользователя из группы: 1.На вкладке Пользователи в раскрывающемся списке Имя выберите имя пользователя, которого нужно удалить из некоторой группы. 2.В списке Участие в группе отобразится список групп, в которые включена учетная запись пользователя. Выделите в этом списке группу, из которой нужно удалить пользователя. 3.Нажмите кнопку Удалить (эта кнопка отмечена стрелками влево). Выделенное имя группы будет удалено из списка Участие в группе. Чтобы задать или изменить пароль пользователя: 1.Откройте базу данных и зарегистрируйтесь с именем пользователя, пароль которого нужно изменить. 2.Выберите команду Сервис, Защита, Пользователи и группы. Появится диалоговое окно Пользователи и группы. 3.Раскройте вкладку Изменение пароля. 4.В поле Пользователь отображается имя пользователя, которое было использовано при регистрации. В поле Текущий пароль введите текущий пароль пользователя. Если пароль пользователя не был задан, оставьте это поле пустым. 5.В поля Новый пароль и Подтверждение введите новый пароль пользователя. Нажмите кнопку ОК. Назначение прав доступа к объектам БД Пользователям и группам пользователей рабочей группы можно назначить разные права для доступа к разным объектам базы данных, защищенной на уровне пользователей. Права доступа Разрешенные действия Объекты Открытие/запуск Открытие базы данных, формы или отчета, запуск макроса Открытие базы данных для монопольного доступа Просмотр объектов в режиме Конструктора Монопольный доступ Дополнительные права Базы данных, формы, отчеты и макросы Базы данных Таблицы, запросы, формы, отчеты и макросы Чтение макета, Изменение макета Просмотр и изменение Таблицы, макета объектов или запросы, Чтение данных, удаление объектов формы, отчеты Обновление и макросы данных, Удаление данных Чтение макета Права доступа Разрешенные Объекты Дополнительные действия права Базы данных, Все остальные Администратора Для баз данных — установка пароля базы таблицы, права данных, репликация запросы, базы данных и формы, отчеты изменение параметров и макросы запуска. Для объектов базы данных — все разрешения на объекты и данные, в том числе предоставление разрешений на доступ Таблицы и Чтение макета Чтение данных Просмотр данных запросы Права доступа Обновление данных Вставка данных Удаление данных Разрешенные действия Просмотр и изменение данных, но без их вставки или удаления Просмотр и вставка данных, но без их изменения и удаления Объекты Таблицы и запросы Дополнительны е права Чтение макета, Чтение данных Таблицы и запросы Чтение макета, Чтение данных Просмотр и удаление данных, но без их изменения и вставки Таблицы и запросы Чтение макета, Чтение данных