Scientific Research of the Union of Scientists in Bulgaria - Plovdiv, series B. Natural Sciences and Humanities, Vol. XVII, ISSN 1311-91 92, International Conference of Young S cientists, 11 - 13 June 2015, Plovdiv
АКТИВНА ДИРЕКТОРИЯ ЗА УПРАВЛЕНИЕ НА ПОТРЕБИТЕЛСКИ РОЛИ ПРИ ИНТЕГРИРАНЕ НА РАЗНОТИПНИ ИНФОРМАЦИОННИ СИСТЕМИ Александър Трайков,Георги Тотков Пловдивски Университет „Паисий Хилендарски"
ACTIVE DIRECTORY FOR MANAGING USER ROLES WHEN INTEGRATING HETEROGENEOUS INFORMATION SYSTEMS
Alexander Traikov, Georgi Totkov
Abstract:
The paper examines integration of independent (from technological perspective) information systems. Practical solutions are assessed and Active Directory is suggested as a system approach to integrate users and manage user roles via security groups and federated authentication.
Разглежда се проблемът за интеграция на относително независими (по време на създаване, ползвани технологии и функционалности) информационни системи. В сравнителен план се разискват решения, ползвани в практиката. На базата на концепцията за „активна директория" се предлага подход за интегриране на базата на система за управление на потребителски роли чрез групи за сигурност и федерирана автентикация.
Въведение
С развитието на организациите се появява необходимост от въвеждане в действие на информационни системи (ИС) в различни сфери на тяхната дейност. Създаваните и въвежданите в действие (обикновено по различно време) ИС са базирани на различни архитектури, бази данни, програмни езици и презентационни модели. Подобни системи обикновено са независими една от друга и са с действие, ограничено предимно до съответния бизнес слой. Освен това, всяка система е със собствен метод за автентикация, което поражда определени административни проблеми и намалена сигурност. С течение на времето поддръжката на множеството децентрализирани ИС става все по-трудна. Посоченитеи други фактори са предмет на разискване в [1].
Методи за интеграция
Стандартен подход за интеграция на разнотипни ИС в дадена организация е да се използва „преводач, който логически да конвертира основните обекти от данни към общ
информационен модел" [3] и посредник „който въплъщава познанията, необходими за обработването на специфични типове информация" [3]. Подходът изисква добавяне на преводач към всеки източник на данни поради разнородния произход на приложенията. Посредникът, от своя страна, може да е подходящ за повече от един източник на данни. В най-лошия случай може да има по един посредник за всеки източник. Обмяната на данни става посредством двустранна комуникация.
Управлението на информационните системи може да се осъществи чрез „слепване" на отделни приложения чрез методи за автентикация, които се фокусират върху управлението на потребители. В този случай всеки бизнес слой се приспособява към софтуерната среда на ниво потребител.
Оторизацията на потребител става чрез визуално взаимодействиемежду него и програмата. Такъв интерфейс може да е форма, изискваща парола и потребителско име. Механизмът, който обработва въведените от потребителя данни, е логически отделена част. Преводачът заменя тази част като превръща данните в унифицирани, лесно четими данни. Съвкупността от всички преведени потребителски данни може да се записват в централно хранилище, където ще се осъществява цялата потребителска администрация.
За да сеосъществи общ подход към автентификацията на потребителите, техните ежедневни дейности трябва да се идентифицират като роли, които се изпълняват в системата. „Достъпът чрез роли се основава на решения за достъп върху функциите, които потребителят може да изпълнява в организацията" [2]. Всяка система в разнотипна среда има собствен набор от роли с различни нива на достъп.
Организацията може да остави на всяка система сама да определя начина на управление на ролите и дали те да се предават на други членове от съответната система. Този подход се нарича доверителен контрол на достъп (Discretionary Access Control - DAC). DAC е по-лесен за интеграция, но е податлив към проблеми със сигурността. Министерството на отбраната в САЩ препоръчва [7] DAC да се прилага едновременно със задължителен контрол на достъп (Mandatory Access Control - MAC). MAC описва по-стриктна политика на сигурност, като забранява на приложенията да сменят потребителските си роли. Това действие се поема единствено от администратор с по-високи права от останалите потребители, който може да променя потребителски роли, да създава потребители и да променя обхвата на позволените им дейности. Възможността да се въздейства на всички системи от едно хранилище се нарича централизирано управление на потребител. Хранилището е склад, който съдържа големи количества разнородни данни, потребителски метаданни и връзки на ролите, които са лесно достъпни и подлежат на администриране.
Интегриране на дървовиден достъп чрез роли
Организационните роли обикновено следват структурна йерархия, която може лесно да се преведе към терминологията на потребителско хранилище.
Пример 1. Директор на върха на институцията с подчинени, които управляват отдели, съставени от персонал с разнообразни задължения. Тази йерархия напомня дървовидна структура, в която директорът е в корена(основа) и всеки следващ елемент (дете) е подвъзел или листо (фиг. 1.).
Всяка роля (листо) е с дефинирани права. Ребро от родителска роля (възел) към собствените деца, означава приемане на техните права. Следователно коренът (директорът) на дървото, намиращ се на първото ниво ще има неограничен достъп.
В по-големи организации, в които отделите са автономни и имат собствени ръководители, може да бъде използвана гора от дървета (множество от едно или повече самостоятелни дървета) [8].
Пример 2. Дадена роля може да бъде назначена на повече от един потребител в организацията. Например -всеки от бордана директоритеда приеме роля 1. Човек може да ръководи отдел (роля 2.) и да изпълнява дейности, намиращи се на по-ниско равнище в друг възел (роля 7). Множество от роли се дефинира със знак за обединение (1).
Roles = {Role¡; i 6 1, n}, i, n 6 M; n > i; R : user -> Roles;
(1)
RcRolei X Rolei+1X ...X Rolen
Пример: User R {role2, role3, role4, role5} U {role7}
Фигура 1. Йерархично дърво с роли
Ако потребителски дейности в една организация се разглеждат като обекти, тогава системите, описващи тези взаимодействия също могат да бъдат разглеждани като множества от обекти, които се ръководят, чрез съответните потребителски роли. Една роля може да бъде свързана към различен набор от обекти, съществуващи в различни системи. По този начин хетерогенните системи могат да споделят общи роли, независимо от техните несъответстващи обекти.
Система А. и Система Б. от разнотипна среда имат общи роли (2):
{6, 5, 7} П {2,3,4,5,7} = {5, 7} (2)
За да се установи пресичането на двете множества, всяка система трябва да ги преведе до базови роли. В противен случай те няма да могат да определят общи членове в множеството.
Добавянето на роля 5 към потребител, ще позволи достъп до обекти в Система А. и Система Б., без тези системи да знаят за съществуването на други системи от организацията. Когато администратор зададе тази роля към потребител, потребителят автоматично получава достъп до всички прилежащи приложения.
Реализация на централизирано управление на роли с АД
Активна директория (АД) е „йерархична структура, която записва информация за обекти в мрежа. Обектите включват споделени ресурси като сървъри, твърди дискове и принтери; мрежови потребители и компютърни акаунти; както и домейни, приложения, услуги и всичко друго, намиращо се в мрежата" [5]. АД най-добре подхожда на описаната потребителска централизация, защото поддържа дървовидни структури за роли, наричани групи за сигурност [5]. Всяка група има уникален ключ, наричан идентификатор за сигурност (ИдС), асоцииран с привилегии в организацията.
Обекти в АД могат да бъдат контейнери, които „съдържат други обекти и като такива, заемат определено ниво в йерархията" [5]. Два основни контейнера са „Домейни" и „Организационни Звена" (OrganizationalUnit - OU; ОЗ). Домейнът представлява цялата организация, докато ОЗ описва конкретен отдел или вътрешен слой. ОЗ е изграждащ елемент, който дефинира организационна йерархия. Групи за сигурност биват директно прилагани към ОЗ. Втората група обекти са листа, които „нямат деца обекти" [5];
Автентикацията се извършва чрезуслуги за федериране на АД, които са „стандартизирани услуги, позволяващи безопасно споделяне на информация за самоличност между доверени партньори" [5]. Тези услуги действат като доставчик на самоличност (Identity Provider), който удостоверява потребителската автентичност.
Заключение
Постигната е федерирана автентикация на разнотипни системи. Администраторите могат лесно да управляват потребителите от административния център на активната директория (Active Directory Administrative Center) [4]. Направени промени в Активната Директория сеотразяват моментално във всички приложения, позволявайки по-лесен контрол и по-висока сигурност.
В бъдеще подходът може да бъде подобрен, като се позволи на хетерогенни системи сами да добавят информация. В момента те се базират на строго дефинирана схема, която описва общата структура на фирмата. При привеждане на едно приложение към Активната Директория, то трябва само да изменя схемата като допълва липсващите организационни звена, необходими за работа му.
Литература
[1] Adbia, M., D. Portal. A Coopration system for heterogeneous data base management systems.Information Systems, Elsevier,1978.
[2] Ferraiolo, D., D. Richard Kuhn. Role-Based Access Controls. Artech House, 1992.
[3] Garcia-Molina, H., J. Hammer, K. Ireland, Y. Papakonstantinou, J. Ullman, J. Widom. Integrating and Accessing Heterogeneous Information Sources in TSIMMIS. Department of Computer Science, Standord University, 1995.
[4]Active Directory Administrative Center, https://technet.microsoft.com/en-us/library /dd560651 %28v=ws.10%29.aspx.
[5] Active Directory Architecture,https://technet.microsoft.com/en-us/library/ bb727030.aspx.
[6] Centralized User Management. IBM, http://pic.dhe.ibm.com/infocenter/flexsys/ information/index.jsp?topic=%2Fcom.ibm.acc.8731.doc%2Fcentralized_user_management.html.
[7] Department of Defense Standard, http://csrc.nist.gov/publications/history/ dod85.pdf.
[8] Introduction to Trees and Forests,http://www.math-cs.gordon.edu/courses /cps222/lectures-2015/TreesAndForests.txt.