Kennzeichen (S)icherheit: XACML

XACML (eXtensible Access Control Markup Language) gilt als der Standard, mit dem sich Autorisierungsregeln und -entscheidungen über zentrale Systeme, statt im Code einzelner Anwendungen steuern lassen. Nur: Wie gut ist XACML wirklich?

In Pocket speichern vorlesen Druckansicht
Lesezeit: 3 Min.
Von
  • Martin Kuppinger

XACML (eXtensible Access Control Markup Language) gilt als der Standard, mit dem sich Autorisierungsregeln und -entscheidungen über zentrale Systeme, statt im Code einzelner Anwendungen steuern lassen. Nur: Wie gut ist XACML wirklich?

Mehr Infos

Kennzeichen (S)icherheit

In der "Kennzeichen S(icherheit)"-Kolumne setzen sich die Analysten des Unternehmens KuppingerCole mit Themen wie Identity- und Access Management sowie IT-Governance aus Softwareentwicklungsperspektive auseinander. Es geht vor allem um die Frage, wie man Sicherheit für Anwendungen standardisieren und externalisieren kann, um Sicherheit und Nachvollziehbarkeit bei optimiertem Entwicklungsaufwand zu erreichen.

Zwei der wichtigsten Herausforderungen bei XACML sind die Komplexität der Regelwerke mit der daraus resultierenden großen Anzahl von Regeln und der Fakt, dass es sich um einen XML-Standard handelt. Die Beschreibung von Business-Regeln in XACML kann schnell zu umfangreichen Regelwerken führen, weil XACML auf granulare Autorisierungsregeln und -entscheidungen ausgerichtet ist. Das bedeutet, dass man sich von Beginn an Gedanken darüber machen muss, wie man diese Komplexität beherrscht. Hier gibt es verschiedene Ansätze – von Entitlement-Management-Systemen, die eine Formulierung der Regeln auf höherer Ebene ermöglichen und nicht nur XACML unterstützen, über spezielle Analyse- und Verwaltungswerkzeuge für das XACML-Regelwerk, bis hin zur automatischen Generierung von XACML-Regeln aus den abstrakteren Business-Regeln. Welcher Ansatz sich etablieren wird, bleibt abzuwarten. Klar ist aber: Wenn man sich mit XACML beschäftigt, muss man sich von Beginn an Gedanken darüber machen, wie man das Regelwerk erzeugt und pflegt.

Auch die zweite genannte Herausforderung steht damit in Zusammenhang. XML ist zwar vergleichsweise einfach lesbar. Aber die Beschreibung und Pflege eines komplexen Regelwerks direkt über XML-Dokumente ist natürlich viel zu komplex. Mehr noch: Anwendungsentwickler werden kaum begeistert sein, wenn sie ihre Autorisierungsabfragen direkt in XACML formulieren müssen. Hier geht es darum, möglichst mit einer Code-Zeile auszukommen, über die eine Methode aufgerufen wird.

Anders formuliert: XACML ist zwar nützlich, aber direkt damit zu arbeiten ist doch einigermaßen umständlich. XACML muss daher genauso verborgen werden, wie es bei den meisten anderen Standards der Fall ist. Wer eine Verbindung im Netzwerk zu einem anderen Rechner herstellt, muss dazu heute praktisch nichts mehr von TCP, IP, ARP und all den anderen Standards wissen, die benötigt werden. Wer Autorisierungsregeln pflegen will oder Autorisierungsentscheidungen anfordern möchte, sollte genauso wenig von XACML wissen müssen. Denn Standards sind nur dann gut, wenn man nichts oder zumindest möglichst wenig von ihnen merkt.

Wer den – wichtigen und richtigen – Schritt hin zur Externalisierung von Sicherheit aus Anwendungen macht, sollte daher seinen Blick zunächst darauf richten, wie die Regeln beschrieben, verwaltet und in Anwendungen genutzt werden. XACML als Standard, der im Hintergrund transparent genutzt wird, wird dabei zwangsläufig eine Rolle spielen. XACML als Standard, mit dem man sich intensiv auseinandersetzen muss, macht dagegen wenig Sinn, weil die so entstehende Komplexität nicht beherrschbar ist.

Martin Kuppinger
ist Gründer und Senior Analyst bei Kuppinger Cole, einem auf IAM, GRC, Cloud Computing und verwandten Themen spezialisierten Analystenunternehmen. Er hat langjährige Erfahrung auch in der Softwarearchitektur.

Die Kolumne bisher:

  1. Anwendungsentwicklung und Sicherheit
  2. An Ausbildung führt kein Weg vorbei
  3. Fünf Gründe für die Externalisierung der Sicherheit
  4. "Cloud-readiness" – Auswirkungen für Softwareentwickler
  5. U-Prove – Microsofts Technik für Datensicherheit
  6. Trends von der European Identity Conference
  7. Braucht es eine andere Softwareentwicklung für sichere Cloud-Anwendungen?
  8. Security bei der Entwicklung für die Cloud
  9. Über den effizienten LDAP-Einsatz
  10. Externalisierte Sicherheit – richtig gemacht
  11. Türöffner für die sichere Clou
  12. Externalisierung von Identitäten für ein erfolgreiches Cloud Computing

(rl)