SAML2

Übersicht

VLS unterstützt die Anbindung an ein SAML2 Single-Sign-On System (z.B. auf der Basis von Shibboleth).

Konfiguration

Um SAML2-Authentifizierung für eine VLS-Instanz zu aktivieren, muss in der server.ini der Wert saml.on=True gesetzt werden.

Die Zertifikate des Service Providers und die Metadaten des Identity-Provider werden im Verzeichnis path.saml abgelegt (standardmäßig: ${varFast}/saml):

  • sp.key: Die geheime Schlüsseldatei (unverschlüsselt, ohne Passwort)

  • sp.crt: Die öffentliche Schlüsseldatei (z.B. selbstsigniert)

  • idp.crt: Die öffentliche Schlüsseldatei des IdP (aus der Metadatendatei extrahiert)

  • idp.xml: Die Metadatendatei des Identity-Providers (wird aktuell nicht benutzt)

Die weitere Konfiguration findet in der server.ini im Abschnitt [saml] statt, zum Beispiel:

[saml]
    on = True
    [[sp]]
        entity_base = http://saml.vls.io

    [[idp]]
        entity_id = http://idp.vls.io/idp/shibboleth
	    sso_url = http://idp.vls.io/idp/profile/SAML2/Redirect/SSO
	    certfile = idp.crt

Anlegen der Schlüssel

Die Schlüssel werden entweder von der Einrichtung zur Verfügung gestellt oder selbst einmalig erzeugt. Da der öffentliche Schlüssel teil der publizierten Metadaten ist, muss ein Schlüsselupdate dem Identity-Provider (oder der Federation) angezeigt werden.

$ openssl req -new -x509 -days 3652 -nodes -out sp.crt -keyout sp.key
[...]
Country Name (2 letter code) [XX]:DE
State or Province Name (full name) []:
Locality Name (eg, city) [Default City]:Aachen
Organization Name (eg, company) [Default Company Ltd]:Semantics
Organizational Unit Name (eg, section) []:
Common Name (eg, your name or your server's hostname) []:saml.vls.io
Email Address []:adminmails@semantics.de

Üblicherweise (z.B. bei Shibboleth) werden alle selbstsignierten Zertifikate akzeptiert, und enthaltene Metadaten vollständig ignoriert (inklusive Ablaufdatum). Dies ist aber nicht immer der Fall. Anforderungen an das Zertifikat sind deshalb ggf. beim Identity-Provider zu erfragen.

Übermitteln der Metadaten

Die Metadaten der VL als Service Provider können zur Laufzeit unter /saml/metadata abgefragt und dann an den IdP übermittelt werden.

Nach Registrierung der Metadaten beim IdP ist die Konfiguration abgeschlossen.