Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Защита данных в Access.doc
Скачиваний:
2
Добавлен:
01.05.2025
Размер:
116.22 Кб
Скачать

Настройка рабочих мест пользователей

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

Связь устанавливается с помощью все той же утилиты «Администратор рабочих групп». Запустите ее, нажмите кнопку «Связь...», в появившемся окне укажите путь к файлу рабочей группы и нажмите кнопку «OK» (рис. 7). Утилита откроет файл рабочей группы и выдаст соответствующее сообщение. Теперь Access на этой машине при запуске будет запрашивать имя пользователя.

Рис. 7. Установка связи с рабочей группой

Все! Система защиты на уровне пользователей построена. Чего же мы фактически добились? Главное — мы точно определили, кто с какими объектами имеет право работать и что конкретно может с ними делать. Пользователи больше не сумеют изменить или повредить конфиденциальные данные, а злоумышленники отныне обречены кусать локти от досады. Кроме того, никто не изменит код программы, а значит, ваши авторские права тоже надежно защищены. Правда, на достижение этого результата было потрачено немало сил, и защита не распространяется на отчуждаемые, «коробочные» прикладные системы.

Борьба за ущемление прав пользователей

Пользователь Admin

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

Действительно, утилита создаст в новом файле рабочей группы пользователя Admin, а Access после подключения к новой, «пустой», рабочей группе откроет базу данных для этого пользователя. И если вы определили для него неограниченные права, то он их и получит.

Самое забавное в том, что пользователя Admin удалить нельзя. Однако можно предоставить ему минимальные права доступа к базе данных и удалить его из группы Admins. Так вы устраните ещё одну лазейку в защите. Но не последнюю!

Дело в том, что пользователь Admin в заново созданном файле рабочей группы по умолчанию попадает в подгруппу Admins, а значит, сможет установить себе любые права доступа к чему угодно. «Красивого» пути решения этой проблемы, насколько мне известно, нет. Остается только удалить с рабочих станций программу администратора рабочих групп (она находится в папке Windows/System и называется Wrkgadm. exe; именно на неё и указывает ярлык в папке Office 97) и средствами сети закрыть от записи файл рабочей группы на сервере.

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

Владелец объекта

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

Для смены владельца объекта откройте нужную базу данных, войдите в меню «Сервис-Защита-Разрешения» и в знакомом диалоговом окне «Разрешения» перейдите на страницу «Смена владельца» (рис. 8).

Рис. 8. Смена владельца объекта

Выберите в соответствующих списках нужный тип объекта и затем сам объект, включите кнопку «Пользователи» или «Группы» в зависимости от того, требуется ли сделать владельцем объекта пользователя или сразу подгруппу (имейте в виду, что владельцем самой базы данных может быть только пользователь), задайте нового владельца в списке «Новый владелец» и нажмите кнопку «Сменить владельца».

Рис. 9. Можно предоставить всем пользователям права владельца на новые запросы

Внимание! Access позволяет сделать так, чтобы все пользователи автоматически получали права владельца на вновь созданные запросы (права будут распространяться на данные, но не на макет). Для этого откройте окно параметров (меню «Сервис?Параметры...») и на странице «Таблицы/запросы» включите в поле «При запуске предоставляются права» кнопку «Владельца» (рис. 9). Когда включена радиокнопка «Пользователя», защита работает обычным образом.

Чтобы выдать всем пользователям права владельца на уже существующий запрос, запустите для него конструктор запросов (выберите в окне базы данных закладку «Запросы», отметьте нужный запрос и нажмите кнопку «Конструктор»). Затем щелкните правой кнопкой мыши в верхней половине окна, где отображаются входящие в запрос таблицы (но не на самих таблицах). Выберите в контекстном меню пункт «Свойства...» и в списке свойств запроса измените значение свойства «При запуске предоставляются права». После этого закройте окно списка свойств и окно конструктора, сохранив макет.

Мастер защиты

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

Для создания сколько-нибудь развитой системы защиты Мастер подходит плохо. Но если вы все-таки решили отдаться на его милость, не делайте владельцем новой базы пользователя Admin. Если у вас нет другого пользователя с административными полномочиями, создайте его, а затем удалите пользователя Admin из подгруппы Admins и перезапустите Access для нового пользователя-администратора. Теперь можно войти в меню «Сервис-Защита-Мастер...» и следовать указаниям Мастера.