Die Installation des SAMLAdapter umfasst folgende Schritte:
Aktivierung. Der SAMLAdapter muss im GeoShop aktiviert und als GeoShop Dienst ausgeführt werden.
Konfiguration. Die notwendigen SAMLAdapter Parameter
müssen in appserver.opt
des GeoShop
gesetzt werden.
Login Skript: Es muss ein Login Skript konfiguriert / erstellt werden. Der Login Skript bildet die externen SAML Benutzer des IdP auf interne GeoShop Benutzer ab.
GeoShop Neustart: Der SAMLAdapter wird geladen und die Konfigurationsparameter gelesen. Der GeoShop ist für SAML Anfragen bereit
Der SAMLAdapter muss zuerst als GeoShop Dienst aktiviert
werden. Dazu muss ein zusätzlicher Eintrag in der Services Datei
services.srv
des GeoShop erstellt werden (s.a.
GeoShop Benutzerhandbuch).
LIST ... MAP name STRING samladapter description STRING 'SAMLAdapter' module STRING SAMLAdapter server STRING appserver } ... }
Als Nächstes können die Parameter des SAMLAdapter in
appserver.opt
des GeoShop konfiguriert
werden:
MAP
...
SAMLAdapter MAP
[ CERTDB_STORE STRING <CertDbStore> ]
[ CERTDB_STORE_PASSWORD STRING <CertDbStorePassword> ]
[ CERTDB_KEY_PASSWORD STRING <CertDbKeyPassword> ]
[ CERTDB_ALIAS STRING <CertDbAlias> ]
GEOSHOP_ENTITYID STRING <EntityId>
GEOSHOP_CLIENT_URL STRING <ClientUrl>
IDP_SIGNON_URL STRING <SignOnUrl>
IDP_CERTIFICATE STRING <IdpCertificate>
VALIDATE_SIGNATURE STRING <ON | OFF>
LOG_SAML_REQUESTS STRING <ON | OFF>
DEBUG STRING <ON | OFF>
}
...
}
Folgende Felder sind einzutragen:
Parameter | req/opt | Typ | Beschreibung |
CERTDB_STORE | o | STRING | Name der Zertitifikatdatenbank (Default:
saml.pfx ). Die Zertifikatdatenbank
muss sich im Ordner \user\certs
befinden und im PKCS12 Format abgespeichert sein. Falls
die Zertifikatdatenbank nicht existiert, wird
saml.pfx beim Start des GeoShop
automatisch aus einem selbst signierten Zertifikat
erstellt. |
CERTDB_STORE_PASSWORD | o | STRING | Passwort für die Zertifikatdatenbank. |
CERTDB_KEY_PASSWORD | o | STRING | Passwort für den private Key in der Zertifikatdatenbank. |
CERTDB_ALIAS | o | STRING | Alias unter dem das Zertifikat / private Key in
der Zertifikatdatenbank abgelegt ist (Default:
geoshop ). Falls der Alias in der
Zertifikatdatenbank nicht existiert, wird vom GeoShop das
erste Zertifikat / der erste private Key in der
Zertifikatdatenbank gewählt. |
GEOSHOP_ENTITYID | r | STRING | Eindeutige Id, welche den GeoShop gegenüber dem
IdP identifiziert. Es ist üblich dafür eine URL zu
verwenden, z.B.
https://geoshop.com/SAMLAdapter |
GEOHOP_CLIENT_URL | r | STRING | URL der GeoShop Client Anwendung, z.B.
|
IDP_CERTIFICATE | r | STRING | X509 Zertifikat des IdP als Base64 codierte Zeichenkette (ohne Header, Trailer, Zeilenumbrüche). Wird vom IdP beim Metadatenaustausch geliefert (s.a. Kapitel 3). |
IDP_SIGNON_URL | r | STRING | URL an den der GeoShop einen SAML
|
VALIDATE_SIGNATURE | o | STRING | ON |OFF . Signatur des IdP mit
dem Zertifikat des IdP prüfen. Default:
ON . |
LOG_SAML_REQUESTS | o | STRING | ON |OFF . SAML Meldungen in
appserver.log aufzeichnen. Default:
OFF . |
DEBUG | o | STRING | ON |OFF . Zusätzliche Meldungen
in appserver.log ausgeben. Default:
OFF . |
Schliesslich muss noch in appserver.opt
im
Abschnitt GeoShopServer
der Parameter
LOAD_USER
gesetzt werden.
MAP ... GeoShopServer MAP ... LOAD_USER STRING saml,/script/saml/simple.cfg } ... }
Im Standard Skript /script/saml/simple.cfg
werden alle via SAML authentifizierten Benutzer auf einen GeoShop
Benutzer gemappt, der die gleichen Rechte hat wie der Benutzer
\users\saml_template.usr
. Der Skript
simple.cfg
und die Benutzerdatei
saml_template.usr
können an die eigenen
Bedürfnisse angepasst werden (z.B. Mapping auf verschiedene GeoShop
Benutzer Gruppen, s.a. Anhang).
Der GeoShop muss frisch gestartet werden, damit der SAMLAdapter
geladen wird. In appserver.log
müssen folgende
Meldungen erscheinen:
-------------------------------------- module SAMLAdapter 2022.0x -------------------------------------- testing environment ... GeoShop EntityID is https://<GeoShop-URL>/SAMLAdapter GeoShop Client URL is https://<GeoShop-URL>/client5/index.html GeoShop private key loaded from saml.pfx GeoShop certificate loaded from saml.pfx, valid until <Date> GeoShop key and certificate match IdP SignOn URL is <IdP-SignOnURL> IdP certificate loaded, valid until <Date>
Falls Fehlermeldungen angezeigt werden (z.B. ungültiges Zertifikat), müssen die Ursachen behoben werden. Nach der Fehlerbehebung sollte der GeoShop nochmals gestartet werden.