Якщо ви створили базу даних у версії Access до Версії Access 2007 і застосували до неї безпеку на рівні користувача, ці параметри безпеки залишаються на місці, коли ви відкриваєте цей файл у програмі Access 2007 або новішої версії. Крім того, ви можете запустити засоби безпеки, надані в Microsoft Office Access 2003 , майстер User-Level безпеки та різні діалогові вікна дозволів користувача та групи – з пізніших версій Access. У цій статті пояснюється, як працюють функції безпеки Access 2003, а також пояснюється, як запустити та використовувати їх у програмі Access 2007 або новішої версії.
Примітка.: Відомості в цій статті стосуються лише бази даних, створеної в Access 2003 або попередніх версіях (файл .mdb). Безпека на рівні користувача недоступна для баз даних, створених у програмі Access 2007 або новішої версії (файли ACCDB). Крім того, якщо перетворити файл .mdb на новий формат (файл ACCDB), Access скасує настройки безпеки на рівні користувача.
У цій статті
Поведінка безпеки на рівні користувача в Access 2007 або новішої версії
Access 2007 і пізніші версії забезпечують безпеку на рівні користувача лише для баз даних, які використовують формати файлів Access 2003 і попередніх версій (файли .mdb і MDE). У пізніших версіях, якщо відкрити базу даних, створену в попередній версії Access, і до неї застосовано захист на рівні користувача, ця функція безпеки працюватиме належним чином для цієї бази даних. Наприклад, щоб використовувати базу даних, користувачам потрібно ввести пароль.
Крім того, можна запустити та запустити різні засоби безпеки, які надаються в Access 2003 та попередніх версіях, наприклад майстер User-Level безпеки, а також різні діалогові вікна дозволів користувача та групи. Пам'ятайте, що ці засоби стають доступними, лише коли ви відкриваєте файл .mdb або MDE. Якщо перетворити файли у форматі ACCDB, усі наявні функції безпеки на рівні користувача буде видалено.
Огляд системи безпеки на рівні користувача Access 2003
У розділах нижче наведено довідкові відомості про безпеку на рівні користувача в Access 2003 та попередніх версіях. Якщо ви вже знайомі з попередньою моделлю безпеки та безпекою на рівні користувача, ви можете пропустити ці розділи та перейти безпосередньо до розділу Настроювання безпеки на рівні користувача або Видалення безпеки на рівні користувача далі в цій статті.
Основні відомості про безпеку на рівні користувача
Безпека на рівні користувача в Access нагадує механізми безпеки на серверних системах. Вона використовує паролі та дозволи, щоб дозволяти або обмежувати доступ окремих осіб або груп осіб до об'єктів у базі даних. У access 2003 або попередніх версіях, коли ви впроваджуєте безпеку на рівні користувача в базі даних Access, адміністратор бази даних або власник об'єкта може керувати діями, які окремі користувачі або групи користувачів можуть виконувати з таблицями, запитами, формами, звітами та макросами в базі даних. Наприклад, одна група користувачів може змінювати об'єкти в базі даних, інша група може вводити дані лише в певні таблиці, а третя група може лише переглядати дані в наборі звітів.
Безпека на рівні користувача в Access 2003 та попередніх версіях використовує поєднання паролів і дозволів – набору атрибутів, який визначає типи доступу користувача до даних або об'єктів у базі даних. Ви можете встановити паролі та дозволи для окремих користувачів або груп користувачів, а ці комбінації паролів і дозволів стають обліковими записами безпеки, які визначають користувачів і групи користувачів, яким дозволено доступ до об'єктів у базі даних. У свою чергу, комбінація користувачів і груп називається робочою групою, і Access зберігає ці відомості у файлі відомостей робочої групи. Під час запуску Access зачитує файл відомостей робочої групи та застосовує дозволи на основі даних у файлі.
За замовчуванням Access надає вбудований ідентифікатор користувача та дві вбудовані групи. Ідентифікатор користувача за замовчуванням – Admin, а групи за замовчуванням – Користувачі та Адміністратори. За замовчуванням програма Access додає вбудований ідентифікатор користувача до групи "Користувачі", оскільки всі ідентифікатори мають належати принаймні до однієї групи. У свою чергу, група "Користувачі" має повні дозволи на всі об'єкти в базі даних. Крім того, ідентифікатор Admin також входить до групи адміністраторів. Група адміністраторів має містити принаймні один ідентифікатор користувача (має бути адміністратор бази даних), а ідентифікатор Admin – це адміністратор бази даних за промовчанням, доки ви не зміните його.
Коли ви запускаєте Access 2003 або попередні версії, Програма Access призначає вам ідентифікатор користувача Admin і таким чином робить вас учасником кожної стандартної групи. Цей ідентифікатор і ці групи (Admin та користувачі) надають всім користувачам повні дозволи на доступ до всіх об'єктів у базі даних. Це означає, що будь-який користувач може відкривати, переглядати та змінювати всі об'єкти в усіх файлах .mdb, якщо ви не впровадите безпеку на рівні користувача.
Один зі способів впровадження безпеки на рівні користувача в Access 2003 або попередніх версіях – це змінити дозволи для групи Користувачів і додати нових адміністраторів до груп адміністраторів. У такому разі програма Access автоматично призначає нових користувачів групі Користувачів. Якщо виконати ці дії, користувачі мають входити за допомогою пароля щоразу, коли відкриватимуть захищену базу даних. Однак, якщо потрібно реалізувати більш конкретну безпеку – дозволити одній групі користувачів вводити дані, а інша – лише читати ці дані, наприклад – потрібно створити додаткових користувачів і групи та надати їм певні дозволи для деяких або всіх об'єктів бази даних. Реалізація цього типу безпеки на рівні користувача може стати складним завданням. Щоб спростити процес, Access надає майстер User-Level безпеки, який спрощує створення користувачів і груп на одному кроці.
Майстер безпеки User-Level дає змогу призначати дозволи та створювати облікові записи користувачів і груп. Облікові записи користувачів містять імена користувачів і унікальні особисті ідентифікаційні номери (PID), необхідні для керування дозволами користувача на перегляд, використання або змінення об'єктів бази даних у робочій групі Access. Облікові записи групи – це колекція облікових записів користувачів, які, у свою чергу, розташовано в робочій групі. Access використовує ім'я групи та ідентифікатор PID для ідентифікації кожної робочої групи, а дозволи, призначені групі, застосовуються до всіх користувачів у групі. Докладні відомості про використання майстра див. в розділі Установлення безпеки на рівні користувача далі в цій статті.
Після завершення роботи майстра можна вручну призначити, змінити або видалити дозволи для облікових записів користувачів і груп у робочій групі для бази даних і її наявних таблиць, запитів, форм, звітів і макросів. Ви також можете встановити стандартні дозволи, які програма Access призначає для будь-яких нових таблиць, запитів, форм, звітів і макросів, які ви або інший користувач додаєте до бази даних.
Файли відомостей робочої групи та робочої групи
У програмі Access 2003 та попередніх версіях робоча група – це група користувачів у багатокористувацькому середовищі, які мають спільний доступ до даних. Файл відомостей робочої групи містить облікові записи користувачів і групи, паролі та дозволи, встановлені для кожного окремого користувача або групи користувачів. Коли ви відкриваєте базу даних, Access читає дані у файлі відомостей робочої групи та застосовує параметри безпеки, які містить файл. У свою чергу, обліковий запис користувача – це поєднання імені користувача та особистого ідентифікатора (PID), які створює Access для керування дозволами користувача. Облікові записи групи – це колекції облікових записів користувачів, а Access також визначає їх за іменем групи та особистим ідентифікатором (PID). Дозволи, призначені групі, застосовуються до всіх користувачів у групі. Потім цим обліковим записам безпеки можна призначати дозволи для баз даних і їхніх таблиць, запитів, форм, звітів і макросів. Самі дозволи зберігаються в базі даних із підтримкою безпеки.
Коли користувач уперше запускає Access 2003 або попередні версії, Access автоматично створює файл відомостей робочої групи Access, визначений за іменем і відомостями про організацію, які визначає користувач під час інсталяції Access. Для Access 2003 програма інсталяції додає відносне розташування цього файлу відомостей робочої групи до таких розділів реєстру:
HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Access\Jet\4.0\Engines\SystemDB
і
HKEY_USERS\.DEFAULT\Software\Microsoft\Office\11.0\Access\Jet\4.0\Engines\SystemDB
Наступні користувачі успадковуватимуть шлях до файлу робочої групи за промовчанням від значення в розділі реєстру HKEY_USERS. Оскільки ці відомості часто легко визначити, неавторизованим користувачам можна створити іншу версію цього файлу відомостей робочої групи. Таким чином, неавторизовані користувачі можуть взяти на себе безповоротні дозволи облікового запису адміністратора (учасника групи адміністраторів) у робочій групі, визначеній цим файлом відомостей робочої групи. Щоб заборонити неавторизованим користувачам припускати ці дозволи, створіть новий файл відомостей робочої групи та вкажіть ідентифікатор робочої групи (WID), буквено-цифровий рядок із урахуванням регістра від 4 до 20 символів, введених під час створення нового файлу відомостей робочої групи. Створення нової робочої групи однозначно визначає групу Admin для цього файлу робочої групи. Лише той, хто знає WID, зможе створити копію файлу відомостей робочої групи. Щоб створити новий файл, скористайтеся майстром безпеки User-Level.
Увага!: Обов'язково запишіть точне ім'я, назву організації та ідентифікатор робочої групи, зокрема букви у верхньому або нижньому регістрі (для всіх трьох записів), і зберігайте їх у безпечному місці. Якщо потрібно повторно створити файл відомостей робочої групи, потрібно вказати таке саме ім'я, назву організації та ідентифікатор робочої групи. Якщо ви забудете або втратите ці записи, ви можете втратити доступ до своїх баз даних.
Принцип роботи дозволів і користувачів, які можуть їх призначати
Безпека на рівні користувача розпізнає два типи дозволів: явні та неявні. Явні дозволи – це дозволи, які надаються безпосередньо обліковому запису користувача; це не вплине на інших користувачів. Неявні дозволи – це дозволи, надані обліковому запису групи. Додавання користувача до цієї групи надає їй дозволи групи; Видалення користувача з групи забирає дозволи групи в цього користувача.
Коли користувач намагається виконати операцію з об'єктом бази даних, який використовує функції безпеки, набір дозволів користувача базується на перетині явних і неявних дозволів цього користувача. Рівень безпеки користувача – це завжди найменше обмеження явних дозволів цього користувача та дозволів усіх груп, до яких належить цей користувач. Тому найменш складний спосіб адміністрування робочої групи – це створення нових груп і призначення дозволів групам, а не окремим користувачам. Потім ви можете змінити дозволи окремих користувачів, додавши або видаливши цих користувачів із груп. Крім того, якщо потрібно надати нові дозволи, ви можете надати їх усім учасникам групи за одну операцію.
Дозволи можна змінити для об'єкта бази даних за:
-
Учасники групи адміністраторів файлу відомостей робочої групи, який використовується під час створення бази даних.
-
Власник об'єкта.
-
Будь-який користувач, який має дозволи адміністрування для об'єкта.
Незважаючи на те, що наразі користувачі не зможуть виконати дію, вони можуть надати собі дозволи на виконання дії. Це відбувається, якщо користувач входить до групи адміністраторів або власник об'єкта.
Користувач, який створює таблицю, запит, форму, звіт або макрос, є власником цього об'єкта. Крім того, група користувачів, які можуть змінювати дозволи в базі даних, також може змінити право власності на ці об'єкти або повторно створити ці об'єкти, обидва способи змінити право власності на об'єкти. Щоб повторно створити об'єкт, можна створити копію об'єкта або імпортувати його з іншої бази даних або експортувати до іншої бази даних. Це найпростіший спосіб передати право власності на об'єкти, включно з самою базою даних.
Примітка.: Копіювання, імпорт або експортування не змінює права власності на запит із властивістю RunPermissions , установленою для власника. Ви можете змінити право власності на запит, лише якщо його властивість RunPermissions має значення User's.
Облікові записи безпеки
Файл відомостей робочої групи Access 2003 містить такі попередньо визначені облікові записи.
Бізнес-партнер |
Функція |
Admin |
Стандартний обліковий запис користувача. Цей обліковий запис точно такий самий для кожної копії Access та інших програм, які можуть використовувати обробник баз даних Microsoft Jet, наприклад Visual Basic for Applications (VBA) і Microsoft Office Excel 2003. |
Для адміністраторів |
Обліковий запис групи адміністратора. Цей обліковий запис унікальний для кожного файлу відомостей робочої групи. За замовчуванням Admin користувач входить до групи адміністраторів. У групі адміністраторів має бути принаймні один користувач. |
Користувачі |
Обліковий запис групи, що складається з усіх облікових записів користувачів. Access автоматично додає облікові записи користувачів до групи "Користувачі", коли їх створює учасник групи Адміністратори. Цей обліковий запис однаковий для будь-якого файлу відомостей робочої групи, але він містить лише облікові записи користувачів, створені учасниками групи адміністраторів цієї робочої групи. За замовчуванням цей обліковий запис має повні дозволи для всіх новостворених об'єктів. Єдиний спосіб видалити обліковий запис користувача з групи "Користувачі" – видалити його з групи адміністраторів. |
По суті, безпека в Access 2003 та попередніх версіях завжди активна. Доки ви не активуєте процедуру входу до робочої групи, Access непомітно ввійтиме до системи всіх користувачів під час запуску, використовуючи стандартний Admin обліковий запис користувача з пустим паролем. Програма Access використовує обліковий запис Admin як обліковий запис адміністратора для робочої групи. Access використовує обліковий запис Admin на додачу до власника (групи або користувача) будь-яких баз даних і таблиць, запитів, форм, звітів і макросів, які створюються.
Адміністратори та власники важливі, оскільки мають дозволи, які не можна забрати.
-
Адміністратори (учасники групи адміністраторів) завжди можуть отримати повні дозволи для об'єктів, створених у робочій групі.
-
Обліковий запис, який володіє таблицею, запитом, формою, звітом або макросом, завжди може отримати повні дозволи для цього об'єкта.
-
Обліковий запис, який володіє базою даних, завжди може відкрити цю базу даних.
Оскільки обліковий запис користувача Admin однаковий для кожної копії Access, спочатку потрібно визначити облікові записи адміністратора й власника (або використати один обліковий запис як облікові записи адміністратора та власника), а потім видалити Admin обліковий запис користувача з групи адміністраторів. В іншому разі будь-який користувач, який має копію Access, може ввійти в робочу групу за допомогою облікового запису Admin і мати повні дозволи для таблиць, запитів, форм, звітів і макросів робочої групи.
Групі адміністраторів можна призначити скільки завгодно облікових записів користувачів, але лише один обліковий запис користувача може володіти базою даних, тобто обліковий запис користувача, який активний, коли створюється база даних або коли передається право власності, створюючи нову базу даних та імпортуючи до неї всі об'єкти бази даних. Проте облікові записи груп можуть належати до таблиць, запитів, форм, звітів і макросів у базі даних.
Зауваження щодо впорядкування облікових записів безпеки
-
В Access можуть входити лише облікові записи користувачів; ви не можете ввійти за допомогою облікового запису групи.
-
Облікові записи, створені для користувачів бази даних, мають зберігатися у файлі відомостей робочої групи, до яких приєднаються ці користувачі під час використання бази даних. Якщо для створення бази даних використовується інший файл, змініть файл перед створенням облікових записів.
-
Обов'язково створіть унікальний пароль для облікових записів адміністратора та користувачів. Користувач, який може ввійти за допомогою облікового запису адміністратора, завжди може отримати повні дозволи для будь-яких таблиць, запитів, форм, звітів і макросів, створених у робочій групі. Користувач, який може ввійти за допомогою облікового запису власника, завжди може отримати повні дозволи для цих об'єктів, які належать цьому користувачу.
Створивши облікові записи користувачів і груп, можна переглянути та надрукувати зв'язки між ними. Access друкує звіт про облікові записи в робочій групі, у якому відображено групи, до яких належить кожен користувач, і користувачів, які належать до кожної групи.
Примітка.: Якщо використовується файл відомостей робочої групи, створений у програмі Microsoft Access 2.0, потрібно ввійти як учасник групи адміністраторів, щоб друкувати відомості про користувачів і групу. Якщо файл відомостей робочої групи створено в Microsoft Access 97 або новішої версії, усі користувачі робочої групи можуть друкувати відомості про користувачів і групу.
Настроювання безпеки на рівні користувача
У цьому розділі пояснюється, як запустити та запустити майстер безпеки User-Level. Пам'ятайте, що ці дії застосовуються лише до баз даних, які мають формат файлу Access 2003 або попередньої версії, відкритої в Access 2007 або пізніших версіях.
Увага!: Якщо в Access 2007 або пізніших версіях використовується майстер безпеки User-Level, щоб указати файл відомостей робочої групи за замовчуванням, потрібно також скористатися перемикачем командного рядка /WRKGP, щоб указати на файл відомостей робочої групи під час запуску Access. Докладні відомості про використання перемикача командного рядка з Access див. в статті Перемикачі командного рядка для продуктів Microsoft Office.
Запуск майстра User-Level безпеки
-
Відкрийте файл .mdb або MDE, який потрібно адмініструвати.
-
На вкладці Знаряддя бази даних у групі Адміністрування клацніть стрілку під кнопкою Користувачі та дозволи та виберіть пункт Майстер безпеки на рівні користувача.
-
Дотримуйтеся вказівок на кожній сторінці, щоб завершити роботу майстра.
Примітки.:
-
Майстер безпеки User-Level створює резервну копію поточної бази даних Access із таким самим іменем і розширенням імені файлу .bak, а потім застосовує заходи безпеки для вибраних об'єктів у поточній базі даних.
-
Якщо поточна база даних Access допомагає захистити код VBA за допомогою пароля, майстер запропонує ввести пароль, який потрібно ввести, щоб майстер успішно завершив операцію.
-
Усі паролі, створені за допомогою майстра, друкуються у звіті майстра безпеки User-Level, який друкується після завершення роботи майстра. Цей звіт слід зберігати в безпечному розташуванні. Цей звіт можна використовувати для повторного створення файлу робочої групи, якщо його втрачено або пошкоджено.
-
Видалення безпеки на рівні користувача
Щоб видалити захист на рівні користувача під час роботи в Access 2007 або новішої версії, збережіть файл .mdb як файл ACCDB.
Збережіть копію файлу в . Формат ACCDB
-
Перейдіть на вкладку Файл. Відкриється подання Backstage.
-
Ліворуч натисніть кнопку Спільний доступ.
-
Праворуч натисніть кнопку Зберегти базу даних як і виберіть пункт База даних Access (*.accdb).
Відкриється діалогове вікно Зберегти як.
-
Скористайтеся списком Зберегти в , щоб знайти розташування для збереження перетвореної бази даних.
-
У списку Тип файлу виберіть пункт База даних Access 2007–2016 (*.accdb).
-
Натисніть кнопку Зберегти.
Примітка.: Якщо ви використовуєте Access 2007, натисніть кнопку Microsoft Office , а потім натисніть кнопку Перетворити , щоб відкрити діалогове вікно Зберегти в , щоб зберегти базу даних у . Формат файлу ACCDB.
Посилання на дозволи для об'єктів
У таблиці нижче наведено дозволи, які можна встановити для бази даних і об'єктів у базі даних, і в ній описано ефект або результат використання кожного параметра дозволів.
Дозвіл |
Застосовується до цих об'єктів |
Результат |
Відкрити або запустити |
Уся база даних, форми, звіти, макроси |
Користувачі можуть відкривати або запускати об'єкт, зокрема процедури в модулях коду. |
Монопольний доступ. |
Уся база даних |
Користувачі можуть відкрити базу даних і заблокувати інших користувачів. |
Читання макета |
Таблиці, запити, форми, макроси, модулі коду |
Користувачі можуть відкривати перелічені об'єкти в режимі конструктора. Примітка.: Щоразу, коли ви надаєте доступ до даних у таблиці або запиті, призначаючи інший дозвіл, наприклад "Читання даних" або "Оновити дані", ви також надаєте дозволи на читання в конструкторі, оскільки макет має відображатися для правильного представлення та перегляду даних. |
Змінити макет |
Таблиці, запити, форми, макроси, модулі коду |
Користувачі можуть змінювати структуру перелічених об'єктів. |
Адміністрування |
Уся база даних, таблиці, запити, форми, макроси, модулі коду |
Користувачі можуть призначати дозволи для перелічених об'єктів, навіть якщо користувач або група не володіють об'єктом. |
Читання даних |
Таблиці, запити |
Користувачі можуть читати дані в таблиці або запиті. Щоб надати користувачам дозволи на читання запитів, потрібно також надати цим користувачам дозволи на читання батьківських таблиць або запитів. Цей параметр має на увазі дозвіл на читання конструктора, що означає, що користувачі можуть читати таблицю або макет запиту на додачу до даних. |
Оновити дані |
Таблиці, запити |
Користувачі можуть оновлювати дані в таблиці або запиті. Користувачі повинні мати дозволи на оновлення батьківської таблиці або запитів. Цей параметр передбачає дозволи на читання й читання даних. |
Вставити дані |
Таблиці, запити |
Користувачі можуть вставляти дані в таблицю або запит. Для запитів користувачі повинні мати дозволи на вставлення даних у батьківські таблиці або запити. Цей параметр передбачає дозволи на читання даних і читання в конструкторі. |
Видалити дані |
Таблиці, запити |
Користувачі можуть видаляти дані з таблиці або запиту. Для запитів користувачі повинні мати дозволи на видалення даних із батьківських таблиць або запитів. Цей параметр передбачає дозволи на читання даних і читання в конструкторі. |