A Java Authentication and Authorization Service, vagy JAAS (ejtsd: "Jazz") Java biztonsági szolgáltatás, amely a felhasználók kezelésével kapcsolatos problémákra próbál megoldást nyújtani. A JAAS a JRE 1.4 óta a Java Runtime Environment része. Korábban a JAAS a Sun által kínált kiegészítésként volt elérhető.
A JAAS legfőbb célkitűzése, hogy a felhasználók kezelése a konkrét alkalmazástól függetlenül történjen. Ilyen esetekben olyan problémákat kell megoldani, hogy hol történjen a felhasználó azonosítása, vagy hol legyenek tárolva a felhasználók jogai stb. A JAAS egy, a Java-ban korábban létező biztonsági rétegét bővíti további ellenőrzési réteggel. A technológiához tartozó legfontosabb fogalmak: felhasználó (user), csoport (group) és a szerepkör (role).
A rendszer működése az alábbi fájlok segítségével állítható be:
*.login.conf: felhasználók bejelentkezését támogató modulok leírása *.policy: az erőforrást igénylő felhasználó vagy program jogainak meghatározása
Az alábbi példa egy login.conf fájl tartalmát mutatja be. A leírás meghatározza mindazokat a modulokat, amelyeknek a felhasználó azonosításához szerepük van.
login.conf
PetShopApplication { com.sun.security.auth.module.LdapLoginModule sufficient; com.foo.SmartcardLoginModule requisite; com.sun.security.auth.module.UnixLoginModule required debug=true; }
Egy alkalmazásfejlesztő szemszögéből, a JAAS egy szabványos könyvtár ami lehetőséget biztosít azonosítók és bizonyítványok ábrázolására, egy bejelentkezési szolgáltatást, ami jelez az alkalmazásnak valamilyen, az azonosításhoz felhasznált adatok bekérésére. A szolgáltatás ezt követően ellenőrzi a megadott adatok alapján a felhasználó jogait (amit a rendszer adminisztrátora állít be).
A JAAS a következőket nyújtja a biztonsági rendszert tervezőjének:
JAASRefGuide
jguard
jw-0913-jaas