Zugriff an Rollen knüpfen
In diesem Tutorial lernen Sie, wie Sie den Zugriff auf den Ziel-Dienst https://services.conterra.de/arcgis/services/common/grenzen/MapServer/WFSServer wie folgt einschränken können:
-
alle Personen sollen auf den FeatureType World zugreifen dürfen
-
alle authentifizierte Personen sollen zudem auf die FeatureTypes Bundeslaender und Kreise zugreifen dürfen
Die Nutzung von Rollen, die durch den Identitätsanbieter zur Verfügung gestellt werden, wird im How-to Rollen eines Identitätsanbieter in Zugriffsrechten referenzieren.
Voraussetzung
Dieses Tutorial baut auf den Dateien auf, die Sie im Tutorial Zugriff auf WFS erlauben erstellt haben. Es gelten folgende Voraussetzungen:
-
Sie haben security.manager for OGC mit dem Identity Service verbunden.
-
Identity Service und security.manager for OGC sind im Browser über die gleiche Domäne erreichbar. In diesem Tutorial wird davon ausgegangen, dass
-
security.manager for OGC als
localhost:8080/secman-ogcverfügbar ist und -
Identity Service als
localhost:8080/identity.
-
-
Sie besitzen einen Account beim Identitätsanbieter, der mit dem Identity Service verbunden ist. Das kann zum Beispiel ein Account in ArcGIS Portal oder Keycloak sein.
Zugriffsrecht für alle Nutzer:innen
Die Liste roles nennt alle Rollen, für die ein Zugriffsrecht gilt.
Diese Rollen sind unter Rollen genauer beschrieben.
Öffnen Sie die Zugriffsrecht-Datei aus dem Tutorial Zugriff auf WFS erlauben. Aktuell sind alle FeatureTypes für alle Personen freigegeben. Beschränken Sie das Zugriffsrecht auf den FeatureType World, wie im Tutorial Zugriff auf FeatureTypes steuern beschrieben:
{
"policies": [{
"layers": ["World"],
"roles": ["enhancedSecurity_any"]
}]
}
Zugriffsrecht für authentifizierte Nutzer:innen
Nun fehlt noch ein Zugriffsrecht für den authentifizierten Zugriff.
Fügen Sie deshalb ein weiteres Zugriffsrecht zur Liste policies hinzu.
Dieses soll für die Rolle enhancedSecurity_authenticated gelten und die FeatureTypes Bundeslaender und Kreise erlauben.
{
"policies": [
{
"layers": ["World"],
"roles": ["enhancedSecurity_any"]
},{
"layers": ["Bundeslaender", "Kreise"],
"roles": ["enhancedSecurity_authenticated"]
}
]
}
Tomcat neustarten
Speichern Sie die Änderungen und starten den Tomcat neu, um die Änderungen zu übernehmen.
Konfiguration überprüfen
Die nächsten beiden Schritte demonstrieren, wie sich die Dienst-Antwort ändert, abhängig davon, ob Sie beim Identity Service ausgeloggt oder eingeloggt sind.
Zugriff ohne Authentifizierung
Für den Zugriff ohne Authentifizierung stellen Sie sicher, dass Sie beim Identity Service ausgeloggt sind, bevor Sie den geschützten Dienst aufrufen.
Öffnen Sie hierzu einen neuen privaten Browser und rufen die URL des geschützten Dienstes auf:
http://localhost:8080/secman-ogc/arcgis/services/common/grenzen/MapServer/WFSServer?request=GetCapabilities&service=WFS.
In den Capabilities sehen Sie, dass Sie ohne Authentifizierung lediglich auf den FeatureType World zugreifen können.
Zugriff mit Authentifizierung
Für den Zugriff mit Authentifizierung müssen Sie sich zuerst beim Identity Service einloggen, bevor Sie den geschützten Dienst erneut aufrufen.
Rufen Sie hierzu die Startseite des konfigurierten Identity Service localhost:8080/identity/ auf und melden sich unter Login an.
Anschließend rufen Sie wieder den geschützten Dienst auf:
http://localhost:8080/secman-ogc/arcgis/services/common/grenzen/MapServer/WFSServer?request=GetCapabilities&service=WFS
Als authentifizierte Person können Sie neben dem FeatureType World auch auf die FeatureTypes Bundeslaender und Kreise zugreifen.