Uniport Cloud: unser Portal as a Service

Uniport Cloud: unser Portal as a Service

Jedes Kundenportal braucht dieselbe Basis. Die Benutzer melden sich an, meist mit einem zweiten Faktor. Organisationen und Rollen müssen verwaltet werden. Und jeder Service braucht die Information, wer da zugreift und welche Rollen die Person hat. Dazu kommt ein gemeinsames Menü, damit die einzelnen Services überhaupt wie ein Portal wirken.

Genau diese Basis betreiben wir für unsere Kunden und halten sie aktuell. Wir nennen sie Uniport Cloud, unser Portal as a Service. Die Kunden legen ihre Organisationen selber an und entscheiden, wer auf welchen Service Zugriff hat.

Jede Organisation verwaltet ihre Benutzer selbst

Die Benutzerverwaltung bleibt beim Kunden. Wer in einer Organisation als Manager eingetragen ist, lädt ohne unser Zutun neue Benutzer ein und vergibt ihnen Rollen. Zugänge sperrt er genauso selbst.

Diese Selbstverwaltung können Kunden auch an ihre Kunden weitergeben. Ein Verband zum Beispiel kann sie an seine Mitgliedsfirmen delegieren. Jede Mitgliedsfirma wird damit zu einer eigenen Organisation im Portal und kümmert sich um ihre eigenen Mitarbeitenden. Eine Rolle gilt immer nur innerhalb einer Organisation, ein Manager verwaltet also nur die Benutzer der eigenen Firma. Um die Benutzer seiner Mitgliedsfirmen muss sich der Verband damit nicht kümmern.

Wie die Umgebung aufgebaut ist

Aufbau von Uniport Cloud: Eine Anfrage aus dem Browser läuft über den Uniport Gateway zu Uniport IAM mit Keycloak und Organisation, zu den Portal-Services Base und neuen Services. Die Authentisierung passiert im Uniport IAM, die Autorisierung in jedem Service selbst. Database und Monitoring gehören zur Umgebung, bestehende Services werden von aussen angebunden.

Eine Anfrage aus dem Browser geht immer zuerst an den Uniport Gateway. Verlangt die aufgerufene Adresse einen Login und ist der Benutzer noch nicht angemeldet, schickt ihn der Gateway zur Anmeldung. Ist der Benutzer angemeldet, reicht der Gateway die Anfrage an den zuständigen Service weiter.

Den Login übernimmt Uniport IAM, ein erweiterter Keycloak. Es kennt die Identitäten der Benutzer und prüft Passwort und zweiten Faktor. Im IAM steht auch, wer zu welcher Organisation gehört und welche Rollen die Benutzer dort haben.

Von allen Applikationen, aus denen das Portal besteht, muss nur der Uniport Gateway das Login-Verfahren beherrschen. Er stösst die Anmeldung an und nimmt das Ergebnis des IAM entgegen. Wer angemeldet ist und welche Rollen dazugehören, reicht der Gateway an die Fachapplikationen weiter. Ob ein angemeldeter Benutzer eine bestimmte Aktion dann ausführen darf, entscheidet jeder Service selbst, anhand dieser Rollen.

Eine Applikation hinter dem Gateway muss vom Login-Verfahren nichts wissen.

Hinter dem Gateway liegen die Portal-Services. In Base stecken die Funktionen, die für das ganze Portal gelten, zum Beispiel das übergreifende Menü. Ihre Daten legen die Services in einer gemeinsamen PostgreSQL-Datenbank ab. Das Monitoring sammelt Logs, Metriken und Traces aus der ganzen Umgebung ein.

Das alles läuft auf einem Kubernetes-Cluster, den wir betreiben. Wir spielen die Updates ein und patchen Keycloak. Wir sichern die Daten und überwachen den Betrieb. Das meinen wir mit Portal as a Service.

Ein Portal für bestehende und neue Services

Auch ein bestehender Service lässt sich über den Gateway anbinden, ein ERP-System zum Beispiel, ein Dokumentenarchiv oder eine Fachapplikation, die schon im Einsatz ist. Der Service bleibt dort, wo er heute läuft.

Fachapplikationen, die es noch nicht gibt, bauen wir auf Wunsch neu und betreiben sie direkt auf Uniport Cloud, zusammen mit den anderen Portal-Services. Für den Benutzer macht es keinen Unterschied, ob ein Service extern läuft oder auf Uniport Cloud. Beide liegen hinter demselben Login und erscheinen im selben Menü. Das ganze Portal läuft unter der eigenen Domain des Kunden und in seinem Erscheinungsbild.

Die Basis läuft schon

Für die Basis sind wir zuständig. Welche Organisationen es gibt, wer dort welche Rolle hat und welche Services dazukommen, entscheidet der Kunde. Die Umgebung läuft produktiv, für unsere Kunden und für uns selber.

Wie Uniport Cloud im Detail aufgebaut ist und wer welche Verantwortung trägt, steht auf cloud.uniport.ch. Die Uniport-Plattform selbst stellen wir auf uniport.ch vor.

Wir erzählen gerne noch mehr!

Wer wissen will, ob Uniport Cloud für das eigene Portal passt: wir zeigen die Umgebung gerne und schauen den Einstieg zusammen an.

Edwin Steiner Edwin Steiner +41 43 343 20 22