Authentisierung und Autorisierung in einer Microservice-Applikation

Softwareentwicklung mit Open Source
08.09.2021


9:00 – 17:15 Uhr
ETH Zürich
Max. Teilnehmer: 20

Einleitung

Eine der wichtigsten Säulen der IT-Sicherheit jeder Applikation ist die zuverlässige Authentifizierung eines Benutzers und seine Autorisierung für die einzelnen Operationen. Während bei monolithischen Systemen dies mit einer Login-Seite und einer Session-ID einfach gelöst werden kann, ist es in einer Microservice-Architekturen mit einzelnen verteilten Komponenten nicht mehr ganz so einfach.

Die einzelnen Services sollen möglichst wenig mit der Authentisierung zu tun haben, aber trotzdem ohne zentrale Komponente oder ein komplexes Session-Management unabhängig entscheiden können, ob ein Aufruf berechtigt ist oder nicht. Dieses Problem kann auf unterschiedliche Arten gelöst werden, doch welche passt zu meiner Applikation?

In einem Theorieteil werden wir unterschiedliche Lösungsstrategien sowie deren Vor- und Nachteile kennen lernen. Danach werden wir Hands-On eine eigene kleine Microservice-Applikation entwickeln und für diese eine Authentisierung auf Basis von Open-ID-Connect und Keycloak implementieren.

Programm

  • Einführung in Identitäts- und Access-Management
  • Authentisierung in einer Microservice-Applikation
  • Kennenlernen und aufsetzten von Keycloak
  • Anbinden einer einfachen eigenen Applikation an Keycloak
  • Entwickeln eines abgesicherten REST-APIs
  • Anbinden einer Social-Identity-Provider wie z.b. Google oder Facebook
  • Keyloak erweitern mit eigenen Plugins

Kursziel

Die Teilnehmenden haben erste Erfahrungen mit dem Thema Identitätsfederation und Keycloak gesammelt. Sie erhalten das Basiswissen, um ihre eigenen Applikationen mit OpenID-Connect abzusichern sowie Social-IDPs anzubinden.

Adressaten

Entwickler und Architekten die einen Überblick über Authentisierung in einer Microservice-Architektur und Hands-On Erfahrungen mit Identitätsmanagement und Keycloak gewinnen wollen.

Voraussetzungen

  • Erfahrungen in Erstellen eines REST-Backends z.B. mit Java/Spring, Node.Js oder ähnlichem
  • Grundkenntnisse in Java-Script und Docker von Vorteil

Infrastruktur

  • Eigener Laptop mit lauffähiger Docker-Installation (Linux, Windows, Mac)
  • Code Editor / IDE

Referenten

Matthias Graf

Ti&M


Matthias Graf für ti&m als Softwarearchitekt und Consultant im Java-Umfeld tätig. Sein besonderes Interesse gilt der Entwicklung von sicheren Web-Applikationen in einem agilen Umfeld. Seit 2015 beschäftigt er sich mit Identity- und Accessmanagement und unterstützt Kunden aus verschiedenen Branchen bei der Implementierung moderner IAM-Systeme.