Identity Service verbinden
| In diesem How-to wird beschrieben, wie Sie security.manager for OGC mit dem Identity Service verbinden, sodass Sie Zugriffsrechte an Rollen von authentifizierten Nutzer:innen binden können. |
Solange Sie security.manager for OGC nicht mit einem Identity Service verbinden, kann security.manager for OGC nur Zugriffsrechte durchsetzen, die für alle Nutzer:innen gelten. Um Zugriffsrechte abhängig von Rollen- oder Gruppen-Zugehörigkeiten von Nutzer:innen durchsetzen zu können, müssen Sie security.manager for OGC mit einem Identity Service verbinden. Wenn sich Nutzer am dort konfigurierten Identitätsanbieter authentifizieren, kann security.manager for OGC die Rollen- oder Gruppen-Zugehörigkeiten der Nutzer:innen abfragen und Zugriffsrechte entsprechend durchsetzen.
Verbindung konfigurieren
-
Legen Sie im Konfigurationsverzeichnis des security.manager for OGC die Datei
application.propertiesan, falls sie noch nicht existiert. Standardmäßig ist diese der Pfad${user.home}/.secman-ogc/application.properties. -
Fügen Sie folgende Einträge hinzu und passen Sie diese an:
security.mode=IDENTITY security.identity.self.service.url=https://id.example.com/identity/account/selfErsetzen Sie
https://id.example.com/identity/account/selfdurch die tatsächliche Self info URL des Identity Service, den Sie verwenden möchten. Die Self info URL können Sie ermitteln, indem Sie die Basis URL des Identity Service im Browser aufrufen, zum Beispielhttps://id.example.com/identity/. Die URL wird auf der Seite angezeigt. -
Wenn Sie für security.manager for OGC einen anderen Hostnamen als für den Identity Service verwenden, beachten Sie die Konfigurationshinweise im Identity Service zur Nutzung unterschiedlicher Hostnamen unter einer Domäne. Ein Betrieb von security.manager for OGC und Identity Service unter unterschiedlichen Domänen wird nicht unterstützt.
-
Speichern Sie die Datei und starten Sie den Tomcat neu.
Verbindung testen
Um die Verbindung zu testen, sollten Sie versuchen, sich einzuloggen und auf den Layer eines geschützten Dienstes zuzugreifen, der nur für angemeldete Nutzer:innen freigegeben ist.
Damit Sie die Verbindung wie hier beschrieben testen können, müssen folgende Voraussetzungen erfüllt sein:
-
Identity Service und security.manager for OGC sind über dieselbe Domäne erreichbar, zum Beispiel
https://id.example.com/identity/undhttps://secman.example.com/secman-ogc/. -
Sie besitzen einen Account bei dem Identitätsanbieter, der im Identity Service konfiguriert ist.
Zugriffsrecht erstellen
Erstellen Sie zuerst ein Zugriffsrecht, das den Zugriff auf einen Layer nur für angemeldete Nutzer:innen erlaubt.
-
Öffnen Sie dazu die Zugriffsrechtedatei des Dienstes, den Sie testen wollen.
-
Erstellen Sie ein Zugriffsrecht für die Rolle
enhancedSecurity_authenticated, das den Zugriff auf einen Layer erlaubt, zum Beispiel:"policies":[ { "layers": ["layerA"], "roles": ["enhancedSecurity_authenticated"] } ]Ersetzen Sie
layerAdurch den tatsächlichen Namen des Layers, auf den Sie den Zugriff beschränken wollen. -
Speichern Sie die Datei und starten Sie den Tomcat neu.
Anmelden
Als nächstes müssen Sie sich über den Identity Service anmelden.
-
Rufen Sie im Browser die Startseite des konfigurierten Identity Service auf, zum Beispiel
https://id.example.com/identity/. -
Klicken Sie auf den Link unter Login, zum Beispiel
https://id.example.com/identity/account/login. -
Melden Sie sich mit Ihrem Account am Identitätsanbieter an, falls Sie dazu aufgefordert werden.
Nach erfolgreicher Anmeldung werden Sie zurück zum Self-Endpunkt des Identity Service geleitet, dessen Adresse mit /identity/account/self endet.
Geschützten Dienst aufrufen
Rufen Sie nun im Browser die URL des geschützten Dienstes auf, zum Beispiel https://secman.example.com/secman-ogc/my-services/wms?service=WMS&request=GetCapabilities.
Damit der Browser die Anmeldeinformation aus dem vorigen Schritt als Cookie überträgt, müssen Sie die URL des geschützten Dienstes in derselben Domäne wie die des Identity Service aufrufen, also https://secman.example.com/secman-ogc/…, wenn der Identity Service unter https://id.example.com/… erreichbar ist.
Wenn Sie alles richtig konfiguriert haben, sollten Sie nun Zugriff auf den Layer haben, der nur für angemeldete Nutzer:innen freigegeben ist.
Nächste Schritte
Nachdem Sie die Verbindung zu einem Identity Service hergestellt haben, können Sie Zugriffsrechte an Rollen binden, die im dort konfigurierten Identitätsanbieter verwaltet werden. Weitere Informationen finden Sie im How-to Rollen aus Identity Service in Policies referenzieren.