Skip To Content

Besitzbasierte Zugriffssteuerung für Feature-Services

Hinweis:

Diese Funktionen können nur für Enterprise-Geodatabases, nicht für Datenbanken, verwendet werden.

Sie können einen Feature-Service so konfigurieren, dass die Information, wer ein Feature erstellt hat, aufgezeichnet wird. Sie können auch den Zugriff von Benutzern auf Features, deren Eigentümer sie nicht sind, unterbinden. Dies wird als besitzbasierte Zugriffssteuerung bezeichnet.

Um die besitzbasierte Zugriffssteuerung verwenden zu können, müssen Sie in Ihrem Dataset ein Feld vorsehen, in dem der Erstellername gespeichert wird. Danach müssen Sie in den Einstellungen für das Editor-Tracking dieses Feld als Creator-Feld festlegen. Die dazu notwendigen Schritte finden Sie unter Editor-Tracking für Feature-Services.

Wenn Sie den Service veröffentlichen und die Funktion Feature-Zugriff aktivieren, dann aktivieren Sie auch die Eigenschaft Besitzbasierte Zugriffssteuerung für Features aktivieren. Danach können Sie Zulässige Operationen für Features, die von anderen Benutzern erstellt wurden (Abfragen, Aktualisieren und Löschen) auswählen, um anzugeben, welche Operationen von Benutzern außer dem Ersteller ausgeführt werden können. Der Ersteller kann generell alle Operationen, die am Service zulässig sind, ausführen.

Wenn Sie das Abfragen deaktivieren, müssen Sie bedenken, dass dem angemeldeten Benutzer nur die Features, die er erstellt hat, angezeigt werden. Wenn dagegen das Abfragen aktiviert ist und das Aktualisieren und das Löschen deaktiviert sind, dann kann der Benutzer zwar abfragen, hat aber auf Features, die im Besitz anderer Benutzer sind, nur schreibgeschützten Zugriff.

Die besitzbasierte Zugriffssteuerung funktioniert nur dann, wenn der Service die Informationen, wer ein Feature erstellt hat und versucht, darauf zuzugreifen, abrufen kann. In der Client-Anwendung muss der Entwickler dafür sorgen, dass der Benutzer seine ArcGIS Server-Anmeldeinformationen eingeben muss. Diese Informationen verwendet der Entwickler dann, um ein Token von ArcGIS Server zu erhalten. Das verschlüsselte Token mit den Benutzerinformationen sollte beim Senden von Anforderungen an den Feature-Service übergeben werden.

Wenn ein Benutzer ein Feature aus einer anonymen Anforderung (einer Anforderung, die keine Benutzerinformationen enthält) erstellt, bleibt das Creator-Feld leer. Dadurch kann jeder Benutzer auf das Feature zugreifen.

Hinweis:

Änderungen, die durch anonyme Benutzer über den Feature-Service vorgenommen wurden, werden als Esri_Anonymous in der Geodatabase protokolliert. Bei Clients, die diesen Feature-Service verwenden, werden diese Werte allerdings als leere Zeichenfolge angezeigt. Wenn Sie den Feature-Service über das REST-Services-Verzeichnis abfragen, um Features zu suchen, die durch anonyme Benutzer erstellt wurden, müssen Sie Esri_Anonymous angeben. Wenn zum Beispiel der Feature-Layer ein Creator-Feld mit dem Namen "created_by" enthält, dann geben Sie created_by='Esri_Anonymous' im Feld Wobei gilt ein.

Wenn ein Feature-Service in einer Karte, die für die Bearbeitung in den Offline-Betrieb versetzt wurde, verwendet wird, dann wird der Benutzername der Person, die die Karte in den Offline-Betrieb versetzt hat, verwendet, um die Bearbeitungen zu verfolgen. Dabei erfolgt die Zugriffssteuerung basierend auf diesem Benutzer. Beachten Sie, dass für ArcGIS Server-Administratoren die besitzbasierte Zugriffssteuerung nicht erzwungen wird. Administratoren besitzen sämtliche Berechtigungen.

Wenn in bestimmten Datasets im Service kein spezielles Creator-Feld festgelegt wurde, dann wird für diese Datasets die besitzbasierte Zugriffssteuerung nicht erzwungen. Wenn Sie das Kontrollkästchen zum Aktivieren der besitzbasierten Zugriffssteuerung nicht aktiviert und kein Creator-Feld angegeben haben, dann werden möglicherweise Warnungen angezeigt, wenn Sie die Karte für die Veröffentlichung analysieren. Layer und Tabellen ohne Creator-Feld verwenden die Berechtigungsregeln, die auf Service-Ebene festgelegt wurden, wie in Editor-Berechtigungen für Feature-Services beschrieben.

Web-Editoren

Wenn Sie die besitzbasierte Zugriffssteuerung einrichten, können Sie auch einen Benutzerbereich angeben. Wenn zum Beispiel der Benutzerbereich auf myserver.com festgelegt wurde und der Benutzer "Bob" über den Service eine Verbindung herstellt und ein Feature einfügt, wird der Ersteller auf Bob@myserver.com festgelegt.

Die Regeln für die besitzbasierte Zugriffssteuerung gelten für Web-Editoren ohne Administratorrechte, die Bearbeitungen über den Service durchführen.

Tipps und Empfehlungen

Wichtig zu beachten ist auch, dass die Optionen für die besitzbasierte Zugriffssteuerung auf die Operationen, die für alle Benutzer auf Service-Ebene zulässig sind, beschränkt sind. Wenn zum Beispiel die Operationen "Aktualisieren" und "Löschen" auf Service-Ebene deaktiviert sind, dann sind die Operationen "Aktualisieren" und "Löschen" auch in den Einstellungen für die besitzbasierte Zugriffssteuerung deaktiviert.

Beim Veröffentlichen eines Service wird empfohlen, dass Sie das Creator-Feld für alle Layer und Tabellen sichtbar lassen. Daran erkennen die Clients, welcher Benutzer ein bestimmtes Feature erstellt hat. Diese Information können sie dann verwenden, um zu verhindern, dass Benutzer versuchen, Features, zu deren Bearbeitung sie nicht berechtigt sind, zu bearbeiten. Wenn das Creator-Feld ausgeblendet ist, dann können die Clients, die den Feature-Service verwenden, nicht erkennen, welcher Benutzer ein bestimmtes Feature erstellt hat. Wenn der Client versucht, ohne Berechtigung ein Feature zu bearbeiten, wird eine Fehlermeldung zurückgegeben.

Es ist wichtig, den Unterschied zwischen Editor-Tracking und besitzbasierter Zugriffssteuerung zu beachten. Wenn das Editor-Tracking für einen Layer auf Dataset-Ebene aktiviert ist, werden durch den Feature-Service die Bearbeitungen ungeachtet dessen, ob Regeln für die besitzbasierte Zugriffssteuerung gelten, verfolgt. Das Editor-Tracking auf Dataset-Ebene ist jedoch erforderlich, um Regeln für die besitzbasierte Zugriffssteuerung festzulegen.

Wenn Bearbeitungen durch einen nicht authentifizierten Benutzer durchgeführt werden, bleibt das Creator- oder Editor-Feld leer. Wenn die besitzbasierte Zugriffssteuerung aktiviert ist, kann jeder Benutzer Features bearbeiten. Wenn die besitzbasierte Zugriffssteuerung aktiviert und der Ersteller NULL ist, sind die Features oder Datensätze schreibgeschützt. In diesem Fall kann niemand Features bearbeiten. Service-Ersteller können ihre Daten so konfigurieren, dass bei Features, die schreibgeschützt sein sollen, der Ersteller NULL gilt.