Zum Inhalt springen

Security Assertion Markup Language

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 7. April 2016 um 12:33 Uhr durch Heribert3 (Diskussion | Beiträge) (Typo). Sie kann sich erheblich von der aktuellen Version unterscheiden.

Die Security Assertion Markup Language (SAML) ist ein XML-Framework zum Austausch von Authentifizierungs- und Autorisierungsinformationen. Sie stellt Funktionen bereit, um sicherheitsbezogene Informationen zu beschreiben und zu übertragen.

SAML wurde ab 2001 von dem OASIS-Konsortium entwickelt. Zu diesem Konsortium gehören Unternehmen wie Sun Microsystems (übernommen von Oracle), IBM, Nokia und SAP. Bei der Entwicklung hatte man die folgenden Anwendungsfälle im Blick:

Single Sign-on
ein Benutzer ist nach der Anmeldung an einer Webanwendung automatisch auch zur Benutzung weiterer Anwendungen berechtigt.
Verteilte Transaktionen
mehrere Benutzer arbeiten gemeinsam an einer Transaktion und teilen sich die Sicherheitsinformationen.
Autorisierungsdienste
die Kommunikation mit einem Dienst läuft über eine Zwischenstation, die die Berechtigung überprüft.

Diese Dienste sollen vor allem für Webservices angeboten werden.

SAML besteht aus SAML-Assertions, aus dem SAML-Protokoll, aus SAML-Bindings und Profilen.

Aufbau von SAML

SAML Assertions

Eine SAML assertion enthält Aussagen der Form:

 <saml:Assertion ...>
   ...
 </saml:Assertion>

Diese Aussagen beschreiben Fakten, die sich auf ein Subjekt beziehen:

Assertion A wurde geprüft zur Zeit t von Prüfer R bezüglich Subjekt S unter der Bedingung C.

SAML assertions werden vom Identity Provider zum Service Provider übertragen. Assertions sind Aussagen statements, die ein Service Provider nutzt, um über das Zulassen eines Zugriffs zu entscheiden. Drei Typen von statements werden von SAML genutzt:

Authentication statements
Zusicherung einer Authentifizierung für Subjekt S zur Zeit T mittels M. (für Single Sign-On)
Attribute statements
Zusicherung, dass ein Subjekt S über Attribut A verfügt mit dem Wert a. (für verteilte Transaktion/Autorisierung)
Authorization decision statements
Autorisierung bestimmter Ressourcen.

Siehe auch