Security Assertion Markup Language (SAML)
XML-basierter Standard für den Austausch von Authentifizierungs- und Autorisierungsinformationen zwischen Identity Providern und Service Providern.
Klassifikation
- KomplexitätMittel
- AuswirkungTechnisch
- EntscheidungstypArchitektur
- OrganisationsreifeFortgeschritten
Technischer Kontext
Prinzipien & Ziele
Use Cases & Szenarien
Kompromisse
- Fehlerhafte Metadaten oder abgelaufene Zertifikate führen zu Authentifizierungsunterbrechungen.
- Fehlkonfigurierte Attribute können zu Über- oder Unter-Berechtigungen führen.
- Unsichere Assertion-Verarbeitung auf SP-Seite kann Replay- oder Tampering-Risiken erzeugen.
- Automatisierung des Metadaten- und Zertifikatsmanagements.
- Minimales Attributprinzip: nur notwendige Attribute übertragen.
- Regelmäßige Tests von Failover- und Rotationsszenarien.
I/O & Ressourcen
- Verzeichnisdienst mit Benutzer- und Gruppenattributen (z. B. AD/LDAP).
- Identity Provider mit SAML-Unterstützung und gültigen Zertifikaten.
- Service Provider, der SAML-Assertions empfangen und verarbeiten kann.
- Sicher übertragene Assertions für Authentifizierung und Autorisierung.
- Zentrale Logs und Audit-Einträge zur Authentifizierungsaktivität.
- Reduzierte Anzahl lokaler Benutzeranmeldungen auf SPs.
Beschreibung
SAML ist ein XML-basiertes offenes Standardformat zum Austausch von Authentifizierungs- und Autorisierungsinformationen zwischen Identity Providern und Service Providern. Es ermöglicht Single Sign-On (SSO) und föderierte Identitäten über Organisationsgrenzen, zentralisiert Zugriffskontrolle und verringert Passwortvielfalt. SAML definiert Assertions, Protokolle und Bindings für Interoperabilität.
✔Vorteile
- Ermöglicht Single Sign-On und reduziert Passwortverwaltung.
- Fördert Interoperabilität zwischen verschiedenen Systemen und Anbietern.
- Zentrale Kontrolle über Attribute und Zugriffsregeln.
✖Limitationen
- XML-Basiert und relativ komplex in Parsing und Fehlersuche.
- Größerer Konfigurationsaufwand, insbesondere bei Metadaten und Zertifikaten.
- Latenz durch Redirect-/POST-Workflows in Web-Szenarien möglich.
Trade-offs
Metriken
- Anzahl SSO-Anmeldungen pro Tag
Misst Nutzung und Last auf IdP-Systemen.
- Fehlerquote bei Assertion-Verarbeitung
Anteil fehlgeschlagener Assertion-Validierungen an allen Anfragen.
- Zeit bis zur Wiederherstellung nach Zertifikatswechsel
Dauer bis alle SPs wieder erfolgreich Assertions akzeptieren.
Beispiele & Implementierungen
Universitäts-Föderation (Shibboleth)
Hochschulen nutzen SAML über Shibboleth zur föderierten Authentifizierung zwischen Institutionen.
Unternehmens-SSO mit ADFS
Windows-Umgebungen setzen häufig ADFS als Identity Provider zur Auslieferung von SAML-Assertions ein.
SaaS-Integration über Okta
Okta wird als Identity Provider genutzt, um SAML-basierte Zugriffe auf SaaS-Dienste zu ermöglichen.
Implementierungsschritte
Analyse bestehender Authentifizierungsflüsse und Attributanforderungen.
Einrichtung/Hardening eines IdP und Austausch von Metadaten mit SPs.
Konfiguration von Assertions, Mappings und Testszenarien.
Überwachung nach Go-Live und Prozesse für Zertifikatsrotation einführen.
⚠️ Technische Schulden & Engpässe
Tech Debt
- Legacy-SPs mit veralteten SAML-Bibliotheken, die aktualisiert werden müssen.
- Manuelle Metadatenpflege ohne Automatisierung.
- Fehlende zentrale Dokumentation von Attribut-Mappings und Policies.
Bekannte Engpässe
Beispiele für Missbrauch
- SP vertraut ungeprüften Assertions von nicht verifizierten IdPs.
- Übertragung sensibler Attribute ohne angemessene Verschlüsselung.
- Konfiguration von IdP als Single Point of Failure ohne Redundanz.
Typische Fallen
- Unterschiede in Namensräumen oder Encoding führen zu Validation-Fehlern.
- Fehlende Zeit- bzw. Uhrzeit-Synchronisation zwischen IdP und SP.
- Unzureichende Tests mit externen Partnern vor Produktionsstart.
Erforderliche Fähigkeiten
Drivers (Architectural Drivers)
Constraints
- • Abhängigkeit vom IdP-Verfügbarkeits- und Skalierungsmodell.
- • Notwendigkeit, XML-DSig und XML-Enc korrekt zu implementieren.
- • Kompatibilitätsprüfung zwischen IdP- und SP-Versionen erforderlich.