XACML
XACML (eXtensible Access Control Markup Language) ist eine einheitliche Sprache, mit der Zugriffsrichtlinien allgemein beschrieben werden. Die jeweiligen Systeme setzen sie dann individuell um. So kann der Zugriff von Subjekten auf Ressourcen eines Systems über die Auswertung von Regeln gesteuert werden („darf Benutzer X auf den Datensatz Y des Systems Z zugreifen?“). Nachteil hier ist allerdings, dass übergreifende Sicherheitsrichtlinien in Bezug auf Datenzugriffe oft sehr aufwändig sind. Das kann auch auf IdMS zutreffen, da dort eine verteilte Infrastruktur, insbesondere bzgl. der Daten und Informationen, gegeben ist.
Die Grundlage zum Austausch von identitätsbezogenen Sicherheitsinformationen, Policies und Benutzerattributen ist durch SAML gegeben. XACML definiert die Syntax zur Definition dieser Policies und legt die Auswertung fest. Der Effekt dieser auf Policies basierenden Autorisierungsentscheidung ist entweder die Annahme einer Anfrage (Allow) oder die Ablehnung (Deny).
Bisher wurde beschrieben, dass Entscheidungen aufgrund bestimmter Attribute getroffen werden. Hier tritt ein Problem auf: Komplexe Berechtigungsstrukturen werden üblicherweise mit Rollen und Rollenmodellen umgesetzt. XACML muss demnach diese Rollenmodelle abbilden können und RBAC unterstützen.
XACML beschreibt zwar Sprachelemente, nicht aber den konkreten Aufbau der von XACML benötigten Komponenten und vor allem nicht die Transportmechanismen. Diese Mechanismen stellt unter anderem SAML bereit (wie eingangs bereits erwähnt). Wie beispielsweise SAML 2.0 mit XACML verwendet wird, wurde von der OASIS in einem Profil definiert.
Die auf XML basierende Spezifikation XACML wurde Anfang 2003 als offizieller OASIS-Standard anerkannt. Seit 2005 ist die Version 2.0 erhältlich. Derzeit arbeiten die Entwickler an Version 3.0.











