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.