Security Assertion Markup Language

Aus Xinux Wiki
Version vom 31. Mai 2021, 18:26 Uhr von Thomas.will (Diskussion | Beiträge) (→‎Single-Logout-Service-Link)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

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.

Links