Конфигурирование параметров безопасности в файле web.config на сервере ArcGIS Spatial Data Server for IIS

Если доступ к вашим сервисам на сервере пространственных данных ArcGIS Spatial Data Server for IIS будут получать через интранет Windows-аутентифицированные пользователи, вы можете защитить сервер пространственных данных путем конфигурирования файла web.config в папке REST директории установки сервера ArcGIS Spatial Data Server for IIS.

Для этого, прежде всего, включите сервисы роли IIS и включите аутентификацию Windows или обычную аутентификацию. Затем можно добавить в файл web.config элементы расположения, содержащие элемент авторизации в качестве дочернего элемента конфигурации.

Включение сервисов роли IIS

Прежде чем добавить элемент расположения в файл web.config для управления доступом к вашему сервису, необходимо включить сервис роли IIS для авторизации URL и сервис роли аутентификации Windows или обычной аутентификации IIS.

Сервисы ролей можно включить в менеджере сервера. Выполните вход на сервер в качестве члена группы администраторов Windows и измените настройки в менеджере сервера.

Шаги:
  1. Запустите менеджер сервера.

    Пуск (Start) > Администрирование (Administrative Tools) > Менеджер сервера (Server Manager) > Роли (Roles)

    Открывается диалоговое окно Менеджер сервера (Server Manager).

  2. Перейдите к разделу Веб-сервер (IIS) (Web Server (IIS)) и щёлкните Добавить службы ролей (Add Role Services).
  3. В разделе Безопасность (Security) установите флажок Авторизация URL (URL Authorization).
  4. Отметьте опцию Аутентификация Windows (Windows Authentication) или, если планируется использовать сертификаты SSL, отметьте опцию Обычная аутентификация (Basic Authentication).
  5. Щелкните Далее (Next).
  6. Проверьте правильность настроек и щёлкните Установить (Install).
  7. Щелкните Закрыть (Close).
  8. Закройте окно Менеджер сервера (Server Manager).

Включение аутентификации Windows или обычной аутентификации

После добавления сервиса роли обычной аутентификации или аутентификации Windows можно включить аутентификацию в менеджере IIS. Выполните вход на сервер в качестве члена группы администраторов Windows и измените настройки в менеджере IIS.

Шаги:
  1. Запустите менеджер IIS.

    Пуск (Start) > Администрирование (Administrative Tools) > Службы IIS (Internet Information Services)

    Откроется Менеджер служб IIS (Internet Information Services (IIS) Manager).

  2. Подключитесь к серверу из менеджера.
  3. В области просмотра возможностей IIS дважды щёлкните Аутентификация (Authentication).

    Откроется панель Аутентификация (Authentication).

  4. Выберите Аутентификация Windows (Windows Authentication) или Обычная аутентификация (Basic Authentication) в окне Аутентификация (Authentication) и щёлкните Включить (Enable) в разделе Действия (Actions).

    Если выбрана обычная аутентификация, включите протокол SSL, чтобы не передавать учетные данные в незашифрованном виде.

  5. Щёлкните Файл (File) > Выход (Exit), чтобы закрыть менеджер IIS.

Конфигурирование элементов расположения в файле web.config

Можно добавить элементы расположения в файл web.config для управления доступом к сервисам. Элементы расположения должны иметь следующий формат:

<location path="path">
    <system.webServer>
      <security>
        <authorization>
          <remove users="" roles="" verbs="" />
          <add accessType="Allow" 
               users="allowedUsers" 	
               roles="allowedRoles" />
        </authorization>
      </security>
    </system.webServer>
  </location>

Измените значения для следующих дочерних элементов элемента расположения:

Добавьте элемент расположения в качестве дочернего элемента для элемента конфигурации. У элемента конфигурации есть много прямых дочерних элементов; элемент расположения можно добавить в любое место после них и на том же уровне, на котором расположен элемент configSections.

Пример 1. Защита запросов администратора

В следующем примере использования элемента расположения из файла web.config удаляются настройки авторизации IIS по умолчанию и конфигурируется правило авторизации, позволяющее получать доступ к административной конечной точке только пользователям из группы администраторов Windows.

<configuration>
  <location path="admin">
    <system.webServer>
      <security>
        <authorization>
          <remove users="*" roles="" verbs="" />
          <add accessType="Allow" 
               users="" 
               roles="Administrators" />
        </authorization>
      </security>
    </system.webServer>
  </location>
</configuration>

Пример 2. Разрешение доступа ко всем сервисам определенному пользователю и роли

В этом примере использования элемента расположения настройки авторизации IIS по умолчанию в файле web.config заменяются на правило, разрешающее группе svcsusers и пользователю Windows svcmgr получать доступ ко всем сервисам на сервере пространственных данных:

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

Пример 3. Разрешение доступа к определенному сервису

Чтобы запретить доступ к определенному сервису всем, кроме одной роли, добавьте в файл web.config элемент расположения, относящийся к одному сервису и предоставляющий авторизацию определенной роли. В этом примере доступ к сервису погоды (weather) могут получить только участники роли meteorologists:

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

Пример 4. Разрешение доступа к определенному сервису нескольким ролям

Чтобы разрешить доступ к определенному сервису нескольким ролям, добавьте в файл web.config элемент расположения, относящийся к одному сервису и разрешающий доступ нескольким ролям. В этом примере доступ к сервису землепользования (landuse) могут получить только участники ролей planners, contractors и developers:

<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/11/2013