Керування доступом на основі ролейКерування доступом на основі ролей (англ. Role Based Access Control, RBAC) — розвиток політики вибіркового керування доступом, при якому права доступу суб'єктів системи на об'єкти групуються з урахуванням специфіки їх застосування, утворюючи ролі[1][2]. Формування ролей покликане визначити чіткі і зрозумілі для користувачів комп'ютерної системи правила розмежування доступу. Рольове розмежування доступу дозволяє реалізувати гнучкі та динамічно змінні в процесі функціонування комп'ютерної системи правила розмежування доступу. Таке розмежування доступу є складовою багатьох сучасних комп'ютерних систем. Як правило, даний підхід застосовується в системах захисту СУБД, а окремі елементи реалізуються в мережевих операційних системах. Рольовий підхід часто використовується в системах, для користувачів яких чітко визначено коло їх посадових повноважень і обов'язків. Незважаючи на те, що Роль є сукупністю прав доступу на об'єкти комп'ютерної системи, рольове керування доступом аж ніяк не є окремим випадком вибіркового управління доступом, так як його правила визначають порядок надання доступу суб'єктам комп'ютерної системи в залежності від наявних (або відсутніх) у нього ролей в кожен момент часу, що є характерним для систем мандатного керування доступом. З іншого боку, правила рольового розмежування доступу є більш гнучкими, ніж при мандатному підході до розмежування. Так як привілеї не призначаються користувачам безпосередньо і отримуються ними тільки через свою роль (або ролі), управління індивідуальними правами користувача по суті зводиться до призначення йому ролей. Це спрощує такі операції, як додавання користувача або зміна підрозділу користувачем. ІсторіяЕлементарні форми моделі RBAC були здійснені в багатьох спеціальних формах на багатьох системах, починаючи з 1970-х років. Контроль доступу на основі ролей, який використовується в даний час, відбувається з моделі, запропонованої Феррайоло (англ. Ferraiolo) і Куном (англ. Kuhn) (1992) і як зразкова модель пізніше вдосконалена Санді (англ. Sandhu), Койн, Фейнштейн і Йомала (1996).
Базова модель RBACДля визначення моделі RBAC визначаються наступні умови:
Ролі призначаються суб'єктам, внаслідок чого суб'єкти отримують ті чи інші дозволи через ролі. RBAC вимагає саме такого призначення, а не прямого призначення дозволів суб'єктам, інакше це призводить до складно контрольованих відносин між суб'єктами і дозволами[3]. На можливість успадкування дозволів від протилежних ролей накладається обмежувальна норма, яка дозволяє досягти належного поділу режимів. Наприклад, одній і тій же особі може бути не дозволено створити обліковий запис для когось, а потім авторизуватися під цим обліковим записом. Використовуючи нотацію теорії множин:
Позначення: x ≥ y означає, що x успадковує дозволи y. Суб'єкт може мати множину одночасних сесій з різними дозволами. Можливості та застосуванняТехнологія керування доступом на основі ролей досить гнучка і сильна, щоб змоделювати як вибіркове керування доступом (DAC)[4], так і мандатне керування доступом (MAC)[5]. До розробки RBAC, єдиними відомими моделями управління доступом були MAC і DAC: якщо модель була MAC, то вона була DAC, і навпаки. Дослідження в 90-х показали, що RBAC не потрапляє ні в ту, ні в іншу категорію. Ролі створюються всередині організації для різних робочих функцій. Певним ролям присвоюються повноваження (permissions) для виконання тих чи інших операцій. Штатним співробітникам (або іншим користувачам системи) призначаються фіксовані ролі, через які вони отримують відповідні привілеї для виконання фіксованих системних функцій. На відміну від управління доступом на основі контексту (англ. Context-based access control, CBAC), реалізація RBAC в чистому вигляді не враховує поточну ситуацію (таку як, наприклад, звідки було встановлено з'єднання). RBAC відрізняється від списків контролю доступу (англ. Access control lists, ACL), які використовуються в традиційних вибіркових системах управління доступом, тим, що може давати привілеї на складні операції зі складовими даними, а не тільки на атомарні операції з низькорівневими об'єктами даних. Наприклад, список контролю доступу може надати або позбавити права запису у якомусь системному файлу, але він не може обмежити те, яким чином цей файл може бути змінений. Система, заснована на RBAC, дозволяє створити таку операцію як відкриття «кредиту» у фінансовому додатку або заповнення запису «тест на рівень цукру в крові» в медичному додатку. Концепції ієрархії ролей і обмежень дозволяють створити або змоделювати контроль доступу на основі решітки (англ. Lattice-based access control, LBAC) засобами RBAC. Таким чином, RBAC може бути основою і розширенням LBAC. В організаціях з різнорідною IT-інфраструктурою, що містять десятки і сотні систем і додатків, допомагає використання ієрархії ролей і успадкування привілеїв. Без цього використання RBAC стає вкрай заплутаним. У статті «Додаткові ролі: практичний підхід до обслуговування користувачів підприємства» обговорюються стратегії, альтернативні великим масштабом присвоєння привілеїв користувачам[6]. Сучасні системи розширюють стару модель NIST[7] обмеженнями RBAC для розгортання на великих підприємствах. Для великих систем з сотнями ролей, тисячами користувачів і мільйонами дозволів, управління ролями, користувачами, дозволами і їх взаємозв'язками є складним завданням, яке неможливо здійснити малою групою адміністраторів безпеки. Привабливою можливістю є використання самої RBAC для сприяння децентралізованому управлінню RBAC. RBAC широко використовується для управління призначеними для користувача привілеями в межах єдиної системи або єдиного додатку. Список таких систем включає в себе Microsoft Active Directory, SELinux, FreeBSD, Solaris, СУБД Oracle, PostgreSQL 8.1, SAP R / 3, Lotus Notes і безліч інших. Примітки
Література
Посилання
|