Java Authentication and Authorization Service

Java Authentication and Authorization Service (JAAS) ist ein Java-API, welches es ermöglicht, Dienste zur Authentifizierung und Zugriffsrechte in Java-Programmen bereitzustellen. JAAS orientiert sich an den Pluggable Authentication Modules (PAM) und unterstützt dadurch eine benutzerbasierte Autorisierung. JAAS wurde ab der Version 1.3.1 der Java Platform, Standard Edition als Erweiterung ausgeliefert und ist ab der Version 1.4 Teil der Java Platform (sowohl Standard Edition als auch EnterpriseEdition). Die zugehörigen Schnittstellen und Klassen sind im Paket „javax.security.auth“ definiert.

Funktionsweise

JAAS definiert Standardklassen und ein über mehrere Schnittstellen vorgegebenes Framework, damit ein Java-Programm Anwender über eine verfahrens- und herstellerneutrale Schnittstelle authentisieren kann. Die eigentliche Authentisierungslogik ist in Provider-Module ausgelagert.

Die eigentliche Definition, wie ein JAAS-nutzendes Programm Anwender authentisieren und über welche Authentisierungsdatenquellen dies geschehen soll, wird in einer Java-Properties-Konfigurationsdatei festgelegt. So kann auch nach Fertigstellung eines Programms das verwendete Authentisierungsverfahren geändert werden, ohne den Programmcode modifizieren zu müssen.

Einsatz

Aufgrund der leicht veränderbaren Konfigurationsdatei und des prinzipiellen Aufbaus eines Java-Programms kann jeder Anwender mit Direktzugriff auf die Class- und Property-Dateien eines JAAS-Programms die verwendeten Provider-Module sehr leicht austauschen und so von einem Programm vorgesehene Sicherheitsbeschränkungen unterlaufen. Deswegen hat sich JAAS bei 2-Schicht-Anwendungen, bei denen die Anwendungslogik auf Endgeräten vom Anwender läuft, bisher kaum durchgesetzt.

Mit Java 1.4 werden folgende Provider Module mitgeliefert: Unix, NT LAN-Manager, Kerberos. Ab Java 6.0 ist zusätzlich ein LDAP-Authentication-Provider enthalten.

Sicher einsetzen lässt sich JAAS bei 3-Schicht-Anwendungen, bei denen die Anwendungslogik auf einen Applikation-Server außerhalb der Reichweite von Anwendern ausgelagert ist. Dort ist JAAS inzwischen auch ein De-facto-Marktstandard für Authentisierung. Dieser Standard wird weiter gefestigt, da alle namhaften Hersteller von Java Application Servern inzwischen grundsätzlich mehrere fertig einsetzbare JAAS-Provider-Module mit ihrem Application Servern mitliefern, mit denen gängige Authentisierungsprotokolle abgedeckt sind (z. B. LDAP, SAML, PKI Zertifikate, SQL-Datenbanken).

Für eine Anbindung an im Unix-Umfeld übliche PAM-Authentisierungsmodule wird ein Bridge-Modul benötigt, für das u. a. freie Implementierungen verfügbar sind.

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.