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.

Schritte:
  1. Starten Sie den Server-Manager:

    Start > Verwaltung > Server-Manager > Rollen

    Das Dialogfeld Server-Manager wird geöffnet.

  2. Führen Sie einen Bildlauf zum Abschnitt Webserver (IIS) aus, und klicken Sie auf Rollendienste hinzufügen.
  3. Aktivieren Sie unter Sicherheit die Option URL-Autorisierung.
  4. Aktivieren Sie die Option Windows-Authentifizierung oder, wenn Sie SSL-Zertifizierung verwenden, die Option Standardauthentifizierung.
  5. Klicken Sie auf Weiter.
  6. Prüfen Sie, ob die Einstellungen richtig sind, und klicken Sie dann auf Installieren.
  7. Klicken Sie auf Schließen.
  8. 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.

Schritte:
  1. Starten Sie den IIS-Manager:

    Start > Verwaltung > Internetinformationsdienste

    Der Internetinformationsdienste-Manager wird geöffnet.

  2. Stellen Sie im Manager eine Verbindung mit dem Server her.
  3. Doppelklicken Sie unter IIS in der Ansicht "Features" auf Authentifizierung.

    Das Fenster Authentifizierung wird geöffnet.

  4. 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.

  5. 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:

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>

9/12/2013