A Java Authorization Contract for Containers (angol rövidítéssel Java ACC) specifikáció egy megállapodást definiál a Java EE alkalmazásszerver é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 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

Részletek A JACC része a Java EE specifikációnak és egy szerep alapú modell segítségével 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ához. A Java EE konténerek a kliens azonossága alapján szűkítik a kliens hozzáférést az ott definiált 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é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 a következő előnyöket biztosítják: 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 Elérhetővé teszi egy közös házirend használatát különböző biztonsági rendszerek között 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. segítségével konténereket integrálni a Java EE rendszer integrátorok meglévő autorizációs házirend infrastruktúrájába Lehetővé teszi a fejlesztők számára, hogy használják a Java EE standard biztonsági infrastruktúráját, de a biztonságot adó szolgáltatók transzparensen csatolhatók legyenek a Java EE alkalmazásszerverü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. Megállapodás részei Egy megállapodás három részre oszlik: A szolgáltató konfigurációs megállapodása A házirend konfigurációs megállapodása A házirend döntő és végrehajtó megállapodása Szolgáltató konfigurációs megállapodása A szolgáltató konfigurációs megállapodása 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ása

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

A házirend döntő és végrehajtó megállapodása

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

Verziótörténet A JACC a Java EE része és az 1.4-es verzió óta együtt jelennek meg. Íme az összefüggés a két specifikáció között: J2EE 1.4 (2003. november 11.) – JACC 1.0 Java EE 5 (2006. május 11.) – JACC 1.1 Java EE 6 (2009. december 10.) – JACC 1.4 Java EE 7 (2013. június 12.) – JACC 1.5

További információk JSR-115 JBoss Chapter 5. Security J2EE 1.4 Tutorial

Kategória:Java API-k