У типових рішеннях BAS передбачено розмежування прав доступу до інформації. Система прав доступу дозволяє описувати набори прав, які відповідають посадам користувачів або виду діяльності. Структура прав визначається конкретним прикладним рішенням.
Крім цього, для об’єктів, що зберігаються в базі даних (довідники, документи, регістри тощо) можуть бути визначені права доступу до окремих полів і записів. Наприклад, користувач може оперувати документами (накладними, рахунками тощо) певних контрагентів і не мати доступу до аналогічних документів інших контрагентів.
З одного боку, це забезпечує певний ступінь інформаційної безпеки підприємства (користувачеві доступна лише інформація необхідна для виконання його завдань), з іншого — полегшує роботу користувачам інформаційної системи (користувач не бачить зайвої інформації, яка може перешкоджати якісному та своєчасному виконанню своєї роботи та оперувати тільки необхідними йому даними).
Існує 2 способи розмежування інформації. На етапі конфігурування — найбільш загальні правничий та етапі ведення обліку — більш детальні права до певним записам таблиць. Перший налаштовується етапі конфігурування системи розробниками прикладних рішень.
Інтерактивні та основні права
Усі права, підтримувані системою BAS, можна розділити на великі групи: основні й інтерактивні. Основні права описують дії, що виконуються над елементами даних системи або над усією системою в цілому, і перевіряються завжди незалежно від способу звернення до даних. "Інтерактивні права" описують дії, які можуть бути виконані користувачем інтерактивно. Відповідно перевіряються вони лише при виконанні інтерактивних операцій стандартними способами, причому у клієнт-серверному варіанті всі перевірки прав (крім інтерактивних) виконуються на сервері.
Основні та інтерактивні права взаємопов’язані. Наприклад, існує основне право «Видалення», якому відповідають два інтерактивні права: «Інтерактивне видалення» та «Інтерактивне видалення позначених». Якщо користувачеві заборонено "Видалення", то і всі "Інтерактивні видалення" також будуть заборонені для нього. У той же час, якщо користувачеві дозволено «Інтерактивне видалення позначених», це означає, що «Видалення» йому також дозволяється.
Крім того, основні права можуть залежати одне від одного. В результаті утворюються досить складні ланцюжки взаємозв’язків, які відстежуються системою автоматично: як тільки розробник знімає дозвіл на якесь право, система сама знімає дозволи на всі права, які залежать від цього права. І навпаки, при встановленні будь-якого права розробником система сама встановлює всі права, від яких це право залежить.
Обмеження доступу до даних на рівні записів та полів
Серед дій над об’єктами, що зберігаються в базі даних (довідниками, документами тощо), є дії, які відповідають за читання або зміну інформації, що зберігається в базі даних. До таких дій належать:
- читання - отримання записів або їх фрагментів із таблиці бази даних;
- додавання – додавання нових записів без зміни існуючих;
- зміна – зміна існуючих записів;
- видалення — Видалення деяких записів без змін.
Для цих дій у процесі налаштування ролей можуть бути задані додаткові умови на дані (обмеження доступу до даних). У цьому випадку над конкретним об’єктом, що зберігається в базі даних, може бути виконана запитана дія лише в тому випадку, якщо обмеження доступу до даних для даних цього об’єкта набуває значення «істина». Аналогічні умови можуть бути і для та
Параметри сеансу
Параметри сеансу є об’єктами прикладного рішення, які призначені для використання в обмеженнях доступу до даних для поточного сеансу (але можуть застосовуватись і для інших цілей). Ці значення зберігаються протягом цього сеансу BAS. Використання параметрів сеансу дозволяє зменшити час доступу до даних при обмеженні доступу на рівні записів та полів.
Виконання на сервері без перевірки прав
Привілейовані модулі
Існує можливість призначення привілейованих модулів. У такі модулі можуть бути перенесені операції, які використовують дані, на які поточний користувач не має прав.
Наприклад, користувачеві можуть бути призначені права, що дозволяють створювати новий документ. Однак жодних прав на регістр, у якому цей документ створює рухи під час проведення, користувачеві не надано. У такій ситуації процедура проведення документа може бути винесена до привілейованого модуля, який виконується на сервері без перевірки прав. В результаті, незважаючи на те, що відповідний регістр для користувача недоступний, користувач все ж таки зможе проводити створені ним документи.
Привілейований режим виконання програмного коду
Використання привілейованого режиму дозволяє, по-перше, прискорити роботу, оскільки не накладатимуться обмеження доступу до даних, а по-друге, дозволяє виконувати операції з даними від імені користувачів, яким ці дані недоступні.
Привілейований режим рекомендується використовувати тоді, коли з логічної точки зору потрібно вимкнути перевірку прав або коли можна вимкнути перевірку прав, щоб прискорити роботу. Допустимо використовувати привілейований режим тоді, коли робота з даними від імені деякого користувача не порушує встановлені для цього користувача права доступу.
З питаннями будь ласка звертайтесь за телефонами:
+38 (0482) 378–396 ; +38 (0482) 343–323