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.