データを 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 または相対パスである必要があります。
共有ネットワーク フォルダはデータの参照には便利ですが、ネットワーク トラフィックが発生し、ローカル パスでデータにアクセスする場合にはなかったパフォーマンス上のボトルネックになる可能性があります。
データをデータベースに格納する
多くの GIS ショップは、大規模なデータ コレクションを DB2、Informix、Netezza、Oracle、PostgreSQL などのリレーショナル データベース管理システム(RDBMS)に格納しています。Esri はこれらのデータベースをネイティブでサポートしており、RDBMS からの空間データを ArcGIS で便利に編成および使用できる方法を提供します。
Esri は、RDBMS 内に配置できるジオデータベースも提供しています。ジオデータベースとデータベースは便利で強力ですが、ネットワーク経由でアクセスするため、多くの場合、ローカルのデータにアクセスするときほど高速ではありません。場合によっては、ジオデータベースを使用して、ファイル ジオデータベースのようにローカルに簡単に格納できるその他の形式に複製することができます。複製後、そのデータを各 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
データベース内のデータに対する権限の付与
データベースのデータを参照するサービスを作成する際には、そのデータにアクセスするための適切な権限がサーバに設定されている必要があります。サーバに必要な権限の種類は、使用するデータベースの種類と接続に使用する認証方式によって異なります。
ArcGIS 10.1 for Server 以降のリリースは、パーソナル ジオデータベースをサポートしていません。
データベース内のデータに対するアクセス権限を付与する方法は、データベースに接続するためにデータベース認証を使用するのか、それともオペレーティング システム(OS)認証を使用するのかによって異なります。どちらのタイプの認証が使用されているかを確認するにはどうすればよいでしょうか?データが Desktop または Workgroup ジオデータベースにある場合は(ArcGIS for Desktop の Database Servers ノード経由でアクセス)、OS 認証が使用されます。データがエンタープライズ RDBMS(Oracle、DB2、Informix、Netezza、PostgreSQL、Teradata)に格納されている場合は、ArcCatalog の [接続プロパティ] または ArcMap のカタログ ウィンドウを使用して、データベース認証とオペレーティング システム認証のどちらを使用するのかを確認できます。
Windows で ODBC 接続を使用する結合は、ArcGIS for Server(Linux)ではサポートされていません。
データベース認証の使用
データベース認証を使用する際には、カタログ ツリーでデータベース接続プロパティをオンにして、ユーザ名とパスワードを保存するオプションが有効になっていることを確認する必要があります。その接続を使用するマップまたはグローブ ドキュメントを作成する場合は、名前とパスワードがマップまたはグローブ ドキュメントに保存されるため、サービスはデータにアクセスすることができます。
データの編集を許可する予定の場合は、接続を行うデータベース ユーザにデータに対する書き込み権限を付与する必要があります。
OS 認証の使用
OS 認証を通じてデータにアクセスする場合は、ArcGIS Server アカウントをデータベースに追加し、アクセスする必要があるリソースへの権限を付与する必要があります。サービスを実行すると、サービスは DBMS に ArcGIS Server アカウントとしてログインします。
ArcGIS Server アカウントを追加して権限を付与する方法は場合によって異なります。オペレーティング システム アカウントにアクセスを許可する方法については、DBMS のドキュメントをご参照ください。ArcGIS Server アカウントを追加したら、公開するリソースへの SELECT 権限をそれに付与する必要があります。データの編集を許可する予定の場合は、そのデータに対する書き込み権限が必要です。
データのサーバへの登録
ArcGIS Server アカウントに、データが含まれるフォルダとデータベースに対する適切な権限を付与したら、ArcGIS Server Manager または ArcGIS for Desktop を使用してそれらのデータをサーバに登録する必要があります。データを登録することで、サーバがデータにアクセスする方法を制御する能力を高め、データがサーバから確実にアクセスできるようになります。
手順については、次のトピックをご参照ください。
- Manager を使用したデータの ArcGIS Server への登録
- ArcGIS for Desktop を使用したデータの ArcGIS Server への登録