キャッシュ ディレクトリのセキュリティ
ArcGIS Server は、ユーザがサービスを表示するときのパフォーマンスを向上させるために、マップ イメージとグローブ イメージの事前作成をサポートしています。マップ キャッシュの作成については、「マップ キャッシュとは」をご参照ください。キャッシュを持つマップ サービスまたはグローブ サービスをセキュリティで保護するには、仮想ディレクトリを通じたキャッシュへの匿名(無制限)アクセスを許可しない場合、キャッシュ ディレクトリも保護する必要があります。
キャッシュ タイルが仮想ディレクトリで提供される場合、Web クライアントは Web サーバ上の URL を使ってタイルにアクセスできるため、マップ サービスに Web サービスを使用する必要はありません。たとえば、MyService1 というマップ サービスがあるとすると、次のような URL を介して Web サーバでタイルを使用できます。
http://www.example.com/arcgiscache/MyService1/Layers/_alllayers/L00/R00004be4/C00003088.png.
クライアントは、この種のリクエストを介してのみマップのイメージを認識でき、またデータを操作したりクエリを行ったりすることはできません。マップを表示するアクセス権限を制限する必要がある場合は、下記の説明のとおり、キャッシュ フォルダをセキュリティで保護する必要があります。
ここで示す方法では、サービスをセキュリティで保護するために、権限を持つユーザにのみキャッシュ タイルへのアクセスを許可します。タイル アクセスのパフォーマンスは、クライアントが JavaScript 経由でタイルに直接アクセスする場合よりも少し低いので、この手法はサービスをセキュリティで保護するためにタイル アクセスを保護する必要がある場合にのみ実装してください。
仮想ディレクトリを持たないキャッシュ ディレクトリの使用
この方法では、セキュリティで保護されたサービスは、仮想ディレクトリが関連付けられていないキャッシュ ディレクトリを使用します。Web ADF アプリケーションや ArcGIS Desktop などのアプリケーションは、GIS Web サービスにマップ タイルまたはグローブ タイルをリクエストします。サービスはクライアントがサービスにアクセスするための権限を確認した後、ディスクからタイルを取得します。
ArcGIS Server のインストール時にキャッシュ ディレクトリが作成されている場合は、このキャッシュ ディレクトリに仮想ディレクトリが関連付けられることに注意してください。この方法を使用するには、仮想ディレクトリが関連付けられていない新しいキャッシュ ディレクトリを作成する必要があります。
次の手順に従って、キャッシュ ディレクトリを作成し、キャッシュ ディレクトリにサービスを割り当てることができます。
- 新しいキャッシュ ディレクトリを作成します。このキャッシュ ディレクトリの仮想ディレクトリは設定しないでください。詳細については、「サーバ ディレクトリの作成」の手順をご参照ください。SOM(Server Object Manager)と SOC(Server Object Container)を実行するために使用されるアカウントに、ディレクトリへの書き込み権限が与えられていることを確認します。arcgisserver フォルダ内に新しいフォルダを作成すると(C:\arcgisserver\arcgiscacheSecure など)、そのフォルダは SOM と SOC の正しい権限を継承します。
- Manager または ArcCatalog で、セキュリティで保護されたサービスのプロパティを編集し、サーバ キャッシュ ディレクトリを(先に作成した)仮想ディレクトリが関連付けられていないディレクトリに設定します。キャッシュ ディレクトリはサービスの [パラメータ] タブで設定することができます(ArcCatalog の場合、このプロパティを変更するには、サービスを停止する必要があります)。
- 仮想ディレクトリが関連付けられていないキャッシュ ディレクトリにサービスのキャッシュ タイルがすでに作成されている場合は、それらをディスク上で新しく設定したキャッシュ ディレクトリへ移動します。詳細については、「キャッシュのコピー」をご参照ください。たとえば、最初にデフォルトの C:\arcgisserver\arcgiscache フォルダでサービス キャッシュを作成していて、新しいキャッシュ ディレクトリを C:\arcgisserver\arcgiscacheSecure として作成した場合は、フォルダを新しいキャッシュ ディレクトリへ移動できます。仮想ディレクトリが関連付けられていないキャッシュ ディレクトリ内のファイルはセキュリティで保護されない状態で提供されるため、そのディレクトリにコピーを残さないでください。
- セキュリティで保護するサービスごとに、ステップ 2 ~ 3 を繰り返します。
新しいサービスを作成するときに [新規サービスを追加] ウィザードを使用すると、キャッシュ ディレクトリを指定することができます。[GIS リソースの公開] ウィザードを使用してサービスを作成する場合は、後で [サービス プロパティ] でキャッシュ ディレクトリを設定できます。