Запретить пользователям создавать таблицы

Я пытаюсь защитить MDB MS Access 2003, используя безопасность рабочей группы. Я настроил большую часть этого (используя новый MDW и т. Д.), Но я не могу остановить людей, создающих новые таблицы в базе данных, если у них есть доступ для ее открытия. Я что-то упускаю?

Ни одна из учетных записей не имеет разрешенных разрешений, я все это делаю через группы. У пользователей есть только доступ Open \ Run к базе данных, нет доступа к ‹New Tables / Queries> и только доступ« Read Data »ко всем другим таблицам, включая таблицы MSys*.

Есть мысли или я пытаюсь сделать невозможное?

--Обновлять--

Я пробовал использовать мастер, как было предложено, но это по-прежнему оставляет меня с той же проблемой. Я создал пустую базу данных и запустил на ней мастер. Назначил 2 пользователей, Я и Пользователь, и удалил весь доступ к стандартным группам. Я добавил себя в группу администраторов, а пользователя - в группу только для чтения.

Неиспользование MDW запрещает доступ, как и ожидалось. Вход в систему как Me обеспечивает полный доступ (проектирование, добавление данных, удаление данных и т. Д.), Вход в систему как пользователь позволяет читать существующие таблицы данных, но не добавлять данные или проектировать их (как ожидалось), но он все равно позволяет создавать новую таблицу, к которой Пользователь будет иметь полный доступ для добавления, удаления и т. д.


person oharab    schedule 03.02.2010    source источник
comment
Вы не закрепили его правильно. Вы должны запустить мастер безопасности, который создает новый файл рабочей группы, который имеет другую группу ADMIN, чем файлы рабочей группы по умолчанию (все они имеют одну и ту же группу ADMIN). Обычный подход - удалить все разрешения для встроенных групп и пользователей и использовать группы клиентов для предоставления доступа.   -  person David-W-Fenton    schedule 04.02.2010
comment
Я добавил больше деталей к тому, что пробовал до сих пор, в том числе к Мастеру. Я начинаю думать, что это ограничение безопасности рабочей группы, которое мне придется исправить в Коде. Б.   -  person oharab    schedule 04.02.2010
comment
Кстати: Я использовал вашу цитату в качестве подписи в течение долгого времени, потому что она заставляет меня каждый раз улыбаться: Цитата (Дэвид В. Фентон): Мы можем быть сбиты с толку точно так же, но путаница может быть как Nulls, и не сравнимо.   -  person oharab    schedule 04.02.2010
comment
Ого, я не припомню такой цитаты. Раньше я был умным!   -  person David-W-Fenton    schedule 05.02.2010
comment
Вы удалили разрешения для объекта базы данных верхнего уровня? Я забыл подробности здесь, но я знаю, что у меня есть приложение, которое защищено только постольку, поскольку оно предотвращает создание таблиц (все остальное широко открыто). Однако для меня это недоступно для проверки, как это делается.   -  person David-W-Fenton    schedule 05.02.2010


Ответы (2)


Итак, через год после того, как я разместил этот вопрос, у меня есть еще одна попытка решить его, но его время удачно!

Я наткнулся на обозреватель разрешений Microsoft Accesss, и он показал, что Стандартные способы защиты базы данных, как вручную, так и с помощью мастера, по-прежнему дают группе Пользователи явные разрешения Создать для контейнера вкладок. Это же программное обеспечение также позволяет отозвать указанные разрешения, поэтому теперь у меня есть полностью защищенная база данных, где любой пользователь может получить доступ к mdb без использования специального MDB, но они могут получать доступ и редактировать только те данные, которые я хочу от них.

person oharab    schedule 13.04.2011
comment
Помешало ли это изменение пользователям сохранять новые запросы? Извините, что задал этот вопрос так поздно, но я только что нашел этот ответ. - person HansUp; 27.12.2013

Могут ли ваши пользователи использовать версию msAccess во время выполнения? У них не будет возможности создавать какие-либо новые объекты Access, такие как таблица, запрос, форма и т. Д.

А runtime-версия бесплатна, так что вы также сэкономите на лицензиях!

person Philippe Grondier    schedule 03.02.2010
comment
Версия среды выполнения по-прежнему позволяет создавать таблицы с использованием DAO (или ADO), поэтому это не сработает. :-( - person oharab; 04.02.2010
comment
Я не совсем уверен в этом. Это было бы верно, если бы у пользователей была возможность сгенерировать некоторый код VB и использовать его для отправки инструкций DDL в ваш файл доступа, но это будет невозможно с версией Access во время выполнения. Затем, если ваши пользователи достаточно умны, чтобы делать такие вещи, они могли бы написать тот же код в модуле Excel или Word для создания этих таблиц. В этом случае вам придется переключиться на SQL SERVER, чтобы улучшить некоторую реальную политику безопасности в вашей базе данных. - person Philippe Grondier; 04.02.2010