Externalisierte Sicherheit – richtig gemacht

Die Grundidee der Externalisierung von Sicherheit aus Anwendungen heraus wurde schon mehrfach angesprochen. Wenn es aber um das Wie geht, sieht man sich schnell mit zwei Herausforderungen konfrontiert: Granularität und Performance.

Beim Blick auf SOA-Umgebungen wird das schnell deutlich. Zum einen geht es bei ihnen darum, die Möglichkeit zu schaffen, dass nicht nur der Aufruf von Services autorisiert wird, sondern dass sich auch innerhalb von Services Abfragen gegen das Autorisierungssystem durchführen lassen, um eine zentrale Regelbasis zu nutzen. Mit anderen Worten: Man muss in der Lage sein, auf einfache Weise das Policy Enforcement zu starten und den PEP (Policy Enforcement Point) praktisch in der Anwendung zu verankern, mit dem auf den PDP (Policy Decision Point) zugegriffen wird.

Hierzu gibt es einige interessante Ansätze von Anbietern solcher Lösungen. Klar ist aber: Wer feine Granularität möchte, muss eine Bindung aus seinen Anwendungen zu externen Systemen eingehen. Das sollte so geschehen, dass man die externen Autorisierungssysteme flexibel austauschen kann, um sich nicht an einen bestimmten Hersteller zu binden.

Solch ein interessanter Denkansatz ist, Claims zu verwenden, also letztlich Attribute auf Basis von Standard-Federation-Techniken transportieren zu lassen. Der Reiz ist, dass diese Schnittstellen heute schon deutlich etablierter sind als beispielsweise direkte XACML-Schnittstellen (eXtensible Access Control Markup Language). Hierüber lohnt es sich in jedem Fall nachzudenken.

Die zweite Herausforderung ist die Performance. Wenn man aus einer Anwendung heraus über den PEP zum PDP muss, dieser auf einen PRP (Policy Retrieval Point) und vielleicht auch noch – je nach Konstruktion auf dem Umweg über einen Context Handler – auf einen PIP (Policy Information Point) muss, um Regeln (PRP) und weitere Attribute zum Benutzer und dessen Kontext (PIP) zu ermitteln, kann der Weg ganz schön lang werden. Und Länge bedeutet eben auch einen Einfluss auf die Performance. Mit anderen Worten: Es ist genau zu überlegen, wo man welche Komponenten platziert – und jede Komponente muss auf Performance optimiert sein. Dem Caching beispielsweise von Regeln kommt eine ebenso wichtige Bedeutung zu wie der lokalen Platzierung etwa von PDPs, die damit verteilt arbeiten.

Viel konzeptionelle Arbeit ist nötig, aber das Ergebnis einer zentralisierten, nachvollziehbaren Steuerung von Autorisierung ist die Arbeit wert. Es ist ja nicht so, dass das alles neu wäre – in Host-Umgebungen finden sich solche Ansätze in anderer Form oft schon seit vielen Jahren und manchmal gar seit Jahrzehnten.



KuppingerCole Select

Register now for KuppingerCole Select and get your free 30-day access to a great selection of KuppingerCole research materials and to live trainings.

Stay Connected

KuppingerCole on social media

Subscribe to our Podcasts

KuppingerCole Podcasts - listen anywhere


How can we help you

Send an inquiry

Call Us +49 211 2370770

Mo – Fr 8:00 – 17:00