Interview mit Claus Straube

„Auch bei Microservices kann man Security zentral abbilden“

Melanie Feldmann

Der Eindruck, über Security bei Microservices würde zu wenig gesprochen trügt. Da ist sich W-JAX-Speaker Claus Straube sicher. Vor allem die Lösungen aus dem Spring-Ökosystem sieht er als Beweis dafür. Außerdem ist für ihn der Unterschied zwischen Monolith und Microservice bei Security gar nicht so groß.

JAXenter: Über Microservices wird viel geredet, über die Absicherung der Services und ihrer Kommunikation aber recht wenig. Trügt dieser Eindruck?

Claus Straube: Ich bin mir sicher, jeder, der produktiv eine Microservice-Architektur einsetzt, bzw. einsetzen will, denkt über Security nach und redet dementsprechend auch darüber. Ein Indiz dafür liefern einerseits ausgereifte Lösungen wie Spring Cloud Security und meine Erfahrung, dass es für nahezu jede Frage irgendwo im Netz schon eine Antwort gibt. Security ist natürlich in der Microservice-Welt nur ein Teilaspekt – und oftmals nicht derjenige, der am meisten Spaß verspricht. Zudem gibt es viele unterschiedliche Themen, die in diesem Kontext besprochen werden. Vielleicht kommt daher der Eindruck über Security wird wenig geredet.

Security ist in der Microservice-Welt nur ein Teilaspekt – und oftmals nicht derjenige, der am meisten Spaß verspricht.

JAXenter: Welche besonderen Anforderungen stellen Microservices an die Authentifizierung?

Claus Straube: Die Herausforderung liegt aus meiner Sicht darin, dass der Security Context so in der Microservice-Wolke weiter gegeben wird, dass in jedem einzelnen Service klar ist, wer die Anfrage initial ausgelöst hat. Auch wenn ein Microservice nur indirekt durch den Nutzer aufgerufen wird. Beispielsweise ruft der Nutzer Müller eine Anfrage an Service A aus. Dadurch wird einer Anfrage an Service B ausgelöst, der dann Service C aufruft. In B und C muss klar sein, dass der Nutzer Müller gerade auf die Services zu greift. Glücklicherweise bietet uns das Spring-Ökosystem hier schöne und einfache Lösungen wie den OAuth Server mit User Service oder Spring Session.

Sehen Sie auch bei JAX TV: Moderne Authentifizierungslösungen mit OAuth 2.0 und AngularJS

JAXenter: Wenn jeder Service seine eigene Rechteverwaltung hat, steigt auch die Komplexität. Wann kann es sinnvoll sein, Services weniger streng zu entkoppeln, um die Absicherung zu vereinfachen?

Die Verwaltung der Rechte kann man auch in einer Microservice-Architektur zentral abbilden.

Claus Straube: Ich denke hier gibt es gar nicht so große Unterschiede zu monolithischen Systemen. Das jede Komponente oder Service seine eigene Rechteverwaltung hat – und dadurch von anderen entkoppelt ist – kann ja durchaus gewünscht sein. Rechteverwaltung hört sich auch etwas kompliziert an. Am Ende des Tages hat jeder Services eine Wolke an Permissions, Zugriffsobjekten oder wie auch immer man das nennen mag. Diese kann man zentral zu Rollen zusammenfassen, die man wiederum Nutzern oder Nutzergruppen zuordnen kann. Das heißt, die Verwaltung der Rechte kann man auch in einer Microservice-Architektur zentral abbilden, beispielsweise im User Service. So ein zentraler Verwaltungsservice ist dann natürlich wieder besonders schützenswert.

JAXenter: In Ihrer Session nutzen Sie für die Authentifizierung OAuth 2. Was sind die Vorzüge?

Claus Straube: Natürlich gibt es zahlreiche Alternativen zum selben Ziel zu kommen. Aus meiner Sicht gibt es aber gute Gründe auf OAuth2 als Protokoll zu setzen. Es ist ein Standard, es ist weit verbreitet, es gibt ein ausgereiftes Ökosystem – vor allem auch im Microservice-Kontext. Es ist flexibel und einfach einsetzbar, es lässt sich gut testen und es scheint für die meisten Anwendungsfälle sicher genug zu sein. Das reicht für mich, um es einzusetzen und auch darüber zu sprechen.

JAXenter: Vielen Dank für das Gespräch!

straube_claus_wpClaus Straube ist seit 2011 als IT-Architekt für Java-Architektur und Anwendungsintegration beim internen IT-Dienstleister (itM) der Landeshauptstadt München (LHM) angestellt. Zusätzlich berät er freiberuflich Organisationen in Architekturfragen – insbesondere bei Integrationsthemen. Aktuell beschäftigt er sich im Rahmen von Kundenprojekten mit Themen wie Spring Cloud, Docker, OAuth und Codegenerierung mit Xtext. Vor seiner Zeit bei der LHM war er als Entwickler und Architekt bei Oracle, Kabel Deutschland und einem Start-up beschäftigt.
Geschrieben von
Melanie Feldmann
Melanie Feldmann
Melanie Feldmann ist seit 2015 Redakteurin beim Java Magazin und JAXenter. Sie hat Technikjournalismus an der Hochschule Bonn-Rhein-Sieg studiert. Ihre Themenschwerpunkte sind IoT und Industrie 4.0.
Kommentare

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu: