Security Assertion Markup Language
Version vom 31. Mai 2021, 18:26 Uhr von Thomas.will (Diskussion | Beiträge) (→Single-Logout-Service-Link)
SAML (Security Assertion Markup Language)
- Zentraler Login
- Standard, der ein Single-Sign-on (SSO) ermöglicht
- Einmalige Anmeldung - automatischer Zugriff auf andere Programme und Dienste
Was ist SAML
- basiert auf XML
- Authentisieren und Autorisieren von Benutzern
Identity Provider (IdP)
- ist ein Authentifizierungdienst
- stellt eine Anmeldemaske bereit
- leitet Anwender zum Service Provider (SP) weiter
Service Provider (SP)
- verlangt eine Authentifizierung
- vertraut IdP
- ist ein beliebig anderer Dienst
- Beispiele: ownCloud oder Nextcloud
SAML Arbeitsweise
- arbeitet im Hintergrund mit sogenannten Session-Cookies
- Session-Cookie erhalten die Anwender bei der Authentifizierung am IdP
- die Cookies haben ein Ablaufdatum versehen sind
- User können sich anschliessend angebundenen Diensten anmelden.
- Cookies werden im Browser gespeichert
- keine direkte Verbindung zwischen IdP und SP notwendig. So kann ein
- IdP kann etwa abgeschottet in einem internen Netz stehen
Anbindung von Services mit SAML
Single-Sign-on-Service-Link
- Dient zur Anmeldung am Identity Provider.
- Der IdP bietet in der Regel eine Anmeldemaske
- Kombination aus Benutzernamen und Passwort sein
- oder Mehrfaktor-Authentifizierung
- Link muss bei allen angebundenen Services eingetragen werden.
Öffentliches Zertifikat
- IdPbietet ein öffentliches Zertifikat an
- Zertifikat muss allen angebundenen Services zur Verfügung stehen
Assertion-Consumer-Service-Link
- Spezifiziert den Ort,nach Authentifizierung, an den der Anwender wieder zurückgeleitet wird
- Link muss beim Identity Provider eingetragen werden
Single-Logout-Service-Link
- Dient zum Abmelden von weiteren Diensten
Ablauf einer Authentifizierung mit SAML
- Wenn ein Anwender Zugriff auf eine Ressource eines Dienstes benötigt, öffnet er eine Login-URL
- Dienst stellt einen Redirect an den SingleSignOnService Link des Identity Providers bereit.
- Diese Weiterleitung enthält eine Anfrage des Services, die vom Identity Provider unterzeichnet werden soll.
- Der Browser der Anwender ruft also den SingleSignOnService Link des Identity Providers auf und reicht die Anfrage ein.
- Anschließend muss sich der oder die Anwender authentifizieren.
- Die Antwort des Dienstes enthält unter anderem den AssertionConsumerService Link.
- Diesen kann der Browser verwenden, um einen POST-Request an den Service Provider des Dienstes zu stellen.
- Der Service Provider betrachtet den oder die Anwender nun als authentifiziert.
- Per Redirect erfolgt eine Weiterleitung an die ursprüngliche Login-URL.
- Von dort wird die Anfrage aufgrund der erfolgreichen Authentifizierung an die Ressourcen des Dienstes weitergeleitet.