Virtual Organization Membership Service
Frohner Ákos Akos.Frohner@cern.ch
CERN,
Lőrentey Károly lorentey@elte.hu
ELTE
Az autorizáció kulcsszerepet játszik a Grid erőforrásainak
elérésében. Az autentikációhoz
hasonlóan az autorizáció esetében sem célszerű a jogosultsági
információkat teljes egészében a végpontokon lokálisan felügyelni, mivel az
erőforrásokat felhasználni kiváló személyek általában nem állnak közvetlen
kapcsolatban az ezeket kezelő adminisztrátorokkal.
Célszerű bevezetni az alábbi fogalmakat:
·
Virtuális szervezetek (VO, Virtual Organizations): a
közös adminisztrátori tartományban lévő felhasználókat, szervezeti
egységeket és (esetleges) erőforrásokat tömörítő absztrakt entitások.
·
Erőforrás-szolgáltatók (RP, Resource Providers): a
VO-k tagjai számára a saját házirendük szerint erőforrásokat
(processzoridőt, hálózati eszközöket, tároló kapacitást) biztosító
egységek.
Az autorizáció szemszögéből a Grid az erőforrás-szolgáltatók
és a virtuális szervezetek közti megegyezéssel jön létre, melynek során az
elérési jogosultságok megállapításába mindkét fél bele kíván szólni.
1. A felhasználó
és a VO-ja közti kapcsolat leírása, ide értve azokat a csoportokat (groups),
amelyeknek a felhasználó tagja, a felhasználó szerepköreit (roles) valamint
explicit jogosultságait (capabilities).
2. Az
erőforrások saját házirendje, mely a fenti információk alapján engedélyezi
vagy megtiltja az erőforrás elérését.
Véleményünk szerint az 1. pont alá tartozó információkat
célszerű a VO által felügyelt központi szerverben tárolni, míg a 2. pont
házirendjeit kényelmes az erőforrások közvetlen közelében, egy helyi
ACL-ben (access control list, hozzáférés-vezérlő lista) tartani.
Röviden leírjuk a jogosultság-eléréssel kapcsolatos
követelményeket, és bemutatjuk az Európai DataGRID projekttel (EDG)
együttműködésben fejlesztett, a VO-szintű tagsági információkat
kezelő új szolgáltatást, a Virtual Organization Membership Service-t
(VOMS).
A VOMS a Grid Security Infrastructure (GSI) által
biztosított autentikációs és jogosultság-delegációs megoldásokra épít.
Az erőforrás-elérések jogosságának ellenőrzését
a VO-kal történő megegyezés szerint maguk az erőforrások végzik.
Egy felhasználó egyszerre több VO-nak is tagja
lehet. Egy VO-n belül felhasználói
csoportok és alcsoportok tetszőlegesen bonyolult szerkezetét alakíthatjuk
ki, az adott VO-n belüli különböző felhasználói szerepek megkülönböztetése
céljából. Egy felhasználó
tetszőleges számú csoportba sorolható.
A felhasználókat a VO egészére nézve és csoportokra
lebontva egyaránt tetszőleges számú szerepkörrel (role) és explicit
jogosultsággal (capability) ruházhatjuk fel.
Az erőforrás által végzett
jogosultság-ellenőrzés részletei alapvetően az erőforrás és a VO
közti megállapodásnak megfelelően, a VO által szolgáltatott információkra
(csoport-tagságok, szerepkörök, jogosultságok) alapozva kerülnek
meghatározásra, azonban az erőforrás-szolgáltatók helyi szinten bármikor
felülbírálhatják a VO attribútumait (pl. egyes felhasználók egyedi letiltása
érdekében). Ebből következően a felhasználóknak továbbra is
igazolniuk kell magukat; a VOMS által szolgáltatott autorizációs információk
önmagukban nem elegendők az erőforrások igénybevételéhez.
A felhasználói információkat egy relációs adatbázisban
tároljuk; a VOMS szerver lényegében egy felületet biztosít ezen adatbázis
eléréséhez.
A VOMS rendszer az alábbi részekből áll:
·
Végfelhasználói szerver (vomsd): fogadja a kliensek
kéréseit, és egy attribútum-tanúsítvány formájában átadja egy felhasználóról
rendelkezésre álló adatokat.
·
Végfelhasználói kliens (User client): a felhasználó
(proxy) tanúsítványa segítségével kapcsolatba lép a végfelhasználói szerverrel,
és átveszi a felhasználó csoport-, szerepkör- és explicit
jogosultság-információit.
·
Adminisztrátori szerver (vomsadmind): fogadja a kliensek
kéréseit és megfelelő ellenőrzések után frissíti a VOMS adatbázist.
·
Adminisztrátori kliens (Admin client): a VO
adminisztrátorok használják új felhasználók vagy csoportok létrehozásához, a
tagsági információk kezeléséhez stb.
Figyelembe kell vennünk azt a természetes követelményt,
hogy a VOMS bevezetésével a felhasználóknak lehetőleg minél kevesebb
változással kelljen szembesülniük.
Ezért a VOMS információk lekérését és a proxy tanúsítványba építését nem
külön kliensprogrammal oldottuk meg, hanem a proxy tanúsítvány létrehozására
szolgáló jól ismert grid-proxy-init programot egészítettük ki ezekkel a
lépésekkel. A VOMS tagsági
információkat egyelőre egy ad-hoc szerkezetű, a szerver által aláírt
,,pszeudo-tanúsítványban” adjuk vissza, mely a felhasználó adatai mellett
tartalmazza a VOMS szerver azonosító információit is. (A következő kiadásban a pszeudo-tanúsítványt szabványos
attribútum-tanúsítványra fogjuk cserélni.)
A felhasználó egyszerre több VOMS szervertől
származó pszeudo-tanúsítvánnyal is rendelkezhet.
A tanúsítványban tárolt autorizációs információk
felhasználásához a Globus Gatekeepernek a szokásos
tanúsítvány-ellenőrzésen felül a proxy tanúsítványba épített
pszeudo-tanúsítványt is fel kell dolgoznia.
Ez egy LCAS plug-in segítségével könnyen megoldható. A pszeudo-tanúsítvány a proxy tanúsítvány
egy opcionális kiterjesztése, így a proxy továbbra is használható a VOMS
információk feldolgozására fel nem készített szolgáltatások elérésére.
Az adminisztrátori kliensek két típusa (grafikus
felületű és parancssori változat) ugyanazt a szervert használja az
adatbázis módosításához. A szerver SOAP
protokoll felett érhető el, így a VOMS könnyedén OGSA szolgáltatássá alakítható. A szolgáltatás funkcióit három csoportba osztjuk:
a Core interfész a végfelhasználói funkciók SOAP feletti elérésére szolgál, az
Admin interfész a VOMS adatbázis adminisztrátori funkcióit tartalmazza, és a
History interfész szolgál a korábbi adatbázis-állapotok lekérdezésére.
Ez utóbbi interfész segítségével az adatbázis
tetszőleges korábbi állapotát lekérdezhetjük. Az adatbázis valamennyi táblájában nyilvántartjuk, hogy az egyes
sorokat ki és melyik tranzakcióban hozta létre. A tranzakciókat adatbázis-szinten egyedi, szekvenciális
sorszámmal azonosítjuk. A már
létrehozott sorokat sohasem módosítjuk, és nem is töröljük -- az érvényüket
vesztett adatokat archív táblákba tesszük át.
Az elévült adatok online tartásával bármikor módunkban áll olyan
kérdésekre választ adni, mint pl. ,,tagja volt-e az F felhasználó tavaly
szeptember 6-án a G csoportnak”, vagy ,,melyik adminisztrátor adta hozzá az F
felhasználót a G csoporthoz”.
A VOMS szerver a jogosultsági információk kiadása
előtt elvégzi a szokásos GSI biztonsági ellenőrzéseket a felhasználó
tanúsítványán (ismert, megbízott hitelesítő hatóság által kiadott,
érvényes, nem visszavont tanúsítvány).
A kiadott attribútumok egyetlen tanúsítványhoz kötődnek, attól
elválasztva nem használhatók.
A VOMS szerver titkos kulcsának megszerzésével
tetszőleges attribútumhalmaz generálható, amivel a VO-val kapcsolatban
lévő potenciálisan bármelyik erőforrás jogosulatlanul
elérhető. A szerver puszta
megbénításával is jelentős károk okozhatók, hiszen VOMS szerver nélkül a
felhasználók nem tudják lekérni attribútumaikat, így az erőforrások sem
használhatóak. Elengedhetetlen feltétel
tehát a VOMS szerver integritásának védelme.
A következő időszak feladatai közé tartozik az
attribútum-tanúsítványok használata, adatbázis-replika mechanizmusok
kidolgozása, valamint lejárati határidő-megadási lehetőségek
kidolgozása a VOMS tanúsítványokra és a csoport-tagsági információkra.