Skip To Content

Integrieren der ArcGIS Server-Sicherheit mit einer Oracle-Datenbank

Wenn ein Benutzer eine GIS-Ressource anfordert, die Daten aus einer Oracle-Datenbank nutzt, kann ArcGIS Server die Identität des Benutzers an die Datenbank weitergeben. Dadurch ist es möglich, die Zugriffssteuerung auf 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 Kartenservices verfügbar.

Hinweis:

Dieser Workflow zum Integrieren von Sicherheit mit einer Oracle-Datenbank wird in 10.7 nicht mehr unterstützt. Weitere Informationen zu empfohlenen Sicherheitskonfigurationen finden Sie unter Zugriff und Autorisierung in ArcGIS Server.

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

  1. Erstellen Sie ein Datenbankkonto für den Kartenautor.
  2. Erstellen Sie Datenbankkonten für Benutzer von ArcGIS-Web-Services.
  3. Erstellen eines Dokuments und Veröffentlichen des Dokuments in ArcGIS Server
  4. Aktivieren Sie die integrierte Sicherheit der Datenbank.
  5. Testen Sie die integrierte 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 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 erforderlichen Berechtigungen. Diese sollten den Aktionen, zu denen der Benutzer in der Oracle-Geodatabase berechtigt ist, entsprechen. 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öffentlichen des Dokuments in ArcGIS Server

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

Aktivieren der integrierten Sicherheit für Oracle

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

Nach dem Erstellen von Benutzern und Rollen im ArcGIS Server-Identitätsspeicher müssen Sie ArcGIS 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 (https://gisserver.domain.com:6443/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.

Testen 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. In der Webanwendung sollten nur die Layer und Features angezeigt werden, für die dem Benutzer Berechtigungen erteilt wurden. Sie können diesen Test wiederholen, indem Sie eine neue Web Mapping-Anwendung erstellen, die die Anmeldeinformationen eines anderen Benutzers verwendet.