Integrierte Sicherheit in ArcGIS Server

Integrierte Sicherheit verweist auf ein Sicherheitsmodell, bei dem die Identität des Endbenutzers, der einen Befehl oder eine Anforderung ausgibt, allen Ebenen des Systems zur Verfügung steht und jeder Ebene die Möglichkeit gibt, den Zugriff auf Grundlage der Identität des Endbenutzers zu steuern.

Bei ArcGIS Server 10 ist integrierte Sicherheit in Webanwendungen verfügbar, die ArcGIS-Web-Services über Internetverbindungen verwenden. ArcGIS Server sendet die Identität eines Webbenutzers automatisch von der Webanwendung zu ArcGIS SOM- und SOC-Prozessen über den ArcGIS-Web-Service-Handler (WSH).

Wenn der ArcGIS-Web-Service Daten von einer Oracle-Datenbank verwendet, kann die Identität des Webbenutzers auch an die Datenbank übertragen werden. Dieses Feature ist gegenwärtig nicht für andere Datenbanksysteme verfügbar.

Konfigurieren von integrierter Sicherheit

Wenn Sicherheit auf ArcGIS Server aktiviert wird, wird die Identität des Webbenutzers automatisch an den ArcGIS-Web-Service übertragen. Die ArcGIS SOM- und SOC-Prozesse können dann den Zugriff auf Grundlage der Benutzeridentität steuern.

Beim Konfigurieren der Sicherheit auf Datenbankebene, erhält jeder Benutzer Zugriff auf Tabellen (und/oder Spalten und Zeilen), anstatt wie in ArcGIS Server zu Rollen/Gruppen zugewiesen zu werden. Um integrierte Sicherheit für die Oracle-Datenbank zu konfigurieren, müssen Sie wie folgt vorgehen:

  1. Erstellen eines Datenbankkontos für den Kartenautor.
  2. Definieren der ArcGIS-Web-Service-Benutzer.
  3. Erstellen eines Dokuments und Veröffentlichung zum ArcGIS Server.
  4. Aktivieren der integrierten Sicherheit der Datenbank.

Festlegen des Kartenautors

Um integrierte Sicherheit zu unterstützen, muss der Autor des Kartendokuments die erforderlichen Datenbankberechtigungen haben. 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.

Definieren von Datenbankkonten für ArcGIS-Web-Service-Benutzer

Damit integrierte Sicherheit funktioniert, muss jeder ArcGIS-Web-Service-Benutzer ein entsprechendes Datenbankkonto haben. Erstellen Sie als Datenbankadministrator Datenbankkonten für jeden Benutzer, der die ArcGIS-Web-Services verwendet. 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>;
HinweisHinweis:
Verwenden Sie zum Erstellen von Benutzernamen in der Datenbank Kleinschreibung, da ArcGIS Server Benutzernamen in Kleinschreibung an die Datenbank übergibt. Schreiben Sie den Namen für Domänenbenutzer in doppelte Anführungszeichen. Beispiele:
CREATE USER "<domain name>\<user name>" IDENTIFIED by <user name>

Vergeben Sie für jedes Datenbankkonto die Berechtigungen, die der Autorisierungsstufe des Benutzers in der Oracle-Geodatabase entsprechen. Details zum Festlegen von Benutzerberechtigungen finden Sie in Was sind Benutzerberechtigungen.

Als Beispiel werden zwei Rollen definiert, um Berechtigungen für ArcGIS-Web-Service-Benutzer zu vergeben. Die erste Rolle wird definiert, um die Auswahl in Datenbanken (Berechtigung, um Daten anzuzeigen) 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 Server

Sie können das Dokument mithilfe von ArcMap oder einem beliebigen anderen ArcGIS-Client erstellen. Wenn Sie Geodatabase-Ressourcen hinzufügen, müssen Sie die Anmeldeinformationen des in Definieren des Kartenautors beschriebenen Kartenautorendatenbankkontos verwenden. Veröffentlichen Sie das Kartendokument zu ArcGIS Server mit einem beliebigen ArcGIS Server-Client. Beachten Sie, dass Karten-Service-Funktionen wie WMS und KML die gleichen Sicherheitseinschränkungen wie mit Standard-ArcGIS-Web-Services (SOAP/REST) durchsetzen.

Aktivieren von integrierter Sicherheit für Oracle

Sie müssen die Sicherheit auf ArcGIS Server aktivieren, nachdem Sie die Oracle-Datenbank konfiguriert haben. Während Sie die ArcGIS Server-Sicherheit konfigurieren, müssen Sie Benutzer und Rollen erstellen, die genau zu den Oracle-Benutzern und in den vorherigen Abschnitten erstellten Rollen passen. Anweisungen zum Konfigurieren von ArcGIS Server-Sicherheit finden Sie in Übersicht über die Sicherheitskonfiguration.

Sie müssen die integrierte Sicherheit der ArcGIS Server Datenbank aktivieren, nachdem Sie die ArcGIS Server-Sicherheit konfiguriert haben. Wenn dieses Feature aktiviert wird, überträgt ArcGIS Server die Identität, die es vom Web-Service-Handler erhält, zur Oracle-Datenbank. Um die in der Datenbank integrierte Sicherheit zu aktivieren, öffnen Sie die Datei Server.dat, die sich im Ordner <ArcGIS Installationsverzeichnis>\server\system\ befindet, mit einem Texteditor oder einem XML-Editor. Suchen Sie das Element <Properties> in der Datei. Fügen Sie in diesem Element ein neues Eigenschaftenelement wie folgt hinzu:

<Properties>
   <PushIdentityToDatabase>true</PushIdentityToDatabase>
   ...
</Properties>

Speichern Sie nach dem Aktualisieren der Datei Server.dat diese Datei und schließen Sie diese. Starten Sie den ArcGIS Server Object Manager-Prozess neu, um diese Änderung anzuwenden.

Prüfen der integrierten Sicherheit

Erstellen Sie mit dem ArcGIS Server Manager oder mit Eclipse-/NetBeans-IDE eine Web Mapping-Anwendung, die den ArcGIS-Web-Service mit Unterstützung für integrierte Sicherheit verwendet. Zeigen Sie die bereitgestellte Webanwendung in einem Webbrowser an. Nur die Layer/Features, für die der Benutzer Berechtigungen verfügt, sollten in der Webanwendung angezeigt werden. Sie können diesen Test wiederholen, indem Sie eine neue Web Mapping-Anwendung erstellen, die die Anmeldeinformationen von einem anderen ArcGIS-Webbenutzer verwendet.

HinweisHinweis:

Der ArcGIS-Web-Service muss über eine ArcGIS Server Internet-Verbindung verwendet werden. Sie müssen auch einen ArcGIS-Webbenutzernamen und ein Kennwort angeben, um eine Verbindung mit dem Service herzustellen.


3/6/2012