Konfigurieren von Sicherheitsfunktionen für ArcGIS Spatial Data Server for IIS in "web.config"
Wenn Benutzer mit Windows-Authentifizierung über ein Intranet auf die Services von ArcGIS Spatial Data Server for IIS zugreifen, können Sie den Spatial Data Server sichern, indem Sie die Datei "web.config" im REST-Ordner des Installationsverzeichnisses von ArcGIS Spatial Data Server konfigurieren.
Dazu müssen Sie zuerst die IIS-Rollendienste und die Windows-Authentifizierung oder Standardauthentifizierung aktivieren. Danach können Sie der Datei "web.config" Speicherortelemente, die ein Autorisierungselement enthalten, als untergeordnete Elemente des Konfigurationselements hinzufügen.
Aktivieren von IIS-Rollendiensten
Bevor Sie der Datei "web.config" das Speicherortelement hinzufügen können, um den Zugriff auf den Service zu steuern, müssen Sie den IIS-Rollendienst zur URL-Autorisierung sowie den Rollendienst zur Windows-Authentifizierung oder Standardauthentifizierung aktivieren.
Rollendienste werden über den Server-Manager aktiviert. Sie müssen sich als Mitglied der Windows-Administratorengruppe beim Server anmelden, um Einstellungen im Server-Manager zu ändern.
-
Starten Sie den Server-Manager:
Start > Verwaltung > Server-Manager > Rollen
Das Dialogfeld Server-Manager wird geöffnet.
- Führen Sie einen Bildlauf zum Abschnitt Webserver (IIS) aus, und klicken Sie auf Rollendienste hinzufügen.
- Aktivieren Sie unter Sicherheit die Option URL-Autorisierung.
- Aktivieren Sie die Option Windows-Authentifizierung oder, wenn Sie SSL-Zertifizierung verwenden, die Option Standardauthentifizierung.
- Klicken Sie auf Weiter.
- Prüfen Sie, ob die Einstellungen richtig sind, und klicken Sie dann auf Installieren.
- Klicken Sie auf Schließen.
- Schließen Sie Server-Manager.
Aktivieren der Windows-Authentifizierung oder Standardauthentifizierung
Nachdem entweder der Rollendienst zur Standardauthentifizierung oder zur Windows-Authentifizierung hinzugefügt wurde, können Sie diesen im IIS-Manager aktivieren. Sie müssen sich als Mitglied der Windows-Administratorengruppe beim Server anmelden, um Einstellungen im IIS-Manager zu ändern.
- Starten Sie den IIS-Manager:
Start > Verwaltung > Internetinformationsdienste
Der Internetinformationsdienste-Manager wird geöffnet.
- Stellen Sie im Manager eine Verbindung mit dem Server her.
- Doppelklicken Sie unter IIS in der Ansicht "Features" auf Authentifizierung.
Das Fenster Authentifizierung wird geöffnet.
- Wählen Sie unter Authentifizierung entweder Windows-Authentifizierung oder Standardauthentifizierung aus, und klicken Sie unter Aktionen auf Aktivieren.
Achten Sie bei Verwendung der Standardauthentifizierung darauf, SSL zu aktivieren, damit die Anmeldeinformationen nicht als Klartext gesendet werden.
- Klicken Sie auf Datei > Schließen, um den IIS-Manager zu schließen.
Konfigurieren des Speicherortelements in der Datei "web.config"
Sie können der Datei "web.config" Speicherortelemente hinzufügen, um den Zugriff auf Services zu steuern. Das Speicherortelement kann folgendermaßen formatiert werden:
<location path="path"> <system.webServer> <security> <authorization> <remove users="" roles="" verbs="" /> <add accessType="Allow" users="allowedUsers" roles="allowedRoles" /> </authorization> </security> </system.webServer> </location>
Ändern Sie die Werte der folgenden untergeordneten Elemente des Speicherortelements:
- location path: Geben Sie den relativen Anwendungs-URI-Pfad zur Ressource ein, für die Sie den Zugriff sichern möchten (in diesem Fall der Spatial Data Server).
- authentication: Hierfür muss "Windows" angegeben sein. Ist dies nicht der Fall, ändern Sie den Wert entsprechend.
- remove: Entfernt die Autorisierung für den angegebenen Pfad. Die Autorisierung kann für Benutzer, Rollen und/oder Verben entfernt werden.
- users: Eine durch Komma getrennte Liste spezifischer Windows-Anmeldungen, alle Anmeldungen ("*") oder anonyme Anmeldungen ("?")
- roles: Eine durch Komma getrennte Liste spezifischer Windows-Gruppen, alle Gruppen ("*") oder anonyme Gruppen ("?")
- verbs: Die unterstützten HTTP-Verben; entweder eine durch Komma getrennte Liste, spezifische Verben oder alle Verben ("*")
- add: Fügt dem angegebenen Pfad Autorisierungsregeln hinzu.
- accessType: Eine Eigenschaft der Autorisierungsregel. Legen Sie für "accessType" die Option "Allow" fest, um eine Regel zum Angeben der Anmeldungen und Gruppen mit Zugriff auf die Ressource zu erstellen.
- allowedUsers: Wenn für "accessType" nicht "Allow" festgelegt wurde, handelt es sich hierbei um eine durch Komma getrennte Liste spezifischer Windows-Anmeldungen mit Zugriff auf die Ressource oder auf alle Anmeldungen ("*").
- allowedRoles: Wenn für "accessType" nicht "Allow" festgelegt wurde, handelt es sich hierbei um eine durch Komma getrennte Liste spezifischer Windows-Gruppen mit Zugriff auf die Ressource oder auf alle Gruppen ("*").
Fügen Sie das Speicherortelement als untergeordnetes Element des Konfigurationselements hinzu. Es gibt viele direkte untergeordnete Elemente des Konfigurationselements, Sie können das Speicherortelement an einer beliebigen Stelle nach oder auch in derselben Höhe wie das Element "configSections" hinzufügen.
Beispiel 1: Sichern von Admin-Anfragen
Im folgenden Beispiel zum Speicherortelement werden die Standardeinstellungen für die IIS-Autorisierung aus der Datei "web.config" entfernt, und es wird eine Autorisierungsregel konfiguriert, mit der nur der Windows-Administratorengruppe angehörige Benutzer auf Inhalt im Admin-Endpunkt zugreifen können.
<configuration> <location path="admin"> <system.webServer> <security> <authorization> <remove users="*" roles="" verbs="" /> <add accessType="Allow" users="" roles="Administrators" /> </authorization> </security> </system.webServer> </location> </configuration>
Beispiel 2: Zulassen des Zugriffs auf alle Services durch einen bestimmten Benutzer und eine bestimmte Rolle
In diesem Beispiel-Speicherortelement werden die Standardeinstellungen für die IIS-Autorisierung in der Datei "web.config" durch eine Regel ersetzt, mit der die Gruppe "svcsusers" und der Windows-Benutzer "svcmgr" auf alle Services auf dem Spatial Data Server zugreifen können:
<configuration> <location path="rest/services"> <system.webServer> <security> <authorization> <remove users="*" roles="" verbs="" /> <add accessType="Allow" users="mydomain\svcmgr" roles="svcsusers" /> </authorization> </security> </system.webServer> </location> </configuration>
Beispiel 3: Zulassen des Zugriffs auf einen bestimmten Service
Wenn Sie den gesamten Zugriff auf einen bestimmten Service auf eine einzige Rolle beschränken möchten, fügen Sie der Datei "web.config" ein Speicherortelement hinzu, das für einen Service gilt und die spezifische Rolle autorisiert. In diesem Beispiel kann der Service "weather" nur von Mitgliedern der Rolle "meteorologists" aufgerufen werden:
<configuration> <location path="rest/services/weather/FeatureServer"> <system.webServer> <security> <authorization> <remove users="*" roles="" verbs="" /> <add accessType="Allow" roles="meteorologists" /> </authorization> </security> </system.webServer> </location> </configuration>
Beispiel 4: Zulassen des Zugriffs auf einen bestimmten Service für mehrere Rollen
Wenn Sie mehreren Rollen den Zugriff auf einen bestimmten Service ermöglichen möchten, fügen Sie der Datei "web.config" ein Speicherortelement hinzu, das für einen Service gilt und den Zugriff durch mehrere Rollen zulässt. In diesem Beispiel kann der Service "landuse" von Mitgliedern der Rollen "planners", "contractors" und "developers" aufgerufen werden:
<configuration> <location path="rest/services/landuse/FeatureServer"> <system.webServer> <security> <authorization> <remove users="*" roles="" verbs="" /> <add accessType="Allow" roles="planners,contractors,developers" /> </authorization> </security> </system.webServer> </location> </configuration>