Java aktuell 07/18

Automatisiertes Access Management mit Keycloak

Autor:

Viele Anwendungen nutzen Drittanwendungen für die Authentifizierung und Autorisierung der Endnutzer. Die Integration dieser sicherheitskritischen Dienste ist häufig nicht automatisiert, damit unpraktisch für die Entwickler und zudem fehleranfällig. Dieser Artikel stellt den Standard der „OpenID Connect Dynamic Client Registration“ vor und auf dessen Basis ein automatisiertes Access Management, beispielhaft implementiert mit dem Open-Source-Tool Keycloak und dem CI-/CD-Server Jenkins.

Die Automatisierung manueller Schritte hat in der Anwendungsentwicklung mittlerweile breite Akzeptanz gefunden. CI-/CD-Server unterstützen dabei enorm. Entwickler veröffentlichen Code-Änderungen in Versionskontroll-Systemen, CI-/CD-Server übernehmen danach viele aufwändige Tasks. Vom Bauen und Testen bis hin zur Integration und Veröffentlichung der Anwendung sind im optimalen Fall keine manuellen Interaktionen mehr notwendig. Dabei werden die Tasks aus unterschiedlichen Gründen automatisiert. Zunächst einmal soll dadurch die Geschwindigkeit erhöht werden. Es wird versucht, die Zeit zu minimieren, in der der Entwickler auf Rückmeldung wartet, ob seine Änderung erfolgreich integriert und somit veröffentlicht werden kann. Zudem sind Tasks reproduzierbar gespeichert. Automatisierungs-Artefakte enthalten möglichst alles an Expertenwissen; Tasks können somit wiederholt und ohne Abhängigkeiten zu bestimmten Verantwortlichen ausgeführt werden. Zudem sind manuelle Tasks fehleranfällig und ein hoher Automatisierungsgrad sorgt für sehr robuste Systeme.

Vollständiger Artikel