Zum Inhalt springen

Security Assertion Markup Language

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 22. Februar 2010 um 17:58 Uhr durch 78.43.204.104 (Diskussion) (SAML Assertions). Sie kann sich erheblich von der aktuellen Version unterscheiden.

Die Security Assertion Markup Language (kurz 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, 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 von weiteren 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:

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

Siehe auch