Viele Microservice-Architekturen setzen auf den OAuth 2.0 Standard. Während die Authentifizierung sehr standardisiert ist, stellt sich die Autorisierung immer wieder als eine organisatorische Herausforderung dar. Beim klassischen Ansatz bekommt der Service die Rollen vom Autorisierung Server (im Token) mitgeteilt und entscheidet selbständig über die daraus resultierenden Berechtigungen. In großen Systemlandschaften wird es dabei schwierig den Überblick zu behalten. Änderungen der Berechtigungen erfordern Anpassungen an allen betroffenen Anwendungen. Bei komplexen Berechtigung Konzepten wird die Analyse und Nachverfolgungen auf verschiedenen Systemen notwendig und ist damit sehr aufwendig. Ein alternativer Ansatz stellt das UMA Protokoll dar. UMA 2.0 ist hierbei eine Erweiterung des offenen Standardprotokolls OAuth 2.0, das eine sichere API-Autorisierung ermöglicht. Hierbei delegiert der Service die Auswertung der Berechtigung an den Autorisierung Server. In diesem ist Zuordnung der Rollen und Berechtigungen zentral organisiert. Der Anwendungscode muss bei Änderungen nicht angepasst werden. In den Anwendungen muss hierfür kein Code dupliziert werden. UMA wird von verschiedenen Software Anbietern unterstützt.

Der Vortrag zeigt Vor- und Nachteile des Einsatzes von UMA mittels Keycloak und Spring Boot.