Server-Konfiguration
Mit der Server-Konfiguration legen Sie fest, welche Dienste eines Servers security.manager for OGC absichern soll. Außerdem ordnen Sie die Zugriffsrechte-Dateien den Diensten zu.
Die Server-Konfiguration besitzt die folgende Struktur:
{
"server": {
"host": "https://gisserver.example.com", (1)
"serverAuthn": {}, (2)
"services": [] (3)
}
}
| 1 | Hostname der Ziel-Servers, dessen Dienste abgesichert werden sollen |
| 2 | optional: Authentifizierungsinformationen des Ziel-Servers |
| 3 | beschreibt die abzusichernden Dienste auf dem Ziel-Server |
Sie können jede Property der application.properties oder jede Umgebungsvariable mithilfe der ${key} Expressions nutzen, z.B. "host": "${secured.server.url}".
|
|
Automatische Vervollständigung und Syntaxprüfung
Das hier beschriebene JSON-Format für die Server-Konfiguration ist auch als JSON-Schema beschrieben. Mithilfe des Schemas können Sie sicherstellen, dass Ihre JSON-Datei den Vorgaben entspricht. Außerdem können Editoren wie Visual Studio Code auf Basis des Schemas Vorschläge, Beschreibungen sowie eine automatische Vervollständigung für Elemente bei der Eingabe anbieten. Fügen Sie der JSON-Datei die folgende
Eine Kopie des JSON-Schemas ist Teil der security.manager for OGC Auslieferung und verfügbar unter
Ersetzen Sie |
serverAuthn
Authentifizierungs-Informationen für den Zugriff auf den Ziel-Server durch security.manager for OGC.
Diese Information ist optional. Wenn definiert, führt security.manager for OGC eine Authentifizierung beim Herstellen einer Verbindung zum Ziel-Server durch.
"serverAuthn": {
"type": "basic", (1)
"username": "<username>", (2)
"password": "<password>" (2)
}
| 1 | Art der Authentifizierung |
| 2 | nur bei HTTP Basic Authentifizierung: Anmeldename und Passwort, möglichst als Referenz auf Umgebungsvariablen |
type-
Typ der Authentifizierung. Erlaubte Werte:
basic(HTTP Basic Authentifizierung),none(keine Authentifizierung). username-
Anmeldename für die Authentifizierung gegenüber dem Ziel-Server im Klartext.
password-
Passwort für die Authentifizierung gegenüber dem Ziel-Server im Klartext.
services
Liste der Dienste, die durch security.manager for OGC abgesichert werden sollen.
"services": [{
"path": "/path/to/service", (1)
"type": "WMS", (2)
"policy-ref": "my-policy" (3)
}]
| 1 | Pfad zum Dienst auf dem Ziel-Server |
| 2 | Art des Dienstes |
| 3 | Referenz auf den Zugriffsrechte-Datei im policies-Ordner ohne Dateiendung |
path
Pfad zum Dienst auf dem Ziel-Server.
Der Wert muss mit / beginnen und darf keine URI-Fragmente oder Query-Parameter enthalten.
Detaillierte Informationen darüber, wie security.manager for OGC den Ziel-Dienst für einen eingehenden Request ermittelt, finden Sie im Abschnitt Zuordnung eingehender Anfragen zu geschützten Diensten.
type
Typ des Dienstes, der bestimmt, welche Autorisierungslogik angewendet wird.
Erlaubte Werte:
-
WMS: Der geschützte Dienst ist ein Web Map Service. security.manager for OGC setzt Zugriffsrechte für Layer in WMS Requests und Responses durch. -
WFS: Der geschützte Dienst ist ein Web Feature Service. security.manager for OGC setzt Zugriffsrechte für Feature Types in WFS Requests und Responses durch. -
FORWARD: Der geschützte Dienst beschreibt einen Pfad. security.manager for OGC leitet Requests an diesen Pfad weiter, ohne OGC-spezifische Logik anzuwenden. Dies ist z.B. nützlich, um den Zugriff auf Ressourcen-Pfade zu erlauben, die von einem OGC Service bereitgestellt werden (siehe Zugriff auf beliebige Pfade des Ziel-Servers erlauben).
policy-ref
Dateiname einer Zugriffsrechte-Datei im policies-Ordner.
Die Dateiendung .json wird dabei weggelassen.
Die in dieser Zugriffsrechte-Datei festgelegten Zugriffsrechte gelten für den Zugriff auf diesen Dienst.
Die Property policy-ref ist optional, wenn type den Wert FORWARD besitzt.
Beispiel: Für eine Datei my-policy.json im policies-Ordner muss policy-ref den Wert "my-policy" besitzen.