Skip To Content

Integrieren der ArcGIS for Server-Sicherheit mit einer Oracle-Datenbank

In diesem Thema

Wenn ein Benutzer eine GIS-Ressource anfordert, die Daten aus einer Oracle-Datenbank nutzt, kann ArcGIS for Server die Identität des Benutzers an die Datenbank weitergeben und ihr dadurch ermöglichen, die Zugriffssteuerung auf der Basis der Identität des Benutzers zu erzwingen. Dieses Feature ist gegenwärtig nicht für andere Datenbanksysteme verfügbar. Diese Funktion ist derzeit nur für Karten-Services verfügbar.

Wenn die Sicherheit auf Datenbankebene verwendet wird, können einem Benutzer zusätzlich zu oder anstelle von Berechtigungen für ArcGIS for Server-Web-Services Berechtigungen für Tabellen (und/oder Spalten und Zeilen) in der Datenbank zugewiesen werden. Befolgen Sie die unten stehenden Anweisungen, um integrierte Sicherheit für die Oracle-Datenbank zu konfigurieren.

  1. Erstellen eines Datenbankkontos für den Kartenautor.
  2. Erstellen von Datenbankkonten für Benutzer von ArcGIS-Web-Services.
  3. Erstellen eines Dokuments und Veröffentlichung zum ArcGIS for Server.
  4. Aktivieren der integrierten Sicherheit der Datenbank.
  5. Testen der integrierten Sicherheit.

Erstellen eines Datenbankkontos für den Kartenautor

Um integrierte Sicherheit zu unterstützen, muss der Autor des Kartendokuments über die erforderlichen Datenbankberechtigungen verfügen. Sie müssen das Datenbankkonto definieren, das verwendet wurde, um das Kartendokument zu erstellen. Erstellen Sie als Datenbankadministrator Berechtigungen und weisen Sie diese dem Benutzer zu, der die Karte erstellt:

CREATE USER <map author> IDENTIFIED BY <map author password>
 DEFAULT TABLESPACE <tablespace_name>
 TEMPORARY TABLESPACE <temp_tablespace_name>;

 GRANT CONNECT, RESOURCE TO <map author>;

Weitere Informationen und Anforderungen zum Erstellen von Benutzern finden Sie in der Oracle-Dokumentation.

Erstellen von Datenbankkonten für Benutzer von ArcGIS-Web-Services

Damit integrierte Sicherheit funktioniert, muss jeder Benutzer von ArcGIS-Web-Services über ein entsprechendes Datenbankkonto verfügen. Erstellen Sie als Datenbankadministrator Datenbankkonten für jeden Benutzer, der auf ArcGIS-Web-Services zugreift. Sie müssen ebenfalls jedem Benutzer Verbindungsberechtigungen über das Kartenautorendatenbankkonto zuweisen.

CREATE USER <ArcGIS Web user> IDENTIFIED by <ArcGIS Web user>
DEFAULT TABLESPACE <tablespace_name>
TEMPORARY TABLESPACE <temp_tablespace_name>;

GRANT CONNECT,RESOURCE to <ArcGIS Web user>;

ALTER USER <ArcGIS Web user> GRANT CONNECT THROUGH <map author>;
Hinweis:
Verwenden Sie zum Erstellen von Benutzernamen in der Datenbank Kleinschreibung, da ArcGIS for Server Benutzernamen in Kleinschreibung an die Datenbank übergibt. Wenn Sie Microsoft Active Directory als Identitätsspeicher verwenden, setzen Sie den Benutzernamen in doppelte Anführungszeichen. Beispiel:
CREATE USER "<domain name>\<user name>" IDENTIFIED by <user name>

Erteilen Sie für jedes erstellte Datenbankkonto die gewünschten Berechtigungen entsprechend den Aktionen in der Oracle-Geodatabase, zu denen der Benutzer berechtigt ist. Als Beispiel werden im Folgenden zwei Rollen definiert, um Benutzern von ArcGIS-Web-Services Berechtigungen zu erteilen. Die erste Rolle wird definiert, um die Auswahl in Datenbanken (Berechtigung zum Anzeigen von Daten) auf zwei Geodatabase-Layern zuzulassen, und die zweite Rolle, um die Bearbeitung auf einem Layer zu ermöglichen.

--Role for displaying boundary layers
CREATE ROLE sel_boundary_role NOT IDENTIFIED;
GRANT SELECT ON <map author>.States TO sel_boundary_role;
GRANT SELECT ON <map author>.Counties TO sel_boundary_role;

GRANT sel_boundary_role to <user one>;

-- Role for displaying transportation layer
CREATE ROLE sel_trans_role NOT IDENTIFIED;
GRANT SELECT,UPDATE,INSERT,DELETE ON <map author>.Roads TO sel_trans_role;

GRANT sel_trans_role to <user two>;

Es ist auch möglich, Berechtigungen in einzelnen Zeilen (Features) und Spalten (Attributfelder) in der Oracle-Datenbank zu konfigurieren. Details finden Sie in der Oracle-Datenbankdokumentation.

Erstellen eines Dokuments und Veröffentlichung zum ArcGIS for Server

Sie können das Dokument mithilfe von ArcMap erstellen. Wenn Sie Geodatabase-Ressourcen hinzufügen, müssen Sie die Anmeldeinformationen des in Definieren des Kartenautors beschriebenen Datenbankkontos des Kartenautors verwenden. Veröffentlichen Sie das Kartendokument mit ArcGIS for Server. Beachten Sie, dass Karten-Service-Funktionen wie WMS und KML die gleichen Sicherheitseinschränkungen wie mit standardmäßigen ArcGIS-Web-Services (SOAP/REST) erzwingen.

Aktivieren von integrierter Sicherheit für Oracle

Nach der Definition der Datenbankkonten müssen Sie im ArcGIS for Server-Identitätsspeicher Benutzer und Rollen erstellen, die genau mit den Oracle-Benutzern und -Rollen übereinstimmen. Informationen zum Hinzufügen eines neuen Benutzers finden Sie unter Hinzufügen eines neuen Benutzers in Manager. Informationen zum Hinzufügen einer neuen Rolle finden Sie unter Hinzufügen einer neuen Rolle in Manager.

Nach dem Erstellen von Benutzern und Rollen im ArcGIS for Server-Identitätsspeicher müssen Sie ArcGIS for Server für die Weitergabe der Benutzeridentität an die Oracle-Datenbank konfigurieren. Um die integrierte Datenbanksicherheit zu aktivieren, führen Sie die folgenden Schritte aus:

  1. Öffnen Sie das Administratorverzeichnis (http://gisserver.domain.com:6080/arcgis/admin), und melden Sie sich als primärer Site-Administrator oder als Benutzer mit Administratorzugriff an.
  2. Klicken Sie auf System > Eigenschaften > Aktualisieren.
  3. Geben Sie im Textfeld Eigenschaften folgenden JSON-Code ein:
    {"pushIdentityToDatabase" : "true" }
  4. Klicken Sie auf Aktualisieren, um die Änderungen zu speichern.

Prüfen der integrierten Sicherheit

Erstellen Sie eine Web Mapping-Anwendung, die den ArcGIS-Web-Service nutzt, der mit Unterstützung für integrierte Sicherheit erstellt wurde. Öffnen Sie die Webanwendung in einem Webbrowser. Nur die Layer/Features, für die dem Benutzer Berechtigungen erteilt wurden, sollten in der Webanwendung angezeigt werden. Sie können diesen Test wiederholen, indem Sie eine neue Web Mapping-Anwendung erstellen, die die Anmeldeinformationen eines anderen Benutzers verwendet.