Реферат: Защита баз данных. Access 2000
Группа Admins обладает двумя основными привилегиями. Во-первых, члены группы Admins могут определять и изменять учетные записи пользователей и групп, а так же устанавливать и менять пароли. (Вы всегда можете изменить собственный пароль.) Во-вторых, члены группы Admins имеют полный доступ к любым базам данных, созданным при использовании этого файла рабочей группы. Члены этой группы могут первоначально не иметь никаких разрешений на доступ к объектам, но могут назначить себе нужные права. Для понимания этого свойства важно иметь в виду, что любая база данных, созданная при использовании конкретного файла рабочей группы, наследует код этой рабочей группы. Некто может быть членом группы Admins в другом файле рабочей группы, но если коды рабочих групп не совпадают, этот пользователь не получит прав доступа к вашей базе данных.
§4. Разрешения на доступ к объектамВ таблице 1 приведены разрешения, которые можно назначать базе данных или ее объектам. Обратите внимание, что у владельца объекта может и не быть никаких конкретных разрешений, но, пользуясь своим статусом владельца, он имеет право предоставлять любые или все разрешения любому пользователю или группе, включая себя самого.
Таблица 1. Типы разрешений на доступ
Разрешение |
Объект |
Разрешённые действия |
Открытие/запуск (Open/Run) | База данных, форма, отчет, макрос | Открытие базы данных, формы или отчета, запуск макроса. (Любой пользователь может выполнять процедуры в модулях.) |
Монопольный доступ (Open Exclusive) | База данных | Открытие базы данных для монопольного доступа. Без этого разрешения пользователь не может открыть базу данных и отключить других пользователей |
Чтение макета (Read Design) | Таблица, запрос, форма, отчет, макрос, модуль | Просмотр объектов в режиме конструктора. Если для таблицы или запроса предоставлен любой тип доступа к данным, автоматически дается разрешение на чтение макета, поскольку оно необходимо для корректного открытия набора записей |
Изменение макета (Modify Design) | Таблица, запрос, форма, отчет, макрос, модуль | Просмотр и изменение макета объектов. Если в приложении используется программа Visual Basic, изменяющая макеты запросов во время выполнения, вы должны предоставить разрешение на изменение макета всем пользователям этих запросов |
Администратора (Administer) | База данных, таблица, запрос форма, отчет, макрос, модуль | Предоставление разрешений на доступ к объекту, даже если пользователь или группа не является владельцем объекта |
Чтение данных (Read Data) | Таблица, запрос | Просмотр данных таблицы. Также дает разрешение на чтение макета. В случае запроса пользователь должен иметь разрешение так же на чтение данных для всех используемых в нем таблиц или запросов |
Обновление данных (Update Data) | Таблица, запрос | Обновление данных таблицы или запроса. Кроме того, предоставляет разрешения на чтение данных и макета. В случае запрос пользователь должен иметь также разрешение на обновление данных для всех таблиц, изменяемых с его помощью. |
Вставка данных (Insert Data) | Таблица, запрос | Вставка данных в таблицу или запрос. Кроме того, предоставляет разрешения на чтение данных и макета. В случае запроса пользователь должен дополнительно иметь разрешение на вставку данных для всех таблиц или запросов, изменяемых с его помощью |
Удаление данных (Delete Data) | Таблица, запрос | Удаление данных из таблицы или запроса. Кроме того, предоставляет разрешения на чтение данных и макета. В случае запрос пользователь должен дополнительно иметь разрешение на удаление данных для всех таблиц, изменяемых с его помощью |
Как отмечалось выше, вы можете получить доступ к объекту, благодаря разрешению, назначенному вашему коду пользователя, или через разрешения, предоставленные любой группе, к которой вы принадлежите. Access использует модель «наименее ограничительных» разрешений. Это подразумевает, что вы обладаете наибольшими правами доступа, предоставленными вашему коду пользователя и любой из групп, в которые вы включены. На рисунке 2 показано гипотетическое множество пользователей и групп вместе с разрешениями доступ к объекту Таблица, явно назначенными каждому пользователю и группе. Обратите внимание, что отдельные пользователи могут неявно наследовать дополнительные разрешения или права благодаря их членству в одной или скольких группах. Денис имеет, по крайней мере, разрешения на чтение, обновление, вставку и удаление данных, так как он является членом группы Маркетинг. Будучи владельцем объекта Таблица (как его создатель), Денис также получает права администратора и разрешение на изменение макета, так как Access назначает эти разрешения при создании объекта. А если кто-то другой создал этот объект и позднее передал права владельца Денису, то Денис моя предоставить самому себе любые отсутствующие разрешения.
Рис. 2. Пример, показывающий явно назначенные разрешения, а так же неявные разрешения и права каждого пользователя. Явные разрешения напечатаны обычным шрифтом, а унаследованные – курсивом.
Поскольку пользователи всегда являются членами группы Users, которой по умолчанию предоставляются все права доступа к любому новому объекту, любой другой пользователь, а не только Admin, может получить полный доступ ко всем вашим объектам. Чтобы проверить разрешения пользователя или группы, сначала откройте нужную базу данных. Вы должны быть владельцем базы данных и всех объектов, которые хотите проверить, или иметь разрешение администратора на доступ к базе данных и объектам. После выбора команды Сервис à Защита à Разрешения (Tools à Security à User And Group Permissions) Access откроет окно диалога.
Рис. 3. Некоторые разрешения, предоставленные группу Users
В списке в левой верхней части окна отображаются пользователи или группы, определенные в базе данных. Установите переключатель Пользователи (Users) или Группы (Groups) в зависимости от того, что вы хотите увидеть. В списке Имя объекта (Object Name) выводятся объекты базы данных. Пользуясь расположенным ниже раскрывающимся списком, можно изменить тип отображаемых объектов. После выбора нужного объекта флажки в нижней части окна отобразят явно назначенные разрешения. Если вы выберете группу Users и просмотрите объекты, то убедитесь, что она имеет полные права доступа ко всем объектам. Кроме того, имея права администратора на доступ к объектам, можно выбирать любые из этих объектов и изменять разрешения, предоставляемые пользователю или группе.
Внимание! Не пробуйте изменять разрешения или владельца объекта до тех пор, пока полностью не поймете все возможные последствия такого действия. Если вы только приступили к изучению системы защиты Access, в целях безопасности работайте с запасной копией своей базы данных. Может случиться так, что вы отмените свое разрешение и не сможете восстановить его!
На вкладке Смена владельца (Change Owner) для любого объекта вы можете определить, кто (пользователь или группа) является его текущим владельцем. В большинстве случаев всеми объектами владеет пользователь Admin. Вы можете выделить один или несколько объектов, выбрать другого пользователя или группу и щелкнуть на кнопке Сменить владельца (Change Owner), чтобы назначить нового владельца. Никогда не передавайте объект другому владельцу, если вы полностью не понимаете возможные последствия такого действия. Прежде чем назначить объекту нового владельца, вы должны твердо знать, как зарегистрироваться в качестве такого владельца. Если вы владеете объектом, то всегда можете передать права владельца другому коду пользователя или группы (или отобрать их).
§6. Использование мастера защитыТеперь, после знакомства с системой защиты Access, должно быть очевидно, что для реальной защиты базы данных требуется немало усилий. При обычной установке Access стандартная рабочая группа создается на основе информации о пользователе Windows и названии организации. Поэтому любому человеку, имеющему доступ к вашему компьютеру, не представит особого труда выяснить эти сведения и продублировать их. Итак, для начала вам нужна уникальная рабочая группа, чтобы было трудно воспроизвести ее идентификатор, дающий всем членам группы Admins право изменять разрешения. Затем вам потребуется код пользователя, отличный от Admin, в качестве владельца вашей базы данных и всех ее объектов. Кроме этого, для всех объектов необходимо удалить разрешения из группы Users. А чтобы никто не мог изучить ваши данные и тексты процедур с помощью служебных программ для просмотра дисков, вы должны зашифровать базу данных.