© Enkel/Shutterstock.com
Java EE Security API

Soteria: Heilsbringer für die API-Security?


Mit dem Java-EE-8-Release im letzten Jahr kam nur wenig komplett Neues auf den Tisch der Enterprise-Spezifikation. Das Java EE Security API unter dem JSR-375 ist eine dieser Neuheiten. Security ist erfahrungsgemäß ein Thema, mit dem sich nur wenige Entwickler gerne intensiv und ausführlich auseinandersetzen, gab es in der Java-EE-Spezifikation in den letzten Jahren doch keinen einheitlichen Standard für die Plattform an sich.

Alle bis dato vorhandenen Möglichkeiten wie JAAS (Java Authentication and Authorization Service), JACC (Java Authorization Contract for Containers) und JASPIC (Java Authentication Service Provider Interface for Containers) waren hersteller- bzw. containerspezifische Implementierungen, die nicht oder nur schwer portiert werden konnten und kein Teil der Anwendung waren. Zusätzlich war die Verwendung von CDI innerhalb dieser Spezifikationen nicht möglich. Nicht zuletzt, weil es die existierenden Securitymöglichkeiten schon deutlich vor der Zeit gab, seit der CDI in der EE-Spezifikation enthalten ist. Wer modernere Mechanismen in seiner Anwendung verwenden wollte, musste in der Vergangenheit auf mehr oder weniger proprietäre Frameworks innerhalb der Anwendung zurückgreifen.

Die Standardisierung und Vereinheitlichung von Securitymechanismen für die Java-EE-Plattform hat sich der JSR-375 [1], das Java EE Security API [2], zum Ziel gesetzt. Da die Containerkonfiguration entfällt und sich die verschiedenen Sicherheitsaspekte im Code per Annotationen setzen und konfigurieren lassen, werden Java-EE-Anwendungen dadurch kompatibler zwischen verschiedenen Application-Servern. Da außerdem keine zusätzlichen Frameworks mehr verwendet werden müssen, werden die Anwendungen leichtgewichtiger und bringen weniger Abhängigkeiten mit. Warum die JSR Expert Group aber diese Features speziell als Cloud-ready bezeichnet, bleibt rätselhaft und ist wohl eher in der Marketingecke anzusiedeln. Damit eine Anwendung Cloud-ready wird, ist mehr notwendig, als nur ein paar Annotationen einzuführen. Eine verteilte oder Cloud-Anwendung setzt hinsichtlich Sicherheit auf mehr als nur Containerunabhängigkeit.

Die Referenzimplementierung des JSR-375 nennt sich Soteria und ist, wie auch die Spezifikation selbst, bei GitHub zu finden [3]. Das Wort „Soteria“ [4] kommt aus dem Griechischen und bedeutet so viel wie „Rettung“, „Wohl“ oder „Heil“. Der Begriff wird häufig in Verbindung mit Einrichtungen zur Behandlung psychischer Probleme oder Krisen genannt. Eine Verbindung zwisc...

Exklusives Abo-Special

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang