SAML
Dieses Material ist Teil des Leitfadens IHE Cookbook.
|
Security Assertion Markup Language (SAML)
Die Security Assertion Markup Language (SAML) ist wie XACML ein XML-basierter OASIS Standard und liegt mittlerweile in Version 2 vor. Sie bietet Mechanismen, wie Authenfizierungs- und Autorisierungsentscheidungen transportiert und ausgetauscht werden können. Im Gegensatz dazu liefert XACML die Werkzeuge eine solche Entscheidung herbeizuführen.
Die SAML-Spezifikation besteht aus insgesamt vier Teilen von denen vor allem die folgenden beiden für den Architekturteil des Cookbooks von Bedeutung sind: Assertions and Protocol beschreibt die Syntax und die Semantik von XML-basierten Assertions (Zusicherungen) sowie der Request- und der Response-Protokolle. Bindings and Profiles beinhaltet das Mapping dieser Protokolle auf Transportprotokolle wie z.B. SOAP über HTTP oder SOAP über FTP.
Assertions beinhalten Informationen über die Authentifizierung eines Subjektes, seine Attribute und die Autorisierunsentscheidung, ob das Subjekt bestimmte Ressourcen zugreifen darf. Demnach gibt es drei Typen von Assertions: Authentication, Attribute und Authorization decision. Das SAML Request- und Response-Protokoll definiert ein Standardnachrichtenformat, um die Assertions zutransportieren (vgl. \[[2-]\]).
Ein Mapping der XACML und SAML Authorization Request Query und Response sind im SAML 2.0 Profile of XACML beschrieben. Es werden dort sechs Anfragetypen definiert:
- XACMLPolicyQuery: SAML Request to a PAP for Policies
- XACMLPolicyStatement: SAML Statement containing policies
- XACMLAttribute Query: SAML Request to Attribute Authority for user attributes
- XACMLAttribute Statement: SAML Statement containing one or more attributes
- XACMLAuthzDecisionQuery: SAML Request from PEP to PDP for Authorization Decision
- XACMLAuthzDecisionStatement: SAML Statement containing one or more Authorization Decisions