Keycloak + erweiterte IAM-Funktionen

25 September 2018

Welche IAM-Funktionen bietet Login-Master über Keycloak hinaus an?

Keycloak ist auf die Entwicklung moderner Anwendungen und Services ausgerichtet mit dem Schwerpunkt „Authentifizierung“. Red Hat stellt die Open-Source-Software als Community-Version unter dem Namen „Keycloak“ zur Verfügung. Es gibt es auch eine kommerzielle Version: Red Hat SSO (Single Sign-On).

Die Open-Source-Lösung wird in zahlreichen Projekten eingesetzt, sei es im E-Commerce, im B2B-Bereich oder auch im öffentlichen Sektor. Das ist verständlich, weil Keycloak umfangreiche Funktionen bietet, wie z.B. eine sehr schnelle und verlässliche Authentifizierung, die Absicherung von Web-Anwendungen und vieles mehr. Das seit dem 10. September 2014 bestehende Red Hat-Projekt entstand aus der Verschmelzung von PicketLink mit der neu geschaffenen SSO-Lösung Keycloak. PicketLink hatte das Ziel, die Sicherheit und die Absicherung von Java-Anwendungen zu gewährleisten.

 

Warum wir Keycloak ergänzen

Wir von der Login Alliance beschäftigen uns seit dem Jahr 2016 mit Keycloak. Wir haben die Single-Sign-On-Lösung (SSO-Lösung) von Red Hat und diverse weitere Systemen evaluiert. Zudem haben sich einige unserer Kunden für Keycloak entschieden, weil es sicher, modern, sehr zuverlässig und leicht nutzbar ist.

Zudem basiert Login-Master auf Keycloak, ergänzt dessen Funktionalität in relevanten Bereichen und schafft so eine für Enterprise-Anforderungen geeignete Identity- und Access-Management-Lösung.

Ist Keycloak eine vollständige Enterprise IAM-Lösung?

Viele Unternehmen möchten gerne eine der beiden Red Hat Lösungen als IAM-System einsetzen. Sie fragen sich, warum wir nicht ausschließlich auf Keycloak als ganzheitliche IAM-Lösung setzen: Schließlich beinhaltet diese Lösung schon das Benutzer- und Zugriffsmanagement out-of-the-box.

Der Grund dafür liegt auf der Hand: Aus unserer langjährigen Erfahrung heraus wissen wir, dass die Keycloak-Komponenten lediglich einfacheren, rudimentären Anforderungen genügen. Für komplexere Enterprise-Anwendungen und Portale reichen sie meistens nicht aus. So genügen bspw. die Keycloak-Funktionen bei weitem nicht den Anforderungen an den Datenschutz gemäß der Europäischen Datenschutzgrundverordnung (EU-DSGVO).

Kann Keycloak die Basis einer Enterprise IAM-Lösung bilden?

Red Hat schreibt dazu: “RH SSO should be able to cover most use-cases using native functionality; however, the reality of enterprise environments is that customizations are usually required. This is especially true when dealing with web-based applications.”

Diese Einschätzung von Red Hat deckt sich mit den Anforderungen von Enterprise-Kunden, denn sie wünschen sich:

  • einen höheren Grad an Automatisierung, insbesondere für das User-Life-Cycle-Management
  • erweiterte Möglichkeiten für den Benutzer-Self-Service
  • ein erweitertes Zugriffsrechtemanagement, größtenteils automatisiert
  • eine Option, um delegierte Administratoren („Delegierte Administration“) einzusetzen
  • Workflows, um Ereignisse und Genehmigungen in die Unternehmensprozesse zu integrieren
  • ein Metadirectoy und die Provisionierung von Legacy-Anwendungen zur Integration von Datenquellen
  • unterstützende Services, wie professionelle IAM-/Keycloak-Beratung und -Support
s

Keycloak oder Red Hat SSO bietet keine der aufgeführten Funktionalitäten out-of-the-box an.

Aus diesem Grund haben wir von der Login Alliance den Entschluss gefasst, Keycloak als Basis zu nutzen und um die oben genannten Funktionalitäten anzureichern.

Wir haben die Nutzerverwaltung erweitert.

a) User Self Services und die DSGVO

Seit dem 25. Mai 2018 regeln die DSGVO-Gesetze die Speicherung und die Verwendung personenbezogener Daten. Sie sind verpflichtend für jedes Unternehmen, welches persönliche Daten von EU-Bürgern verarbeitet oder speichert. Daher sollte jedes Identitätsmanagement-System eine DSGVO-Unterstützung anbieten.

s

Keycloak bietet keinen umfassenden DSGVO-Support.

Daher haben wir den vollen DSGVO-Support implementiert. Das beinhaltet den Konsens zur Speicherung persönlicher Informationen. Weiterhin die Möglichkeit, diese jederzeit anzusehen und ggf. zu korrigieren und die Option, die Datenschutzerklärung wieder aufzurufen. Zudem kann ein Benutzer seine persönlichen Daten auf einem sicheren Weg downloaden.

Ein Benutzer kann das “Recht auf Vergessenwerden” in unserem System anwenden.

Wünscht ein Benutzer die vollständige Löschung seiner Daten, so wird dies einfach, schnell und vor allem automatisiert durchgeführt. Der “Vergiss-mich”-Prozess inkludiert alle Anwendungen, die mit Login-Master verknüpft sind.

Ranking der Passwortstärke

s

Mit Keycloak ist es möglich ein Passwort nach seiner Stärke zu ranken, abhängig von den Vorgaben der festgelegten Passwort-Policy.

Schwache Passwörter sind bei der Registrierung oder bei einer Passwortänderung eines der größten Risiken. Denn Benutzer verwenden sie ohne nachzudenken. Dagegen hilft keine ausgeklügelte Passwort-Policy. 

Eine dedizierte Appliance prüft bei uns das neu eingegebene Passwort. Erst wenn die Appliance das Passwort nicht knacken kann, wird es vom System akzeptiert.

Die Qualität der Nutzerdaten

Häufig stellt sich die Frage: Wie gut ist die Qualität der Benutzerdaten? Benutzer schummeln oft bei ihrem Namen, ihrem Alter oder sonstigen Merkmalen. Gerade bei wichtigen Online-Transaktionen wünschen sich die Unternehmen daher mit korrekten Benutzerdaten zu arbeiten. Es wird z.B. umso schwieriger ausstehende Zahlungen einzufordern, hat ein Benutzer seinen Namen oder seine Adresse falsch angegeben.

Keycloak prüft eine E-Mailadresse durch das Double Opt-in-Verfahren. Andere Benutzerdaten werden nicht überprüft. 

s

Insgesamt sieht Keycloak keine Option vor zur Prüfung der Datenqualität.

Es gibt verschiedene Optionen Benutzerdaten zu überprüfen.

Wir haben uns entschieden eine Prüfung der Benutzerdaten über die Postident Online-Verfahren der Deutschen Post anzubieten.

Das ist der einzige Prozess, der über die Speicherung der normalen Benutzerdaten hinaus, sogar eine Altersverifikation ermöglicht.

b) Benutzer-Login

Einer der kritischen Aspekte in Bezug auf die Sicherheit von Web-Portalen ist der Authentisierungsprozess.

Keycloak übertrifft in diesem Punkt viele SSO-Lösungen…

… und bietet eine solide Grundlage zum weiteren Ausbau von Implementierungen für die 2-Faktor-Authentifizierung. Wir personalisieren den Login-Prozess nach Kundenwünschen. Wir erstellen Login-Workflows zur Integration neuer Technologien.

c) Zugriffsrechte

Nach dem Festlegen einer Standardrolle, gibt es in Keycloak einen minimalistischen Ansatz zur Administration von Benutzerrollen:

s

Eigentlich nur die Administrationskonsole – ein eingeschränktes Tool für die Verwaltung von weniger als ein paar Hundert Benutzer.

Natürlich kann ein Java-Entwickler diese durch Programmierung erweitern. Gerade dann, wenn ein Keycloak-Implementierungsprojekt (wie so häufig!) unter zeitlichem Druck steht. Auch wenn eine existierende Plattform in kürzester Zeit migriert werden soll. Auf lange Sicht, wird ein Unternehmen eine umfangreichere Lösung benötigen – denken Sie nur an die vielen Identitäten im Internet of Things (IoT).

Langfristig soll es die Möglichkeit geben, Rollen automatisch zu erteilen oder wieder zu entziehen, am besten basierend auf Attributen. Oder ein Benutzer soll die Möglichkeit besitzen eine Anfrage zu stellen, z.B. eine weitere Rolle hinzuzufügen. Das heißt erweiterte oder andere Rechte im System zu beantragen. Ein solches anspruchsvolles Zugriffsmanagement erfordert eine große Investition und auch Zeit für die Implementierung.

Für alle, die schon ein Zugriffsrechtemanagement betreiben, gibt es gute Nachrichten: Die Synchronisation der Zugriffsrechte aus dem existierenden System ist möglich. Und zwar nicht mittels Importierens, sondern durch Synchronisieren.

Gerade in diesem Bereich ist es sinnvoll mit Experten zu arbeiten, die sich schon seit Jahrzehnten mit der Sicherheit im Web beschäftigen. Die Ihnen die Sicherheit gewährleisten, die Sie erwarten.

d) Existierende Benutzer

Alles beginnt mit der Registrierung. Eine Programmierung ist notwendig, um eine Benutzermigration oder die Synchronisation von Benutzerdaten durchzuführen.

s

Keycloak kennt keine “existierenden Benutzer”.

Unser “Ready-to-use-Ansatz ist die Implementierung einer ganzen Metadirectory und die Synchronisierung der bestehenden Benutzerbasis mit der von Keycloak.

Dabei werden die Benutzer und deren Zugriffsrechte synchronisiert. Und das ohne aufwändige, eigene Entwicklungsarbeit für den Keycloak-Anwender.

e) Prozesse im Backend

Benötigen Sie einen gesonderten Prozess, bietet Ihnen Keycloak wunderbare REST-Schnittstellen an.

s

Benötigen Sie einen automatischen Prozess, der regelmäßig Aktionen durchführt, so lässt Sie Keycloak damit allein.

Wir setzen automatisierbare Workflows ein zum Starten der Backend-Prozesse und zur Implementierung häufig vorkommender, unterschiedlicher Aufgaben.

Diese sind:

  • Housekeeping
  • Entzug abgelaufener Zugriffsrechte
  • Erinnerung an den Benutzer, ein altes Passwort zu ändern oder einen ablaufenden Vertrag

Das Ganze gibt es selbstverständlich multi-lingual und ist mit leicht anpassbaren E-Mail-Vorlagen ausgestattet.

f) Delegierte Administration

s

Keycloak kennt keine Delegierte Administration.

Wir erweitern Keycloak um eine ausgefeilte Delegierte Administration.

Darin definieren wir Benutzereinheiten. Für jede Gemeinschaft legen wir einen oder mehrere Administratoren fest. Diese können andere registrierte Benutzer in die Gemeinschaft einladen. Sie sind autorisiert bestimmte Zugriffsrechte zu erteilen oder zu entziehen. Zudem können Sie Benutzer aus einer Gemeinschaft ausschließen.

Das Resultat ist eine zeitnahe Administration von Benutzergemeinschaften. Anwendung findet diese Funktion bei Projekt- und Geschäftspartnern, bei Lieferanten oder auch bei Familien, deren Benutzer Mitglieder eines gemeinsamen Portals sind.

Keycloak managt Benutzerzugriffe – Login-Master den gesamten Identity Management-Prozess

Bietet Keycloak ausreichende Funktionen an zum Betrieb eines allumfassenden Identity & Access Management-Systems (IAM-System)?

Das war die Frage, die wir uns am Anfang gestellt haben. Die Antwort ist: Um ein IAM-System betreiben zu können, bietet Keycloak Basisfunktionalitäten an. Zur Erweiterung um wichtige Funktionen ist umfangreiches Programmieren gefragt.

Um diesen Aufwand zu minimieren, bietet die Login Alliance mit Login-Master eine nachhaltige Lösung an, die auf Keycloak basiert und alle relevanten Erweiterungen zum sofortigen Einsatz mitbringt.

Welche Keycloak-Erweiterungen brauchen Sie?

Im Vergleich sehen Sie in der Tabelle unterhalb, was Keycloak in Bezug auf Enterprise-Anforderungen bietet und welche Funktionen Login-Master darüber hinaus abdeckt. In diesem Zusammenhang auch Services, die Sie bei der Login Alliance in Anspruch nehmen können.

FeatureKeycloakLogin-Master
Benutzer-Self-Service & DSGVO Kein Support für die DSGVO out-of-the-box Login-Master berücksichtigt alle erforderlichen DSGVO-Vorschriften auf Keycloak-Basis.
Dazu: verschiedene Zustimmungslevel, Download persönlicher Informationen, “Vergiss-mich”-Prozess

Die Funktionalitäten werden über eine REST-Schnittstelle abgerufen zur vollständigen Integration des Registrierungsprozesses in Ihre Anwendung.

In Login-Master gibt es die Möglichkeit einer Datenprüfung durch das POSTIDENT Verfahren der Deutschen Post. Das ist der einzige Prozess zur Altersüberprüfung.
Benutzer-Login Keycloak ist hier herausragend und bietet eine solide Grundlage für Erweiterungen (Implementierungen der 2-Faktor-Authentifizierung) Keycloak as a Service:
Das Angebot der Login Alliance ist es, den Authentifizierungsprozess wie gewünscht zu implementieren.
IdentitfikationKeycloak bietet hier keine out-of-the-box-Funktion.Online Identitifikation via Postident Verfahren mit dem Keycloak-Plugin für Postident.
ZugriffsrechteZuordnung von Standard-Rollen Vollständiges, ausgeklügeltes Rollenmanagement-System:
· Erteilung / Entzug von Rollen, abhängig von den Werten der Benutzerattribute (ABAC)

· Ein Rollen-Shop erlaubt es einem Benutzer eine Anfrage für einen weiteren Zugriff zu stellen.

· Ein Hintergrund-Prozess führt laufend Housekeeping-Aufgaben durch. Der gleiche Prozess ermöglicht den Entzug einer Rolle, wenn diese abgelaufen ist.

· Synchronisierung mit Legacy IAM-Systemen

· Erweiterte Zugriffssteuerungs-Technologie SecuRole®
Existierende Benutzer Keycloak kennt keine “existierenden Benutzer”.Login-Master implementiert ein vollständiges Metadirectory und synchronisiert die bestehende Benutzerbasis mit der von Keycloak. Es werden Benutzer und die Zugriffsrechte synchronisiert.
Batch Prozesse REST-Schnittstellen Login-Master nutzt Workflows, um Backend-Prozesse zu starten. Damit werden die häufigsten, unterschiedlichen Aufgaben implementiert: Housekeeping, Entzug abgelaufener Rechte, Erinnerung an den Benutzer ein altes Passwort zu ändern oder einen ablaufenden Vertrag.
Dies geschieht in einer mehrsprachigen Umgebung mit der Unterstützung durch anpassbare E-Mail-Templates.
Delegierte Administration Keycloak kennt diesen Begriff nicht.Die Login Alliance führte eine durchdachte Delegierte Administration ein, in der wir Benutzergemeinschaften festlegten. Für jede Gemeinschaft gibt es einen oder mehrere Administratoren. Sie können andere, registrierte Benutzer zur Gemeinschaft einladen, bestimmte Zugriffsrechte erteilen oder entziehen und Benutzer aus einer Gemeinschaft ausschließen.
Dies führt zu einer zeitnahen Administration von Benutzergemeinschaften. Es findet Anwendung bei Portalen für Projekt- und Geschäftspartnern, für Lieferanten(gemeinschaften) oder auch für Familien.
Integration in Content Management SystemeKeine Out-of-the-box-Integration von CMS-Systemen.Keycloak-/IAM-Erweiterungen zur Integration in WordPress, TYPO3 und Core Media
.NET-Integration.Net-Adapter und Community-SupportWir pflegen den Keycloak-.NET-Adapter und können Ihnen umfangreiche Beratung bei der Integration von Keycloak in MS-Anwendungen anbieten.
Erweiterte Services:Open-Source-RessourcenLogin Alliance
SupportCommunity-SupportBasissupport Montag bis Freitag 9:00 - 17:00 Uhr, 24*7 ist in Planung
HostingSelf-hosted Keycloak- Managed Keycloak auf dedizierten Instanzen / Keycloak as a Service, fertige Testumgebungen

- Login-Master Lizensen für Self-Hosting oder als Identity as a Service (SaaS)
BeratungCommunity-ForenProof-of-Concept, IAM-Beratung (Infrastrukturen, Hardening, Hochverfügbarkeit, Trouble-Shooting), Keycloak-/IAM-Workshops

Haben Sie sich schon für Keycloak oder Red Hat SSO entschieden? Möchten Sie wissen, wie einfach es ist dies zu implementieren? Oder interessieren Sie sich für erweiterten Support und komfortable Features, die sie sich selbst mühevoll in monatelangen Projekten erarbeiten müssten?

Sprechen Sie uns gerne darauf an. Wir freuen uns auf Ihre Anfragen rund um Keycloak, Red Hat SSO und IAM-Funktionalitäten für Ihre Webportale!