kosmonaut75
Goto Top

LDAP, SSO, API - Ich geh unter

Hi,

ich (kein "echter" IT-ler) kümmere mich mit jeder Menge Halbwissen bei einer kleinen Non-Profit-Organisation um verschiedene Plattformen. Kümmern heißt hier eher Redaktion mit ein bisschen Admin-Arbeit. Von richtiger Netzwerkadministration, Schnittstellen etc. habe ich wenig bis keine Ahnung. Unsere Anwendungen sind:

- 1 Nextcloud
- 1 Typo3-CMS
- 1 Moodle-Instanz
alles auf unterschiedlichen Servern.

Dazu kommt
- 1 Cleverreach-Newsletter (Software as a Service)
- 1 CRM

Wir haben also lauter Dateninseln ohne jegliche Verknüpfung und die Pflege der Mitgliederdaten wird daher zusehends unübersichtlicher.

Mein Chef kam jetzt zu mir und meinte, wir brauchen ein "Single-Sign-On", sprich unsere Mitglieder sollen mit einem Login auf die drei Dienste oben zugreifen und die Stammdaten sollten zentralisiert werden und über Schnittstellen an die Dienste wie Cleverreach angebunden werden.

Bevor ich auf Dienstleister-Suche gehe (ich kann das auf keinen Fall allein), würde ich gerne wissen, wie hier die beste Herangehensweise ist. Was muss der Dienstleister können? Welches Protokoll ist hier angesagt: LDAP? Was unterscheidet das von einem Single-Sign-On? Fragen über Fragen.

Danke für Tipps, ich weiß überhaupt nicht, wie und wo ich anfangen soll...

Content-Key: 5268191317

Url: https://administrator.de/contentid/5268191317

Printed on: April 27, 2024 at 20:04 o'clock

Member: wiesi200
wiesi200 Jan 09, 2023 updated at 18:12:42 (UTC)
Goto Top
Hallo,

also rein grundsätzlich ist das nicht mal so schwer.
LDAP oder bei Microsoft -> Active Directory ist ein zentrales Verzeichnis zur Benutzerverwaltung.

Darauf Aufbauend kannst du dann Programmen wie Nextcloud oder Typo3 sagen. Bitte verwende doch die Benutzer aus dem LDAP.

Die nächste Ausbaustufe ist dann SSO in dem man aus der "Rechneranmeldung" den Benutzer an das Programm weiterreicht und sich automatisch anmeldet.

Das kann aber nicht jedes Programm.

API ist dann wieder was anderes. Das braucht man damit Programme sich untereinander unterhalten können.

Sprich als erstes brauchst du mal ein LDAP
Member: em-pie
em-pie Jan 09, 2023 at 18:32:26 (UTC)
Goto Top
Moin,

Klingt für mich nicht nur nach verschiedenen Einzelprogrammen sondern auch nach Produkten, die auf verschiedenen Servern bei verschiedenen Providern platziert sind.
In dem Zusammenhang ist LDAP allein zu wenig. Das will man ja nicht zwingend „Blank“ übers WAN transportieren (Ja, es gibt LDAPs, aaaber).
Setze dich auch mit SAML auseinander…
https://www.onelogin.com/de-de/learn/saml
https://www.tools4ever.de/glossar/was-ist-saml/
Aber in jedem Fall bedarf es eines zentralen Benutzerverzeichnisses…
Member: kosmonaut75
kosmonaut75 Jan 09, 2023 at 19:04:22 (UTC)
Goto Top
Hallo,

vielen Dank schon mal!

@em-pie Ja, es handelt sich um Anwendungen, die alle auf unterschiedlichen Servern bei unterschiedlichen Providern liegen. Das CRM lokal bei uns, Nextcloud und Moodle im shared hosting bei zwei Hosting-Dienstleistern, unanbhängig voneinander. Die Links schau ich mir an.
Member: Benandi
Benandi Jan 09, 2023 updated at 19:13:56 (UTC)
Goto Top
Nabend,

vorab: ich werde mich fachlich an mancher Stelle nicht ganz korrekt ausdrücken, um das Verständnis zu erhöhen. Die anderen Forenteilnehmer mögen mir dies bitte nachsehen face-smile

Grundsätzlich kommt es darauf an, was du / ihr wollt und braucht. Dein Chef hätte also gerne Single Sign On (SSO). Das ist was anderes als ein Verzeichnisdienst ("zentrale Datenbank mit Usern und Stammdaten").
Daher wäre erstmal zu klären, was konkret erreicht werden soll. Daraus resultieren dann nämlich Kosten und Aufwand. Ein gutes Systemhaus hilft dir dabei und ein schlechtes nimmt euch aus.
Zusätzlich wäre noch relevant, was ihr schon an Infrastruktur habt und künftig haben wollt.

Also einmal Basics:
Grundlage ist irgendeine zentrale Datenquelle (meist ein Verzeichnisdienst wie Microsofts Active Directory, Samba, OpenLDAP). Irgendeine Serviceinstanz (Webseite, Forum, Mailserver, etc.) kann so konfiguriert werden, dass sie die ihr übermittelten Anmeldedaten (Credentials, Zertifikate, Token, etc) nicht gegen die eigene "lokale" Userdatenbank prüft, sondern je nach Vertrauen und Konfigurationsmöglichkeiten entweder direkt mit der vorhin erwähnten zentralen Datenquelle abgleicht oder diese zur Verifikation auffordert. Abhängig vom gewählten Verfahren gibt es dabei zig verschiedene Geschmacksrichtungen, Überschneidungen und Verflechtungen.
Das schon mal zum allgemeinen Verständnis.

Eine Möglichkeit, diese zentrale Datenquelle ( Verzeichnisdienst) abzufragen ist das Lightweight Directory Access Protocol (LDAP). Das ist ein sehr gängiges Verfahren, sollte mittlerweile aber (und besonders übers Internet) verschlüsselt als LDAPS benutzt werden. Verwendet man exemplarisch LDAP, meldet sich der User "überall" mit den gleichen Zugangsdaten an, denn im Hintergrund werden diese auf besagten Verzeichnisdienst umgelegt.

Eine Programmierschnittstelle (API) bietet gewissermaßen die Option, einen Service mit einem definierten Befehlssatz zu steuern. Quasi eine Empfangseinheit für deine programmierbare Fernbedienung. Was Empfangseinheit und Fernbedienung dir bieten können, liegt beim Hersteller der Empfangseinheit (also dem Anbieter bzw. Programmierer der API). Wenn wir nur über Authentifizierung sprechen, ist das Thema eher nebensächlich.

Gehen wir einen Schritt weiter und wollen, dass der User nur ein einziges mal pro Arbeitstag "irgendwo" seine Zugangsdaten eingeben muss und damit "überall" angemeldet ist. Das nennt sich dann Single Sign On und kann (oder muss, je nach gewünschtem Umfang) unterschiedlich umgesetzt werden. Vorstellen kannst du dir das am ehesten wie bei Messen oder exklusiven Veranstaltungen. Am Eingang wirst du ganz genau unter die Lupe genommen, zeigst deinen Ausweis und bekommst einen individuellen (personalisierten) Marker (Ansteckausausweis, RFID-Chip, etc). Läufst du nun zu diversen Veranstaltungen auf der Messe, prüft man am Einlass der Veranstaltung nur kurz diesen Marker. Stehst du auf der Liste, darfst du rein. Und weil der individuelle Marker so leicht zu prüfen ist, passiert das im Vorbeigehen, ohne dass du als User etwas davon merkst. Naja, bei Zutrittsverweigerung merkst du es schon... ;p

Dann kann man das ganze Theater noch mit einem zweiten Faktor koppeln (MFA). Da musst du neben deinem Ausweis auch noch die Einladung vorzeigen oder ein Losungswort kennen oder einen blauen Punkt hinter dem linken Ohr haben oder oder oder...
Vermutlich führt das aber schon zu weit.

Was muss also nun dein Partner / Dienstleister können?
Kommt drauf an, was du willst und brauchst. Also wäre die erste Kompetenz schon mal Beratung (idealerweise ohne Verkaufsabsicht).
Danach kommt das Konzept. Je nach Bedarf sollte es flexibel und skalierbar aufgestellt sein. Dazu muss jedoch Kenntnis der künftig eingesetzten Produkte vorhanden sein. Zweite Kompetenz wäre also Fachwissen und dritte Kompetenz Erfahrung.
Es folgt darauf die Planung, Umsetzung und der Betrieb. Hier muss der Support stimmen, wenn du es später nicht alleine betreiben willst.


Wenn du dich vorher schon ein wenig schlau machen willst, schau dir die Authentifizierungsmöglichkeiten der von euch genutzten Plattformen an. Damit ist die Auswahl an Lösungen schon eingeschränkt oder reglementiert den Aufwand. Viele bieten beispielsweise LDAP-Module an, verlangen dafür aber auch mehr als den nidriegstpreisigen Vertrag.
In dem Zuge lernst du auch die verschiedenen Verfahren kennen, die man nutzen kann, um "Single Sign On" nach Wunsch deines Chefs umzusetzen.

Schönen Feierabend,
Benandi

edit: da waren andere schneller und kürzer :D
Member: Dani
Dani Jan 09, 2023 at 21:43:20 (UTC)
Goto Top
Moin,
dann bleibt dir nur SAML und/oder oAuth. Was ich dir sagen kann, dass z.B. CleverReach in die Richtung nichts unterstützt. Hingegen Moodle, Nextcloud gibt dafür entsprechende Add-Ons, die sogar funktionieren.

Die dafür notwendige Infrastruktur ist nicht zu unterschätzen. Ist der Endpunkt des Authentifizierungsdienst offline, ein Sperrliste nicht erreichbar oder ein SSL-Zertifikat für die Signierung/Verschlüsselung der Tokens abgelaufen -> geht die Anmeldung nicht mehr. Was ich damit sagen möchte: Die Infrastruktur ist kein Selbstläufer und muss gepflegt werden. Ob der Aufwand (Zeit, Geld, etc.) im Verhältnis steht, würde ich hinterfragen.


Gruß,
Dani
Member: kosmonaut75
kosmonaut75 Jan 10, 2023 updated at 15:45:58 (UTC)
Goto Top
Wow, vielen Dank an alle und vor allem an @Benandi für die sehr ausführlichen und dennoch verständlichen Infos. Das muss ich jetzt mal sacken lassen und hoffe, dann gut gerüstet auf die DL-Suche zu gehen.
Member: Dani
Dani Mar 18, 2023 at 22:46:21 (UTC)
Goto Top
Moin,
was ist nun schlussendlich geplant und umgesetzt worden?!


Gruß,
Dani