Розши́рювана мо́ва розмі́тки контроля доступу (англ. eXtensible Access Control Markup Language, XACML) — стандарт, що визначає декларативну атрибутно-орієнтовану мову для визначення до дрібниць правил контролю та управління доступом, архітектуру та модель обробки, яка описує як обробляти запити доступу згідно визначених правил та політик.
XACML | |
---|---|
Парадигма | Декларативне програмування |
Дата появи | 16 квітня 2001 |
Творці | |
Розробник | Organization for the Advancement of Structured Information Standards (OASIS) |
Основні реалізації | SunXACML, Axiomatics |
Діалекти | |
Під впливом від | XML, SAML |
Вплинула на | |
Ліцензія | OASIS |
Звичайні розширення файлів | .xml , .alfa |
Вебсайт | oasis-open.org/committees/tc_home.php?wg_abbrev=xacml |
Одним із завдань виданої специфікації стандарту XACML є сприяння у створенні єдиної термінології та сумісності між імплементаціями різних виробників. XACML є переважно [en] (англ. Attribute-Based Access Control, ABAC), де атрибути (біти даних) асоційовані з користувачем, дією, або додатком є вхідними даними для прийняття рішення щодо можливості конретного користувача отримати доступ до вказаного ресурсу певним способом. Керування доступом за допомогою ролей також може бути імплементовано в XACML як різновид ABAC.
Модель XACML підтримує та сприяє розділенню місць прийняття рішення щодо можливості доступу та місця безпосереднього використання. Якщо визначення прав доступу вбудовано у клієнський додаток (або доступ базується на ідентифікаторах локальних користувачів та списках контролю доступу (англ. Access Control Lists, ACL), то у такій реалізації буває дуже складно змінити критерій доступу якщо змінюються основні правила або політики. Коли клієнт відокремлений від місця прийняття рішення щодо доступу, політики авторизації можуть бути змінені та застосовані для всіх клієнтів одночасно на льоту.
Історія
Версію 1.0 було ратифіковано OASIS у 2003.
Версію 2.0 було ратифіковано OASIS першого лютого 2005.
Першу специфікацію комітету XACML 3.0 було видано десятого серпня 2010. Останню версію XACML 3.0 було стандартизовано у січні 2013.
Архітектура
Термінологія
Не нормативна термінолоія (згідно з RFC 2904, за виключенням PAP)
Термін | Опис |
---|---|
PAP | Місце керування політиками (Policy Administration Point) — Місце керування політиками авторизації доступу |
PDP | Місце вирішення політик (Policy Decision Point) — Точка що оцінює запити на доступ з огляду на політики авторизації до прийняття рішення щодо надання доступу |
PEP | Місце застосування політик (Policy Enforcement Point) — Точка перехоплення запитів користувачів до ресурсу. Створює запит на прийняття рішення до PDP з метою отримання рішення щодо доступу (тобто доступ надано або відмовлено). Та реагує згідно отриманого рішення |
PIP | Місце інформації щодо політик (Policy Information Point) — Системний елемент який є джерелом значень атрибутів (тобто ресурс, суб'єкт, оточення) |
PRP | Місце видачі політик (Policy Retrieval Point) — Місце де зберігаються політики авторизації на XACML, зазвичай база даних або файлова система |
Потік
- Користувач надсилає запит який перехоплено PEP
- PEP перетворює запит у авторизаційний запит XACML
- PEP перенаправляє авторизаційний запит до PDP
- PDP оцінює авторизаційний запит згідно з політиками за якими він налаштований. Політики отримуються за допомогою Policy Retrieval Point (PRP) та керуються за допомогою Policy Administration Point (PAP). Якщо потрібно, то отримує значення атрибутів з Policy Information Points (PIP).
- PDP приймає рішення (Дозволити / Відмовити / Не застосовується / Не визначено) та повертає його до PEP
Елементи політик
Структурні елементи
XACML має три рівні структурних елементів:
- PolicySet — набір політик,
- Policy — політика,
- Rule — правило.
Набір політик може містити довільне число політик та їх наборів. Політика може містити будь-яку кількість елементів правил.
Атрибути та категорії
Політики, набори політик, правила та запити — всі використовують суб'єкти, ресурси, оточення та дії.
- Елемент суб'єкт є сутністю, що запитує доступ. Суб'єкт має один або більше атрибутів.
- Елемент ресурс це дані, сервіс або компонент системи. Ресурс має один або більше атрибутів.
- Елемент дія визначає тип запиту з надання доступу до ресурса. Дія має один або більше атрибутів.
- Елемент оточення може опціонально надавати додаткову інформацію.
Цілі
XACML визначає ціль, яка зазвичай є набором спрощених умов для суб'єкта, ресурсу або дії, що мають бути задоволені набором політик, політикою або правилом та застосовані до конкретного запиту. Як тільки визначено політику або набір політик, що стосуються даного запиту, її правила обчислюються щоб визначити рішення щодо надання доступу та відповідь.
Окрім того, що цілі визначають застосовуваність, інформація щодо цілей надає спосіб індексації політик. Що особливо корисно якщо потрібно зберігати багато політик, а потім швидко переглянути їх з метою визначення того яку застосувати. Коли приходить запит на надання доступу, PDP буде знати де шукати політики, які можуть бути застосовані до даного запиту оскільки політики індексуються згідно з їх цільових обмежень. Зауважте, що ціль може визначати, що вона повинна застосовуватись до кожного запиту.
Набори політик, політики та правила всі містять цільові елементи.
Умови
Умови існують лише у правилах. Умови загалом є розширеною формою цілі, що може використовувати більш широкий діапазон функцій та, що більш важливо, може використовуватись для порівняння двох або більше атрибутів, тобто subject-id==doctor-id
. За умови, що можливо імплементувати розподіл обов'язків перевірки керування доступом на основі ролей.
Обов'язки
Разом з XACML застосовується концепція обов'язків. Обов'язком є вказівка від Місця вирішення політик (PDP) до місця застосування політик (PEP) з приводу того що має відбуватись до або після того як доступ надано. Якщо PEP не може виконати директиву, надання доступу не може або не повинно бути реалізоване. Збільшення обов'язків нівелює прогалину між формальними вимогами та дотриманням політики. Приклад обов'язку наведено нижче:
Правило керування доступом:
Дозволити доступ до ресурсу MedicalJournal з атрибутом patientID=x якщо Суб'єкт збігається з DesignatedDoctorOfPatient та дія прочитати з обов'язками при наданні доступу: doLog_Inform(patientID, Суб'єкт, час) при відмові у доступі : doLog_UnauthorizedLogin(patientID, Суб'єкт, час)
XACML's обов'язки можуть слугувати ефективним способом задоволення формальних вимог (наприклад, не відмова) таких, які важко реалізувати за допомогою правил керування доступом. Більше того, будь-які формальні вимоги будуть частиною політики керування доступом як обов'язків та не як окремих функцій, що робить політики узгодженими та дозволяє досягти централізації IT-середовища простішим способом.
Посилання
- Best, Karl (16 April 2001). . OASIS. Архів оригіналу за 1 листопада 2016. Процитовано 31 October 2016.
- . www.axiomatics.com. Архів оригіналу за 22 жовтня 2016. Процитовано 6 лютого 2017.
- . OASIS (oasis-open.org). Архів оригіналу за 25 лютого 2021. Процитовано 10 серпня 2010.
- eXtensible Access Control Markup Language (XACML) V3.0 approved as an OASIS Standard [ 4 грудня 2019 у Wayback Machine.], eXtensible Access Control Markup Language (XACML) V3.0 approved as an OASIS Standard.
- (PDF). Архів оригіналу (PDF) за 7 лютого 2017. Процитовано 7 лютого 2017.
{{}}
: Обслуговування CS1: Сторінки з текстом «archived copy» як значення параметру title () - . Архів оригіналу за 11 березня 2017. Процитовано 7 лютого 2017.
{{}}
: Обслуговування CS1: Сторінки з текстом «archived copy» як значення параметру title ()
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Rozshi ryuvana mo va rozmi tki kontrolya dostupu angl eXtensible Access Control Markup Language XACML standart sho viznachaye deklarativnu atributno oriyentovanu movu dlya viznachennya do dribnic pravil kontrolyu ta upravlinnya dostupom arhitekturu ta model obrobki yaka opisuye yak obroblyati zapiti dostupu zgidno viznachenih pravil ta politik XACMLParadigmaDeklarativne programuvannyaData poyavi16 kvitnya 2001 23 roki tomu 2001 04 16 TvorciRozrobnikOrganization for the Advancement of Structured Information Standards OASIS Osnovni realizaciyiSunXACML AxiomaticsDialektiPid vplivom vidXML SAMLVplinula naLicenziyaOASISZvichajni rozshirennya fajliv xml alfaVebsajtoasis open org committees tc home php wg abbrev xacml Odnim iz zavdan vidanoyi specifikaciyi standartu XACML ye spriyannya u stvorenni yedinoyi terminologiyi ta sumisnosti mizh implementaciyami riznih virobnikiv XACML ye perevazhno en angl Attribute Based Access Control ABAC de atributi biti danih asocijovani z koristuvachem diyeyu abo dodatkom ye vhidnimi danimi dlya prijnyattya rishennya shodo mozhlivosti konretnogo koristuvacha otrimati dostup do vkazanogo resursu pevnim sposobom Keruvannya dostupom za dopomogoyu rolej takozh mozhe buti implementovano v XACML yak riznovid ABAC Model XACML pidtrimuye ta spriyaye rozdilennyu misc prijnyattya rishennya shodo mozhlivosti dostupu ta miscya bezposerednogo vikoristannya Yaksho viznachennya prav dostupu vbudovano u kliyenskij dodatok abo dostup bazuyetsya na identifikatorah lokalnih koristuvachiv ta spiskah kontrolyu dostupu angl Access Control Lists ACL to u takij realizaciyi buvaye duzhe skladno zminiti kriterij dostupu yaksho zminyuyutsya osnovni pravila abo politiki Koli kliyent vidokremlenij vid miscya prijnyattya rishennya shodo dostupu politiki avtorizaciyi mozhut buti zmineni ta zastosovani dlya vsih kliyentiv odnochasno na lotu IstoriyaVersiyu 1 0 bulo ratifikovano OASIS u 2003 Versiyu 2 0 bulo ratifikovano OASIS pershogo lyutogo 2005 Pershu specifikaciyu komitetu XACML 3 0 bulo vidano desyatogo serpnya 2010 Ostannyu versiyu XACML 3 0 bulo standartizovano u sichni 2013 ArhitekturaDane zobrazhennya pokazuye arhitekturu XACML ta prostij potik avtorizaciyi Terminologiya Ne normativna terminoloiya zgidno z RFC 2904 za viklyuchennyam PAP Termin Opis PAP Misce keruvannya politikami Policy Administration Point Misce keruvannya politikami avtorizaciyi dostupu PDP Misce virishennya politik Policy Decision Point Tochka sho ocinyuye zapiti na dostup z oglyadu na politiki avtorizaciyi do prijnyattya rishennya shodo nadannya dostupu PEP Misce zastosuvannya politik Policy Enforcement Point Tochka perehoplennya zapitiv koristuvachiv do resursu Stvoryuye zapit na prijnyattya rishennya do PDP z metoyu otrimannya rishennya shodo dostupu tobto dostup nadano abo vidmovleno Ta reaguye zgidno otrimanogo rishennya PIP Misce informaciyi shodo politik Policy Information Point Sistemnij element yakij ye dzherelom znachen atributiv tobto resurs sub yekt otochennya PRP Misce vidachi politik Policy Retrieval Point Misce de zberigayutsya politiki avtorizaciyi na XACML zazvichaj baza danih abo fajlova sistema Potik Koristuvach nadsilaye zapit yakij perehopleno PEP PEP peretvoryuye zapit u avtorizacijnij zapit XACML PEP perenapravlyaye avtorizacijnij zapit do PDP PDP ocinyuye avtorizacijnij zapit zgidno z politikami za yakimi vin nalashtovanij Politiki otrimuyutsya za dopomogoyu Policy Retrieval Point PRP ta keruyutsya za dopomogoyu Policy Administration Point PAP Yaksho potribno to otrimuye znachennya atributiv z Policy Information Points PIP PDP prijmaye rishennya Dozvoliti Vidmoviti Ne zastosovuyetsya Ne viznacheno ta povertaye jogo do PEPElementi politikStrukturni elementi XACML maye tri rivni strukturnih elementiv PolicySet nabir politik Policy politika Rule pravilo Nabir politik mozhe mistiti dovilne chislo politik ta yih naboriv Politika mozhe mistiti bud yaku kilkist elementiv pravil Atributi ta kategoriyi Politiki nabori politik pravila ta zapiti vsi vikoristovuyut sub yekti resursi otochennya ta diyi Element sub yekt ye sutnistyu sho zapituye dostup Sub yekt maye odin abo bilshe atributiv Element resurs ce dani servis abo komponent sistemi Resurs maye odin abo bilshe atributiv Element diya viznachaye tip zapitu z nadannya dostupu do resursa Diya maye odin abo bilshe atributiv Element otochennya mozhe opcionalno nadavati dodatkovu informaciyu Cili XACML viznachaye cil yaka zazvichaj ye naborom sproshenih umov dlya sub yekta resursu abo diyi sho mayut buti zadovoleni naborom politik politikoyu abo pravilom ta zastosovani do konkretnogo zapitu Yak tilki viznacheno politiku abo nabir politik sho stosuyutsya danogo zapitu yiyi pravila obchislyuyutsya shob viznachiti rishennya shodo nadannya dostupu ta vidpovid Okrim togo sho cili viznachayut zastosovuvanist informaciya shodo cilej nadaye sposib indeksaciyi politik Sho osoblivo korisno yaksho potribno zberigati bagato politik a potim shvidko pereglyanuti yih z metoyu viznachennya togo yaku zastosuvati Koli prihodit zapit na nadannya dostupu PDP bude znati de shukati politiki yaki mozhut buti zastosovani do danogo zapitu oskilki politiki indeksuyutsya zgidno z yih cilovih obmezhen Zauvazhte sho cil mozhe viznachati sho vona povinna zastosovuvatis do kozhnogo zapitu Nabori politik politiki ta pravila vsi mistyat cilovi elementi Umovi Umovi isnuyut lishe u pravilah Umovi zagalom ye rozshirenoyu formoyu cili sho mozhe vikoristovuvati bilsh shirokij diapazon funkcij ta sho bilsh vazhlivo mozhe vikoristovuvatis dlya porivnyannya dvoh abo bilshe atributiv tobto subject id doctor id Za umovi sho mozhlivo implementuvati rozpodil obov yazkiv perevirki keruvannya dostupom na osnovi rolej Obov yazki Razom z XACML zastosovuyetsya koncepciya obov yazkiv Obov yazkom ye vkazivka vid Miscya virishennya politik PDP do miscya zastosuvannya politik PEP z privodu togo sho maye vidbuvatis do abo pislya togo yak dostup nadano Yaksho PEP ne mozhe vikonati direktivu nadannya dostupu ne mozhe abo ne povinno buti realizovane Zbilshennya obov yazkiv nivelyuye progalinu mizh formalnimi vimogami ta dotrimannyam politiki Priklad obov yazku navedeno nizhche Pravilo keruvannya dostupom Dozvoliti dostup do resursu MedicalJournal z atributom patientID x yaksho Sub yekt zbigayetsya z DesignatedDoctorOfPatient ta diya prochitati z obov yazkami pri nadanni dostupu doLog Inform patientID Sub yekt chas pri vidmovi u dostupi doLog UnauthorizedLogin patientID Sub yekt chas XACML s obov yazki mozhut sluguvati efektivnim sposobom zadovolennya formalnih vimog napriklad ne vidmova takih yaki vazhko realizuvati za dopomogoyu pravil keruvannya dostupom Bilshe togo bud yaki formalni vimogi budut chastinoyu politiki keruvannya dostupom yak obov yazkiv ta ne yak okremih funkcij sho robit politiki uzgodzhenimi ta dozvolyaye dosyagti centralizaciyi IT seredovisha prostishim sposobom PosilannyaBest Karl 16 April 2001 OASIS Arhiv originalu za 1 listopada 2016 Procitovano 31 October 2016 www axiomatics com Arhiv originalu za 22 zhovtnya 2016 Procitovano 6 lyutogo 2017 OASIS oasis open org Arhiv originalu za 25 lyutogo 2021 Procitovano 10 serpnya 2010 eXtensible Access Control Markup Language XACML V3 0 approved as an OASIS Standard 4 grudnya 2019 u Wayback Machine eXtensible Access Control Markup Language XACML V3 0 approved as an OASIS Standard PDF Arhiv originalu PDF za 7 lyutogo 2017 Procitovano 7 lyutogo 2017 a href wiki D0 A8 D0 B0 D0 B1 D0 BB D0 BE D0 BD Cite web title Shablon Cite web cite web a Obslugovuvannya CS1 Storinki z tekstom archived copy yak znachennya parametru title posilannya Arhiv originalu za 11 bereznya 2017 Procitovano 7 lyutogo 2017 a href wiki D0 A8 D0 B0 D0 B1 D0 BB D0 BE D0 BD Cite web title Shablon Cite web cite web a Obslugovuvannya CS1 Storinki z tekstom archived copy yak znachennya parametru title posilannya