Az XACML (eXtensible Access Control Markup Language) egy olyan kiterjeszthető nyelv, mellyel XML formátumban lehet a felhasználók erőforrásokhoz való hozzáférésének karbantartását szabványos formában leírni. Kifinomult elosztott jogosultság ellenőrzést hivatott végezni. Mellette még ismert az SAML (Security Assertion Markup Language).

Az XACML-modell egy sokszereplős elosztott biztonsági modell, amely rugalmas jogosultság ellenőrzést tesz lehetővé. A modellben szereplő szoftvermodul egyszerre több szerepet is betölthet, tehát fizikailag nem feltétlenül kell nagy számú elemnek szerepelnie.

A legelső verzió a 2.0 amelyet az OASIS adott ki 2005. február 1-jén.

Később már elérhetővé vált az XACML 3.0 vázlata, 2009. április 16-tól.[1]

Az XACML 3.0 2011 májusában elnyerte az Influential Standardization Efforts díjat az Európai Személyazonossági Konferencián (European Identity Conference) München-ben.[2]

Terminológia

szerkesztés

Nem normatív terminológia (részletesebben RFC 2904, kivéve PAP)

Kifejezés Leírás
PAP Policy Administration Point - Rész amely egy eljárásmódot kezel.
PDP Policy Decision Point - Rész amely megbecsüli és kiosztja a döntés engedélyezését.
PEP Policy Enforcement Point - A pont ahol megszakítjuk a felhasználó hozzáférési kérelmét az erőforráshoz és kikényszeríti a PDP döntést.
PIP Policy Information Point - A pont amikor gondoskodunk a külső információkról a PDP-nek, mint amilyen az LDAP attribútum információja.

Az XACML modell és folyamat

szerkesztés

A következő ábrán látható, hogy miként is épül fel a modell.

 
XACML modell

Az XACML folyamat a következő ellenőrzési lépésekből áll:

  1. A házirend-adminisztrációs pont (Policy Administration Point, PAP) tartja nyilván a házirendeket és elérhetővé teszi azokat a házirend döntési pont (Policy Decision Point, PDP) számára. Ezek a házirendek egy-egy adott erőforrásra vonatkoznak.
  2. A hozzáférés kérő entitás a kéréseit minden esetben a házirend-végrehajtó pontnak (Policy Enforcement Point, PEP) küldi el.
  3. A PEP a kérést a Kontextuskezelő felé továbbítja, amely ettől a ponttól kezdve gyakorlatilag közvetít a többi modul között az ellenőrzési folyamat során.
  4. A Kontextuskezelő egy XACML kérést generál a PDP felé.
  5. A PDP – ismervén, hogy a házirend milyen tulajdonságok alapján rendelkezik, – a megfelelő attribútumokra vonatkozó információkérést visszaküldi a Kontextuskezelőnek.
  6. A Kontextuskezelő a PDP által kért attribútumokra vonatkozó kérést elküldi a házirend információs pontnak (Policy Information Point, PIP). A PIP tudja, hogy az egyes attribútumokat honnan és milyen módon lehet lekérdezni.
  7. A PIP összegyűjti a megfelelő helyekről (erőforrások, környezet, személyek) a kért attribútumokat.
  8. A PIP visszaküldi a kért attribútumokat a Kontextuskezelőnek.
  9. Ha szükséges, a Kontextuskezelő az attribútumokkal együtt a megcélzott erőforrás tartalmának egy részét is begyűjtheti (tartalomalapú döntések esetén szükség lehet erre).
  10. A Kontextuskezelő továbbítja a kért attribútumokat (és az esetleges tartalmat) a PDP-nek.
  11. A PDP meghozza a döntést az ismert házirendek alapján, és a döntést visszaküldi a Kontextuskezelőnek.
  12. A Kontextuskezelő a PEP felé továbbítja a döntést.
  13. A PEP eleget tesz a kötelezettségeinek. Ezek olyan további szükséges tevékenységek, amelyeket a PDP a döntéssel együtt előír a PEP számára. A kötelezettségek jellemzően olyan formális követelményeknek tesznek eleget, amelyeket más módon nehéz megfogalmazni hozzáférési szabályok mentén.
  14. Amennyiben a hozzáférés engedélyezett, úgy a PEP lehetővé teszi az erőforráshoz való hozzáférést, máskülönben tiltja azt.
  1. XACML 3.0 - work in progress.. OASIS (oasis-open.org). (Hozzáférés: 2009. szeptember 9.)
  2. XACML 3.0 home

Külső hivatkozások

szerkesztés