Erstellen von Berechtigungen für ArcGIS Server

Zum Anlegen von Rechten für ArcGIS Server-Dienste wählen Sie im Navigationsbaum ArcGIS Server aus.

ags overview de

Um einen weiteren ArcGIS Server hinzuzufügen, klicken Sie +. Im folgenden Dialog können Sie entweder einen bereits im Tab Geschützte Dienste angelegten ArcGIS Server auswählen, oder durch Auswahl von anderer im Feld Geschützter Dienst eine URL direkt in das Feld URL des ArcGIS Server eingeben.

ags new de

Um die verfügbaren Dienste des ArcGIS Servers abzufragen und zur Auswahl anzuzeigen, klicken Sie Dienste anzeigen.

Die einzelnen Dienste des ArcGIS Servers sind mit Checkboxen versehen.

Wählen Sie die Dienste aus, für die Sie Rechtesets generieren möchten, und klicken Sie auf Rechtesets erzeugen. Die Rechtesets werden unterhalb des ArcGIS-Server-Knotens im Navigationsbaum aufgelistet.

Das Erzeugen von Rechten innerhalb dieser Rechtesets erfolgt analog zu der Beschreibung für WMS-Rechte.

ags new services de

Autorisierung von MapServer Gruppen-Layern

Die folgende Beispiel-Hierarchie verdeutlicht, welche Layer Sie autorisieren müssen, um den Zugriff auf eine ganze Gruppe von Layern einzuschränken:

  • Pflanzen (ID: 0)

    • Nutzpflanzen (ID: 1)

    • Blumen (ID: 2)

    • Hecken (ID: 3)

    • Bäume (ID: 4)

      • Nadelbäume (ID: 5)

      • Laubbäume (ID: 6)

Wenn Sie z.B. den Zugriff auf alle Bäume einschränken möchten, deaktivieren Sie alle Layer dieser Gruppe (IDs 4, 5 und 6) im Bereich Ressourcen für das entsprechende Recht.

Definition-Queries für MapServer und FeatureServer

Der ArcGIS Server MapServer/FeatureServer erlaubt die Nutzung von sogenannten Definition-Queries, um für einzelne Layer die angezeigten Features mittels attributbasierter Filter auszuwählen. ArcMap beinhaltet zur Definition dieser Queries den Query Builder.

Im security.manager besteht die Möglichkeit, in den Rechten zu ArcGIS Server MapServer/FeatureServer-Diensten solche Definition-Queries als zusätzliche Obligation zu hinterlegen. Damit kann für das entsprechende Recht eine Einschränkung auf bestimmte Features definiert werden. Es wird empfohlen, diese Definition-Queries mit dem Query-Builder zu erzeugen und dann per Copy & Paste in die Definition der Obligation zu übernehmen.

Es ist zudem möglich Nutzerattribute in Definition-Queries zu referenzieren, indem ein Ausdruck der Form ${user.USER_ATTRIBUTE} benutzt wird.

Ein Feature hat ein Feld CITY. Damit ein angemeldeter Nutzer nur die Features sehen kann, die in der Stadt liegen, aus der er kommt, würde die Definition-Query wie folgt aussehen:

CITY = '${user.city}'

Folgende Ausdrücke können verwendet werden, um Attribute des anfragenden Nutzers in die Defnition Query einzusetzen:

Ausdruck Bedeutung

${user.username}

Nutzername

${user.givenname}

Vorname

${user.familyname}

Nachname

${user.phonenumber}

Telefonnummer

${user.mail}

E-Mail-Adresse

${user.street}

Straße inkl. Hausnummer

${user.city}

Stadt

${user.country}

Land

${user.gender}

Geschlecht

${user.roles}

Rollen des Nutzers

Da mehrere Rollen möglich sind, wird dieser Ausdruck ersetzt durch Text der Form ('role1, 'role2', 'role3').
Soll das Setzen der Anführungszeichen unterbunden werden, z.B. weil der Zieldatentyp numerisch ist, muss der Ausdruck wie folgt lauten: ${user.roles;set(noquotes)}.

Das Setzen von Anführungszeichen, um den Anforderungen der konkreten Datentypen im ArcGIS Server zu genügen, obliegt dem Administrator. Die einzige Ausnahme ist das Nutzerattribut roles (s.o.)
ags definition query de

Attributwerteinschränkungen bei Editieroperationen

Um Attributwert-basierte Einschränkungen zu definieren, muss für das FeatureServer-Recht, das die Editiererlaubnis festlegt, eine Auflage vom Typ Attributwert-Einschränkungen angelegt werden.

ags attributes edit de

Hier werden die Einschränkungen bzgl. der Werte festgelegt, die die Felder eines editierten (also hinzuzufügenden oder zu aktualisierenden) Features besitzen müssen. Die Einschränkungen werden in Form eines Filterausdrucks definiert. Dabei ist zu beachten, dass die Vergleichswerte nicht direkt in den Filterausdruck eingefügt werden, sondern in einem separaten Feld definiert werden. Die Vergleichswerte ersetzen dann jeweils in entsprechender Reihenfolge die '?' in dem Filterausdruck.

Attributeinschränkungen für MapServer und FeatureServer

Mit dem security.manager kann die Sichtbarkeit von Attributen eines Layers oder einer Tabelle über Rechte-Auflagen eingeschränkt werden. Diese Funktion ist für MapServer und FeatureServer verfügbar und bewirkt, dass in der Auflage ausgewählte Attribute aus Antworten des Service herausgefiltert und in Anfragen nicht benutzt werden können. Für den Nutzer eines Dienstes mit solchen Attribut-Einschränkungen entsteht also der Eindruck, als existierten diese Attribute nicht. Über diese Funktion können letztlich bis auf Attributebene Nutzer- bzw. rollenspezifische Sichten auf Layer und Tabellen umgesetzt werden.

Definition von Attribut-Einschränkungen in der Rechteadministration

Um eine Attribut-Einschränkung für einen MapServer oder FeatureServer anzulegen, legen Sie innerhalb eines Rechts eine neue Auflage vom Typ Attribut-Einschränkungen an.

ags attributes restriction de

In der hierfür vorgesehenen Oberfläche werden linker Hand die Namen der Layer des Dienstes mitsamt den zugehörigen Attributen angezeigt. Durch die Aktivierung der Checkbox eines Attributs wird dieses zur Liste der nicht zulässigen Attribute hinzugefügt (zu sehen auf der rechten Seite des Dialogs). Ein Deselektieren der Checkbox entfernt das Attribut aus der Liste der verbotenen Attribute.

Hinweise

HTML Popups

Bei bestehenden Attribut-Einschränkungen auf einem MapServer liefert die Operation htmlPopup keine Informationen für ein Feature auf dem entsprechenden Layer.

Multi-Layer Operationen

Falls auf einem Server verbotene Attribute in Operationen referenziert werden, die auf mehreren Layern arbeiten und keine eindeutige Zuordnung der referenzierten Attribute zu den angefragten Layern möglich ist, werden die verbotenen Attribute aus der gesamten Anfrage entfernt.

Angenommen, es existiert eine Attribut-Einschränkung für das Attribut class auf dem Layer 0 und keine Einschränkung auf dem Layer 1. Bei einer Find-Anfrage mit den Parametern layers=0,1 und searchfields=name,class würde class aus dem Parameter searchfields entfernt werden, obwohl class auf dem Layer 1 erlaubt ist.

Stern-Operator (Alle Spalten)

Abfragen, welche den Stern-Operator für alle Spalten einsetzen (z.B. bei SELECT * FROM table_name), werden als invalide Anfragen abgelehnt und nicht an den ArcGIS Server weitergegeben. Diese Maßnahme verhindert dass unbefugte Nutzer über eingeschränkte Attribute Kenntnis erlangen oder sogar Inhalte in Erfahrung dieser erhalten können.

Template, Types und Subtypes

Einschränkungen auf Feldern, die von Templates genutzt werden oder einen Type oder Subtype definieren, können zu unerwartetem Verhalten führen. Attributrestriktionen beeinflussen auch die Metainformation des entsprechenden Layers.

Drucken abgesicherter Dienste mit dem PrintingTools-Service

security.manager unterstützt das Drucken von Karten aus einer Web-Anwendung mit Hilfe des PrintingTools-Service. Der PrintingTools-Service ist ein vorkonfigurierter, standardmäßig gestoppter Service im "Utilities"-Ordner des ArcGIS Server. Bei diesem Service handelt es sich um einen gewöhnlichen GeoProcessing Service (GPServer) des ArcGIS Server, der das vordefinierte Tool Export Web Map Task nutzt, um einen Ausdruck zu erzeugen.

Das heißt, dass Sie den Zugriff auf dieses Tool mit Standardmitteln des security.manager absichern können, so dass der Zugriff auf die Druckfunktion abhängig vom aktuell angemeldeten Nutzer erlaubt werden kann. Wenn ein Druckauftrag an einen geschützten PrintingTools-Service Referenzen auf Dienste wie z.B. MapServer oder FeatureServer enthält, die auf der selben security.manager-Instanz abgesichert werden, spiegelt die Karte des Druckergebnisses die Berechtigungen des angemeldeten Nutzers wieder.

Um diese Funktion in jedem Falle zu gewährleisten, ist es allerdings notwendig, dass Sie für den geschützten ArcGIS Server die Authentifizierungsmethode agstoken aktivieren, auch wenn der Zugriff auf den geschützten PrintingTools-Service und die referenzierten Dienste einen anderen Authentifizierungsmechanismus verwenden. Nur so kann sichergestellt werden, dass der GeoProcessing Service beim Zugriff auf referenzierte geschützte Dienste die Nutzerinformationen an den security.manager weiterleiten kann.

Diese Funktion ist nur für solche Geoprocessing-Tasks aktiv, deren Namen mit "Export Web Map" beginnen und deren aufgerufene Operation "execute" ist (REST). Für SOAP-Operationen ist der Operationsname "Execute".