データを ArcGIS Server でアクセス可能にする
ArcGIS Server は、マップ、ツール、画像、ロケータなどのデータを、組織内にある他の多くのコンピュータや、インターネットからアクセスできるようにします。ただし、GIS サーバ コンピュータは、データを実際に公開するために、データに自由にアクセスできる必要があります。データを ArcGIS Server でアクセス可能にするには、主に 3 つのことを行う必要があります。
- データをすべての GIS サーバ コンピュータが参照できる場所に格納します。
- ArcGIS Server アカウントにデータに対する権限を付与します。ArcGIS Server アカウントは、ArcGIS Server サイトを作成したときに指定したプライマリ サイトの管理者ではなく、ArcGIS Server をインストールするために使用されたアカウントです。
- データをサーバに登録します。
このトピックでは、上記の要件すべてについて説明します。まず、サービスの基盤となるデータを ArcGIS Server が格納および参照する方法を理解しておくとよいでしょう。
ArcGIS Server がデータを格納およびアクセスする方法
アイテムをサービスとして公開する場合、そのアイテムはサーバに配置されます。そのため、ロケータをジオコード サービスとして公開する場合、ロケータのコピーは最終的に ArcGIS Server がアクセスできる権限を持つサーバに配置されます。
また、その他のデータを参照するアイテムを公開する場合があります。たとえば、マップがファイル システムに格納されたさまざまなフィーチャクラスを参照している場合があります。このデータは、公開時にサーバに登録していない場合、単にサーバに移動されます。公開時にデータをサーバにコピーしたくない場合は、以下の手順を必ず実行し、ArcGIS Server がデータを参照およびアクセスできるようにする必要があります。
データをすべての GIS サーバ コンピュータが参照できる場所に格納する
配置した各 GIS サーバ コンピュータは、GIS リソースとそれらが参照するすべてのデータを読み取れる必要があります。たとえば、マップをサービスとして公開する場合、そのマップのレイヤに関するあらゆるデータは、すべての GIS サーバ コンピュータから参照できる必要があります。データの格納方法について、いくつかのアプローチを以下に示します。
データを各 GIS サーバ コンピュータのローカルに格納する
たとえば、/opt/local/data というローカル パスにデータを保存して、そこからサービスを作成した場合、そのデータを /opt/local/data にコピーしない限り、他の GIS サーバ コンピュータがサービスを操作することは不可能です。データの完全なコピーを各 GIS サーバ コンピュータの同じパスに置くことはパフォーマンス上は効果的ですが、大規模なデータセットや頻繁に変化するデータセットでは現実的なソリューションではありません。
データを共有ディレクトリに格納する
データをすべての GIS サーバ コンピュータから利用できるようにするもう 1 つの方法は、オペレーティング システムのツールを使用して、データが置かれているディレクトリを共有することです。共有ネットワーク ディレクトリは一般に NFS でマウントしたフォルダで参照されます。これには、サーバの名前(/net/myserver/opt/local/data など)が含まれます。NFS パスを使ってデータを参照すると、すべての GIS サーバ コンピュータが正しいコンピュータを参照するようになります。
GIS リソースを共有ディレクトリに格納する場合は、リソースに含まれるすべてのデータ ソース パスにも NFS パスまたは相対パスを使用する必要があることに注意してください。たとえば、マップ ドキュメントに 3 つのフィーチャクラスからのレイヤが含まれている場合、それらのフィーチャクラスへのパスは NFS または相対パスである必要があります。
共有ネットワーク フォルダはデータの参照には便利ですが、ネットワーク トラフィックが発生し、ローカル パスでデータにアクセスする場合にはなかったパフォーマンス上のボトルネックになる可能性があります。
データをデータベースに格納して ArcSDE からアクセスする
多くの GIS ショップは、大規模なデータ コレクションを SQL Server や Oracle などのリレーショナル データベース管理システム(RDBMS)に格納しています。Esri の ArcSDE は、RDBMS からの空間データを ArcGIS で便利に編成および使用できる方法を提供します。
ArcSDE ジオデータベースは便利で強力ですが、多くの場合、ローカルのデータにアクセスする場合ほどのパフォーマンスは得られません。場合によっては、ArcSDE を使用して、ファイル ジオデータベースのようにローカルに簡単に格納できるその他の形式に複製することができます。複製後、そのデータを各 GIS サーバ コンピュータに配置し、パフォーマンスを最適化することができます。この方法が適しているかどうかについては、「ArcGIS Server サイトでのデータ格納の検討事項」をご参照ください。
ArcGIS Server アカウントにデータに対する権限を付与する
コンピュータにログインする際には、ログインに使用するアカウント名により、コンピュータ上の自分のファイルとフォルダのすべてにアクセスできるようになります。このファイルとフォルダには、他のユーザは許可を与えられない限りアクセスできません。同じことが GIS データにも当てはまります。ArcGIS Server アカウントには、少なくともサービスで使用するデータに対する読み取り権限が必要です。編集する場合は、書き込み権限も必要です。
権限を適用する必要がある場合
公開するアイテムは、ArcGIS Server アカウントがすでに権限を付与されているサーバにコピーされます。ただし、それらのアイテム内で参照されるデータ(マップやグローブ内のレイヤなど)には、含まれるフォルダやデータベースを公開時にサーバに登録するかどうかによって、適切な権限が適用されている場合と適用されていない場合があります。
データをサーバに自動的にコピーさせる場合、追加の権限を設定する必要はありません。すべてのデータは、ArcGIS Server アカウントがすでに権限を持っているサーバにコピーされます。ソース データがファイルベースで、フィーチャまたはトランザクション対応の WFS(WFS-T)サービスを公開している場合、ソース データは、ArcGIS Server の Managed Database と呼ばれる、サーバに登録されたジオデータベースにコピーされます。サーバにコピーされたソース データにアクセスするために、ArcGIS Server アカウントに権限を付与する必要はありません。
詳細については、「公開時にデータをサーバに自動的にコピーする」をご参照ください。
含まれるフォルダやデータベースをサーバに登録している場合、ArcGIS Server アカウントにそのフォルダまたはデータベースから読み取るための権限を明示的に付与する必要があります。たとえば、グローブ サービスを公開する場合、ArcGIS Server アカウントに 3DD ファイルを読み取るための権限を付与する必要はありません(これは必ずサーバにコピーされます)。しかし、その 3DD ドキュメントのレイヤが参照するデータに対する権限を ArcGIS Server アカウントに明示的に付与する必要があります。
このプロセスは、このトピックの残りのセクションで説明します。
ファイルベースのデータに対する権限の付与
データがシェープファイルや画像ファイルなどのファイルベースのデータである場合は、オペレーティング システムを操作して、データが含まれているフォルダへのアクセスを設定する必要があります。ArcGIS Server アカウントには、少なくともデータの読み取りアクセスが必要であり、データを編集する場合は書き込みアクセスも必要です。次に、シナリオをいくつか示します。
- データが GIS サーバ コンピュータ(または複数の GIS サーバ コンピュータがある場合は、その中の 1 つ)にある場合、ArcGIS Server アカウントに、データを含むフォルダに対する読み取りアクセス(および必要に応じて書き込みアクセス)の権限を付与します。
- データが GIS サーバ コンピュータに存在せず、ArcGIS Server アカウントとしてローカル アカウントを指定した場合は、まず、データをホストしているコンピュータ上に ArcGIS Server アカウントと同じローカル アカウント(同じユーザ名とパスワード)を作成する必要があります。次に、そのローカル アカウントに、データが含まれているフォルダへの読み取りアクセス(および必要に応じて書き込みアクセス)の権限を割り当てます。データが含まれているコンピュータと GIS サーバ コンピュータのローカル アカウントが一致するという条件が満たされれば、GIS サーバ コンピュータはデータにアクセスすることができます。
- データが GIS サーバ コンピュータに存在しない場合は、次の操作を行います。
- データ ファイルにアクセスする権限を ArcGIS Server アカウントに付与します。
- データ フォルダにアクセスする権限を ArcGIS Server アカウントに付与します。このフォルダに至るまでのすべてのディレクトリに対して権限を割り当てる必要があります。上の例では、次のフォルダすべてに権限を割り当てる必要があります。
- /opt
- /opt/local/
- /opt/local/data
ジオデータベース内のデータに対する権限の付与
ジオデータベースのデータを参照するサービスを作成する際には、サーバにジオデータベースにアクセスするための適切な権限が設定されている必要があります。サーバに必要な権限の種類は、使用するジオデータベースの種類と(ArcSDE の場合は)接続に使用する認証方式によって異なります。
サービスがファイル ジオデータベース内のデータにアクセスする場合は、オペレーティング システムを使用して、ジオデータベースが含まれているフォルダへの読み取りアクセスの権限を ArcGIS Server アカウントに付与する必要があります。
ArcGIS 10.1 for Server は、パーソナル ジオデータベースをサポートしていません。
ArcSDE ジオデータベースにアクセス権限を付与する方法は、GIS リソースが ArcSDE に接続するためにデータベース認証を使用するのか、それともオペレーティング システム(OS)認証を使用するのかによって異なります。どちらのタイプの認証が使用されているかを確認するにはどうすればよいでしょうか。ジオデータベースが SQL Server Express に格納されている場合は、オペレーティング システム認証が使用されます。ジオデータベースがエンタープライズ RDBMS(Oracle、SQL Server、DB2)に格納されている場合は、ArcCatalog の [接続プロパティ] または ArcMap のカタログ ウィンドウを使用して、データベース認証とオペレーティング システム認証のどちらを使用するのかを確認できます。
Windows で ODBC 接続を使用する結合は、ArcGIS for Server(Linux)ではサポートされていません。
データベース認証の使用
データベース認証を使用する際には、カタログ ツリーで空間データベース接続プロパティをオンにして、ユーザ名とパスワードを保存するオプションが有効になっていることを確認する必要があります。その接続を使用するマップまたはグローブ ドキュメントを作成する場合は、名前とパスワードがマップまたはグローブ ドキュメントに保存されるため、サービスはデータを正しく取得することができます。
ロケータやラスタ データセットなどをサービスとしてジオデータベースから直接公開する場合は、すべての GIS サーバ コンピュータがアクセスできる場所にデータベース接続ファイルをコピーします。
OS 認証の使用
OS 認証を通じて ArcSDE データにアクセスする場合は、ArcGIS Server アカウントをジオデータベースに追加し、アクセスする必要があるリソースへの権限を付与する必要があります。サービスを実行すると、サービスは DBMS に ArcGIS Server アカウントとしてログインします。ArcGIS Server アカウントを追加して権限を付与する方法は、使用する ArcSDE ジオデータベースの種類に応じて異なります。
ArcSDE ジオデータベースをエンタープライズ レベルで使用する場合、ArcGIS Server アカウントをデータベースの有効なユーザとして追加する方法は、使用する DBMS によって異なります。オペレーティング システム アカウントにアクセスを許可する方法については、DBMS のドキュメントをご参照ください。ArcGIS Server アカウントを追加したら、公開するリソースへの SELECT 権限をそれに付与する必要があります。データを編集する場合は、通常、さらに権限を追加する必要があります。
注意:すべての GIS サーバ コンピュータがアクセスできる場所にデータベース接続ファイルをコピーすることが重要です。
ArcSDE for SQL Server Express ジオデータベースを使用する場合は(ArcGIS for ServerArcGIS for Server(Linux)ではサポートされていません)、ArcGIS Server アカウントに必要な権限を付与するために、ArcCatalog またはカタログ ウィンドウで次の手順を実行する必要があります。
- カタログ ツリーで [データベース サーバ] をダブルクリックします。
- ジオデータベースが含まれているデータベース サーバを右クリックし、[権限] を選択します。
- [ユーザの追加] をクリックし、ArcGIS Server アカウントを追加します。[OK] をクリックします。
- 同じデータベース サーバをダブルクリックします。
- ジオデータベースを右クリックし、[管理] をクリックしてから、[権限] をクリックします。
- ArcGIS Server アカウントをクリックしてハイライト表示し、適切なレベルの権限を選択します。データの表示には少なくとも読み取り権限が必要であり、編集には書き込み権限が必要です。ArcGIS Server アカウントに必要な権限を決定するための情報が必要な場合は、ArcGIS ヘルプの「データベース サーバ権限のクイック ツアー」をご参照ください。
データのサーバへの登録
ArcGIS Server アカウントに、データが含まれるフォルダとデータベースに対する適切な権限を付与したら、ArcGIS Server Manager または ArcGIS for Desktop を使用してそれらのデータをサーバに登録する必要があります。データを登録することで、サーバがデータにアクセスする方法を制御する能力を高め、データがサーバから確実にアクセスできるようになります。
手順については、次のトピックをご参照ください。
- Manager を使用したデータの ArcGIS Server への登録
- ArcGIS for Desktop Manager を使用したデータの ArcGIS Server への登録