Ugrás a tartalomhoz

Java Authorization Contract for Containers

A Wikipédiából, a szabad enciklopédiából
A lap korábbi változatát látod, amilyen Zoltan.dudas.wiki (vitalap | szerkesztései) 2011. május 9., 22:40-kor történt szerkesztése után volt. Ez a változat jelentősen eltérhet az aktuális változattól. (Új oldal, tartalma: „A Java ACC specifikáció definiál egy megállapodást a Java EE alkalmazás szerver és egy autorizációs házirend szolgáltató között. Minden Java EE konténer t…”)
(eltér) ← Régebbi változat | Aktuális változat (eltér) | Újabb változat→ (eltér)

A Java ACC specifikáció definiál egy megállapodást a Java EE alkalmazás szerver és egy autorizációs házirend szolgáltató között. Minden Java EE konténer támogatja ezt a megállapodást.

Áttekintés

A Java Authorization Contract for Containers (Java ACC) specifikáció (JSR-115) új java.security.Permission osztályokat definiál, melyek megfelelnek a Java 2 Platform, Enterprise Edition (J2EE) autorizációs modellnek. A Java ACC specifikáció definiálja a konténer hozzáférhetőségi döntések kötését az ezen engedély osztályok példányainak operandusaihoz. Definiálja a házirend(policy) szolgáltatók szemantikáját, akik alkalmazzák az új engedély osztályokat, hogy teljesítsék a J2EE autorizációs követelményeit, köztük a következőket: (beleértve a szerepek létrehozását és használatát)

  • Szerepek definiálása, mint engedélyek nevezett kollekciója
  • Szerepeknek megfelelő engedélyek megadása a megbízónak
  • Annak meghatározása hogy egy megbízó megkapta-e egy szerephez tartozó engedélyt
  • Az azonosítók definíciója a szerep leképezésekhez, mely összeköti az applikációbeli azonosítókat az applikáció hatáskörű szerep nevekhez

Verziók

  • J2EE 1.4 (November 11, 2003) - JACC 1.0
  • Java EE 5 (May 11, 2006) - JACC 1.1
  • Java EE 6 (Dec 10, 2009) - JACC 1.3

Részletek

JACC része a J2EE specifikációnak és egy szerep alapú modellel definiál egy módszert a szervletek és az ejb konténerek számára a web erőforrások és konténerek biztosítására. J2EE konténerek a kliens azonossága alapján szűkítik a kliens hozzáférését a bennük levő erőforrásokra és szolgáltatásokra.

JACC megállapodások ezt a funkcionalitást erősítik szerepek definiálásával, melyek engedélyek kollekciója és a java.security.Permission osztály alosztályai. Továbbá JACC megállapodások a konténerek számára biztosítanak egy eszközt hozzáférérési döntések meghozatalára ezen engedélyekkel dolgozva, valamint definiál egy mechanizmust mellyel autorizáció szolgáltatók telepítve és konfigurálva lesznek a konténerek általi használathoz.

JACC megállapodások biztosítják a következő előnyöket:

  • JACC a biztonsági adminisztrációt és döntéshozatal felelősségét áthelyezi a konténertől a biztonsági szolgáltatóhoz
  • JACC elérhető teszi egy közös házirend használatát különböző biztonsági rendszerek között
  • JACC külső autorizációs szolgáltatók számára lehetővé teszi hogy bekapcsolódjanak az alkalmazás szerverekbe szabványos interfészeken keresztül a házirendek konfigurálásához és hozzáférhetőségi döntések meghozatalához.
  • J2EE rendszer integrátorok meglévő autorizációs házirend infrastruktúrába képesek konténereket integrálni
  • Lehetővé teszi a fejlesztők számára hogy használják a J2EE standard biztonsági infrastruktúráját, de a biztonságot adó szolgáltatók transzparensen csatolhatóak legyenek a J2EE 1.4 alkalmazás szerverükbe.

Korábbi definíciók problémáit orvosolja:

  • Minden hozzáférhetőségi döntést az alkalmazás szerver hozott, kivéve ha szabadalmazott interfészeket használnak külső pluginekhez
  • Nem volt szabvány az alkalmazás szerverek és az autorizációs szolgáltatók integrálására. Nem volt szabványos reprezentálása az alkalmazás biztonsági házirendjeinek (szerepkörök, erőforrások, erőforrások - szerepek leképezés) és nem volt szabványos interfész a hozzáférhetőségi döntésekhez (deklaratív vagy programbeli)

A Java ACC specifikáció definiálja a konténerek használatához az autorizáció szolgáltatók telepítését és konfigurálását oly módon hogy a konténerek engedélyezési döntéshozatalában használatra kerülnek. A specifikáció definiálja azon interfészeket melyeket a szolgáltatónak elérhetővé kell tennie, hogy a konténer telepítő eszközök számára lehetővé tegye a szerepeknek megfelelő engedély kollekciók készítését és menedzselését.

Egy megállapodás három alrészre oszlik:

  • A szolgáltató konfigurációs megállapodás
  • A házirend konfigurációs megállapodás
  • A házirend döntő és végrehajtó megállapodás

A szolgáltató konfigurációs megállapodás definiálja a szolgáltatókkal és konténerekkel szembeni elvárásokat oly módon, hogy házirend szolgáltatók integrálhatóak legyenek a konténerekkel.

A házirend konfigurációs megállapodás definiálja a konténerek telepítő toolok és szolgáltatók közti interakciókat oly módon, hogy támogassa a deklaratív J2EE autorizációs házirend fordítását a J2SE házirend szolgáltatóbeli házirend állításokra.

A házirend döntő és végrehajtó megállapodás definiálja az interakciókat konténer házirend végrehajtó pontok és a szolgáltatók között, akik a J2EE konténerek által igényelt házirend döntéseket implementálják.

Referenciák