Keycloak Elster Durchstich evaluieren
Warum?
Um einen Mehrwert von Keycloak in Bezug auf die Elster SAML Anbindung zu realisieren, soll ein technischer Durchstich durchgeführt werden und dieser technische Durchstich soll auch dokumentiert werden. Da diese Story eine erstmalige Anbindung von Elster darstellt, sind auch die Konfiguration auf Seiten Elster für die Elster Testumgebungen durchzuführen.
Relevante Links und Bemerkungen
Technische Doku zu Elster und Testzertifikate: https://nextcloud.fitko.net/index.php/f/145719
Offene Klärungspunkte:
- Wir können im SSO Verbund teilnehmen, damit User aus einem bestehenden Login bei uns direkt arbeiten können.
- Macht das Sinn?
- Ist es Mehraufwand im Vergleich zum bestehenden Login/Logout?
- Signatur- / Verschlüsselungszertifikate seitens Elster für die SAML Kommunikation:
- Reichen die Informationen aus den Entity Diskriptoren?
- Gibt es noch einen Endpunkt für Schlüsseltausch oder läuft das manuell durch neue Entity Diskriptoren aus dem Elster SSP ab? Durch Querlesen der Doku nicht schlau geworden. Eventuell muss noch jemand mal alles im Detail lesen oder wir Fragen Praktiker von FJD oder Seitenbau.
Akzeptanzkriterien
-
Konfigurationen im Elster Portal für die Anbindung von Keycloak sind durchgeführt -
DEV -
TEST -
STAGING -
PROD
-
-
Keycloak ist so konfiguriert, dass alle Attribute des OZG Datenkranzes über den OpenID Connect (OIC) User Info Endpunkt herausgeben werden können (Anmerkung Alex: Die Testzertifikate besitzen nach meiner Sichtung nicht alle potentiell möglichen Attribute. Beim Testkonzept im Hinterkopf behalten). -
Keycloak kann über die SAML Endpunkte (AuthnRequest/LogoutRequest) alle Testzertifikaten von Elster für Organisationen ("Beipackzettel Basispaket Zertifikatsdateien für die E4K-Testumgebung" sowie ZIP Datei mit den Zertifikaten) für Login/Logout erfolgreich nutzen. Es sollte versucht werden, für die Konfiguration des Keycloak auf bestehende Keycloak Elster Lösungen aufzubauen, falls es diese gibt. -
Keycloak ist als OIC IDP in SSP SpringBoot konfiguriert und SpringBoot kann Keycloak für Login und Logout nutzen. -
Keycloak kann den ManageNameID Endpunkt für das Unternehmenskonto bereitstellen. Über diesen Endpunkt informiert das Unternehmenskonto, wenn das Konto nicht mehr für außersteuerliche Zwecke genutzt werden darf oder gelöscht wurde (Anmerkung Alex: Mir ist die Testbarkeit noch nicht ganz klar. Ggf. kann man bei einem der Testzertifikate den Verwendung für außersteuerliche Zwecke an/ausschalten).In Keyclok nicht möglich. -
Alle Schritte für die Konfiguration in Elster, die nicht schon in der Elster Dokumentation erklärt wird, sind dokumentiert. Ansonsten werden alle Schritte auch unter Verweis auf Abschnitte der Elster Dokumentation gelistet. -
Alle Schritte für die Konfiguration in Keycloak wurden dokumentiert. -
Es gibt eine schriftliche kurze Bewertung, ob Keycloak im Vergleich zu einer nativen Spring Boot Umsetzung Mehrwerte generiert. --> Anmerkung Alex: Falls zu aufwändig (weil Research oder Tests in Spring Boot notwendig sind), dann in ein separates Issue verlagern. -
Es existiert ein Elster Login Knopf neben den bestehenden Logins. Anklicken des Knopfs führt die Nutzer:innen direkt auf die Login Seite von Elster. Nach erfolgreicher Eingabe der Login-Daten wird der Nutzer zurückgeleitet und ist im SSP eingeloggt. -
Bei einem initialen Zugriff (=Account Erstellung) wird analog zu den bestehenden IDPs ein eindeutiger Identifikators in der Datenbank des SSP abgelegt, der bei späteren Logins genutzt wird, um das jeweilige Organisationskonto zu identifizieren. Dieses Feature wird in #1003 (closed) angepasst / weiterentwickelt. -
Elster Accounts von natürlichen Personen werden abgelehnt. Es kommt zu einer Fehlermeldung (Elster selbst erlaubt nur Unternehmenskonten)
Durchführungsplan (von Entwickler:in bei Umsetzungsplanung auszufüllen)
-
Durchführung der notwendigen Konfiguration im Elster Verfahrensbetreiber SSP. Entweder durch @Alexander_Hoose oder @Michael_Miera durchzuführen. -
... -
... -
Definition of Done wurde geprüft
Edited by Laura Elges