Защита баз данных. Access 2000Рефераты >> Программирование и компьютеры >> Защита баз данных. Access 2000
§3. Встроенные пользователи и группы
При установке Access всегда создается стандартная рабочая группа, содержащая один встроенный код пользователя и два встроенных кода групп. Код пользователя называется Admin, и для него не определен пароль. Access автоматически загружает вас с этим кодом и предоставляет вам все права к привилегии этого пользователя. При создании базы данных или нового объекта в базе данных ваш текущий код пользователя становится владельцем объекта и по умолчанию получает полные права на доступ к этому объекту. Поскольку большинство пользователей Microsoft Access никогда «не включают» защиту и загружаются как пользователи Admin, владельцем всего, что они создают, является универсальный код Admin.
Первой встроенной группой является группа Users. Все пользователи, в том числе и новые, становятся ее членами и не могут быть удалены из нее, Кроме того, внутренний идентификатор группы Users всегда один и тот же во всех устанавливаемых в мире копиях Access. Группе Users автоматически предоставляются полные права доступа к любому новому объекту или базе данных, которые вы создаете. Это означает, что даже если пользователь зарегистрировался с кодом иным, чем Admin, он все равно имеет полный доступ к вашим базам данных и объектам в них, поскольку пользователь всегда является членом универсальной группы Users!
Вторая встроенная группа называется Admins. Ее внутренний идентификатор уникален для каждого файла рабочей группы и определяется на основе информации, которую вы предоставляете программе администратора рабочих групп при создании файла. По умолчанию в эту группу включен только пользователь Admin. Но, как показано ниже, вы можете определить другого пользователя, включить его в группу Admins и удалить пользователя Admin. Эта группа должна содержать, по крайней мере, одного пользователя.
Группа 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) |
Таблица, запрос |
Удаление данных из таблицы или запроса. Кроме того, предоставляет разрешения на чтение данных и макета. В случае запрос пользователь должен дополнительно иметь разрешение на удаление данных для всех таблиц, изменяемых с его помощью |
§5. Явные и неявные разрешения
Как отмечалось выше, вы можете получить доступ к объекту, благодаря разрешению, назначенному вашему коду пользователя, или через разрешения, предоставленные любой группе, к которой вы принадлежите. Access использует модель «наименее ограничительных» разрешений. Это подразумевает, что вы обладаете наибольшими правами доступа, предоставленными вашему коду пользователя и любой из групп, в которые вы включены. На рисунке 2 показано гипотетическое множество пользователей и групп вместе с разрешениями доступ к объекту Таблица, явно назначенными каждому пользователю и группе. Обратите внимание, что отдельные пользователи могут неявно наследовать дополнительные разрешения или права благодаря их членству в одной или скольких группах. Денис имеет, по крайней мере, разрешения на чтение, обновление, вставку и удаление данных, так как он является членом группы Маркетинг. Будучи владельцем объекта Таблица (как его создатель), Денис также получает права администратора и разрешение на изменение макета, так как Access назначает эти разрешения при создании объекта. А если кто-то другой создал этот объект и позднее передал права владельца Денису, то Денис моя предоставить самому себе любые отсутствующие разрешения.
