Припустимо, що вам необхідно забезпечити доступ до БД, враховуючи, що:
кількість таблиць = 11 * 3 = 33;
кількість користувачів = 11 * 4 = 44;
кількість груп (ролей) користувачів = 11 * 2 = 22;
Запитання №1
1) розрахуйте трудомісткість операцій керування доступом для DAC, RBAC, MAC моделей, порівняйте значення для моделей та надайте висновки щодо доцільності переходу на керування з використанням іншої моделі (від DAC до RBAC, від RBAC до MAC);
Як ми бачимо, MAC є ефективнішим в 26.5 разів ніж DAC та в 31 раз ніж RBAC.
DAC => RBAC: немає сенсу переходити, кількість дій лише зростає.
RBAC => MAC: перехід дає надзвичайно великий виграш в ефективності, має сенс це зробити.
2) у 2 рази збільшивши кількість користувачів, а кількість груп (ролей) зменшивши у 2 рази та повторно виконавши розрахунки трудомісткості операцій керування доступом для DAC, RBAC та MAC моделей, надайте висновки щодо доцільності переходу на керування з використанням іншої моделі (від DAC до RBAC, від RBAC до MAC) в нових умовах;
Кількість користувачів = 44 * 2 = 88;
Кількість таблиць = 33;
Кількість груп (ролей) користувачів = 22 / 2 = 11 ;
Як ми бачимо з результатів, MAC все ще значно домінує над іншими підходами, але RBAC став у два рази ефективніший за DAC.
DAC => RBAC: є сенс переходити, дає виграш більше ніж в 2 рази.
RBAC => MAC: перехід дає надзвичайно великий виграш в ефективності, має сенс це зробити.
Запитання №2
Припустимо, що програмне забезпечення, яке ви розглядали в лабораторній роботі No1, містить БД або множину файлів електронних документів, до яких користувачі повинні отримувати доступ.
1) наведіть приклади:
файлів або таблиць БД, які обробляє ваше програмне забезпечення;
користувачів, яким цікаво працювати з вашим програмним забезпечення;
можливих груп (ролей) користувачів, за якими ваше програмне забезпечення може надавати різні функції;
а) Моє програмне забезпечення буде мати таблицю з досягненнями користувачів, яка буде містити 18 колонок: id користувача та 17 колонок, кожна з яких має тип bool та показує чи відкрите це досягнення. Ця таблиця буде пов'язана через id користувача з таблицею даних про статистику користувачів.
Таблиця статистики буде містити наступні колонки user_id bool, total_money_donated float, achievements_unlocked integer, total_wins integer, total_participations integer, avatar_URI varchar.
б) Користувачі, яку будуть працювати з моїм ПЗ - люди, яким подобається приймати участь в розіграшах грошей. Привабливими характеристиками є можливість перевірити як було обрано переможця, переможець відомий з початку раунда, для участі в наступному розіграші не потрібно вносити грошей.
в) Буде всього 2 ролі - користувач, якому будуть доступні лише операції SELECT даних за його user_id та власник, який має доступ до усіх даних та операцій в БД.
2) вкажіть модель керування доступом, за якою працює ваше програмне забезпечення та прокоментуйте, як програмно ви забезпечили таке керування;
На жаль, моє ПЗ не зовсім не використовує бази даних для збереження даних через його особливу структуру - використвуються запити до блокчейну. Якби довелося переводити ПЗ до використання баз даних я би використовував модель керування доступом MAC через її надзвичайно високу ефективність та сервіс Amazon RDS.
3) надайте рекомендації щодо зміни моделі керування доступом у вашому програмному забезпеченні, якщо кількість користувачів та можливих груп (ролей) користувачів зросте в 100 разів;
Якби моя модель використовувала бази даних, я би звичайно використовував MAC через незалежність цієї моделі керування від кількості користувачів. Міграція бази даних може бути дуже складною задачею, тому слід обирати модель одразу, а не перероблювати усе вже після релізу.
Варіант 11
Умова:
Припустимо, що вам необхідно забезпечити доступ до БД, враховуючи, що:
Запитання №1
1) розрахуйте трудомісткість операцій керування доступом для DAC, RBAC, MAC моделей, порівняйте значення для моделей та надайте висновки щодо доцільності переходу на керування з використанням іншої моделі (від DAC до RBAC, від RBAC до MAC);
Трудомісткість операцій:
Як ми бачимо, MAC є ефективнішим в 26.5 разів ніж DAC та в 31 раз ніж RBAC.
DAC => RBAC: немає сенсу переходити, кількість дій лише зростає. RBAC => MAC: перехід дає надзвичайно великий виграш в ефективності, має сенс це зробити.
2) у 2 рази збільшивши кількість користувачів, а кількість груп (ролей) зменшивши у 2 рази та повторно виконавши розрахунки трудомісткості операцій керування доступом для DAC, RBAC та MAC моделей, надайте висновки щодо доцільності переходу на керування з використанням іншої моделі (від DAC до RBAC, від RBAC до MAC) в нових умовах;
Трудомісткість операцій:
Як ми бачимо з результатів, MAC все ще значно домінує над іншими підходами, але RBAC став у два рази ефективніший за DAC.
DAC => RBAC: є сенс переходити, дає виграш більше ніж в 2 рази. RBAC => MAC: перехід дає надзвичайно великий виграш в ефективності, має сенс це зробити.
Запитання №2
Припустимо, що програмне забезпечення, яке ви розглядали в лабораторній роботі No1, містить БД або множину файлів електронних документів, до яких користувачі повинні отримувати доступ.
1) наведіть приклади:
а) Моє програмне забезпечення буде мати таблицю з досягненнями користувачів, яка буде містити 18 колонок: id користувача та 17 колонок, кожна з яких має тип bool та показує чи відкрите це досягнення. Ця таблиця буде пов'язана через id користувача з таблицею даних про статистику користувачів. Таблиця статистики буде містити наступні колонки user_id bool, total_money_donated float, achievements_unlocked integer, total_wins integer, total_participations integer, avatar_URI varchar.
б) Користувачі, яку будуть працювати з моїм ПЗ - люди, яким подобається приймати участь в розіграшах грошей. Привабливими характеристиками є можливість перевірити як було обрано переможця, переможець відомий з початку раунда, для участі в наступному розіграші не потрібно вносити грошей.
в) Буде всього 2 ролі - користувач, якому будуть доступні лише операції SELECT даних за його user_id та власник, який має доступ до усіх даних та операцій в БД.
2) вкажіть модель керування доступом, за якою працює ваше програмне забезпечення та прокоментуйте, як програмно ви забезпечили таке керування;
На жаль, моє ПЗ не зовсім не використовує бази даних для збереження даних через його особливу структуру - використвуються запити до блокчейну. Якби довелося переводити ПЗ до використання баз даних я би використовував модель керування доступом MAC через її надзвичайно високу ефективність та сервіс Amazon RDS.
3) надайте рекомендації щодо зміни моделі керування доступом у вашому програмному забезпеченні, якщо кількість користувачів та можливих груп (ролей) користувачів зросте в 100 разів;
Якби моя модель використовувала бази даних, я би звичайно використовував MAC через незалежність цієї моделі керування від кількості користувачів. Міграція бази даних може бути дуже складною задачею, тому слід обирати модель одразу, а не перероблювати усе вже після релізу.