ArcGIS for Spatial Data Server for IIS の web.config ファイルのセキュリティ構成

Windows 認証ユーザがイントラネット経由で、ArcGIS Spatial Data Server for IIS サービスにアクセスする場合、ArcGIS Spatial Data Server for IIS インストール ディレクトリの REST フォルダにある web.config ファイルを構成することによって、Spatial Data Server のセキュリティが確保できます。

これを実行するには、まず、IIS 役割サービスを有効にして、Windows 認証または基本認証を有効にする必要があります。そこで、authorization 要素を含む location 要素を configuration 要素の子として、web.config ファイルに追加できます。

IIS 役割サービスの有効化

location 要素を web.config ファイルに追加してサービスへのアクセスを制御する前に、URL 認証の IIS 役割サービスを有効にして、Windows 認証または基本認証のいずれかの IIS 役割サービスを有効にする必要があります。

役割サービスの有効化は、サーバ マネージャーから実行します。Windows 管理者グループのメンバーとしてサーバにログインして、サーバ マネージャーで設定を変更する必要があります。

手順:
  1. サーバ マネージャーを起動します。

    [スタート] [管理ツール] [サーバ マネージャー] [役割]

    [サーバ マネージャー] ダイアログ ボックスが開きます。

  2. [Web サーバ(IIS)] セクションまでスクロールして、[役割サービスの追加] をクリックします。
  3. [セキュリティ] の下にある [URL 認証] をオンにします。
  4. [Windows 認証] をオンにするか、または、SSL 証明書を使用する場合は、[基本認証] をオンにします。
  5. [次へ] をクリックします。
  6. 設定内容を確認してから、[インストール] をクリックします。
  7. [閉じる] をクリックします。
  8. サーバ マネージャーを閉じます。

Windows 認証または基本認証の有効化

Windows 認証または基本認証のいずれかの役割サービスを追加したら、IIS Manager 内でこれを有効にできます。Windows 管理者グループのメンバーとしてサーバにログインして、IIS Manager で設定を変更する必要があります。

手順:
  1. IIS Manager を起動します。

    [スタート] [管理ツール] [インターネット インフォメーション サービス]

    [インターネット インフォメーション サービス (IIS) マネージャー] が開きます。

  2. マネージャー内からサーバに接続します。
  3. IIS の [機能ビュー] で、[認証] をダブルクリックします。

    [認証] ウィンドウが開きます。

  4. [認証][Windows 認証] または [基本認証] を選択して、[操作] の下の [有効にする] をクリックします。

    基本認証を使用する場合は、SSL を有効にして、認証情報がプレーン テキストで送信されないようにします。

  5. [ファイル] [終了] の順にクリックして、IIS Manager を閉じます。

web.config ファイルの location 要素の構成

web.config ファイルに location 要素を追加して、サービスへのアクセスを制御できます。location 要素は、次のように指定できます。

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

location 要素の以下の子要素の値を変更します。

location 要素を configuration 要素の子要素として追加します。configuration 要素の直接の子要素は数多くありますが、location 要素は、configSections 要素の後および同じレベルの任意の位置に追加できます。

例 1: 管理要求のセキュリティ

次の location 要素の例では、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: 特定ユーザおよび特定ロールによるすべてのサービスへのアクセス許可

この location 要素の例では、web.config ファイルのデフォルトの IIS 認証設定を変更して、svcsusers グループと svcmgr Windows ユーザが Spatial Data Server 上のすべてのサービスにアクセスできるようにします。

<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: 特定サービスへのアクセス許可

単一のロールが特定のサービスにアクセスするのを完全に制限するには、1 つのサービスに適用されて指定したロールに認証が付与されるように、location 要素を web.config ファイルに追加します。この例では、気象学者ロールのメンバーのみが気象サービスにアクセスできます。

<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: 複数ロールの特定サービスへのアクセス許可

複数のロールが特定のサービスにアクセスするのを許可するには、1 つのサービスに適用されて複数ロールによるアクセスが許可されるように、location 要素を web.config ファイルに追加します。この例では、設計者、契約業者、開発者のロールのメンバーが土地利用サービスにアクセスできます。

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