サービスへのローカル接続のセキュリティ
GIS サーバへのローカル接続(およびサーバ上で実行されるサービス)は、SOM(Server Object Manager)コンピュータのオペレーティング システムによって管理されます。自分のコンピュータ上ではファイルの作成や削除を実行できる一方で、同僚のコンピュータではそれらを実行できないのと同様に、SOM のオペレーティング システムはサーバ コンピュータ上で実行されているサービスへのアクセスを一部のユーザにのみ許可します。コンピュータへのログイン時に指定するユーザ名とパスワードから、そのユーザがネットワーク上で有効なユーザであることが識別されます。ユーザのオペレーティング システム アカウントに基づいて、GIS サーバへのアクセスといった特定のアクションの実行が許可されます。
GIS サーバの運用を開始するには、GIS サーバにアクセスできるユーザを設定する必要があります。その作業が完了してから、GIS サーバに接続してサービスを追加できるようになります。
サーバにローカル接続できるユーザの特定
GIS サーバへのローカル アクセスを誰に許可すればよいでしょうか。この質問への答えは、サーバ上で実行するサービスの種類と、それらをどのように使用するかによって異なります。サーバ上に配置するサービスをすべてのユーザに提供しなければならないこともあれば、サービスに個々のユーザにのみ表示すべき機密情報が含まれているために、サービスへのアクセスを制限することもあります。
GIS サーバの管理者は、ユーザのオペレーティング システム アカウントをサーバにアクセスできるユーザのリストに追加することで、そのユーザに GIS サーバへのローカル アクセスを許可します。実際には、サーバ上で実行されているサービスを使用できるユーザのリストと、サーバを管理できる(つまり、サーバのサービスを追加、削除、変更できる)ユーザのリストという、2 つのリストが存在します。最終的にサーバへのアクセスを制御するのはオペレーティング システムなので、オペレーティング システムの 2 つのユーザ グループ(ArcGIS Server ユーザ グループと ArcGIS Server 管理者グループ)を使用して、これら 2 つのユーザ リストを管理します。ユーザ グループは、単に特定のリソース(この場合は GIS サーバ)にアクセスできるユーザを定義します。
一般に、ArcGIS Server ユーザ グループと ArcGIS Server 管理者グループに追加するアカウントは、サーバに接続することが予想されるクライアントの種類によって異なります。ArcGIS Desktop から GIS サーバにアクセスできるようにしたい場合は、ArcGIS Desktop を実行する各オペレーティング システム アカウントを ArcGIS Server ユーザ グループに追加する必要があります。さらに、特定のオペレーティング システム アカウントを使用して、カスタム Web アプリケーションを GIS サーバに接続させることもできます。Web アプリケーションで使用するこれらのアカウントも、ArcGIS Server ユーザ グループに追加する必要があります。
SOM アカウントと SOC アカウントを ArcGIS Server ユーザ グループや ArcGIS Server 管理者グループに追加する必要はありません。これらのアカウントは、GIS サーバ上でプロセスを開始および停止するために、オペレーティング システムによってのみ使用されます。
GIS サーバへのアクセスの制御
ArcGIS Server をインストールすると、インストール プログラムによって ArcGIS Server ユーザ(agsusers)グループと ArcGIS Server 管理者(agsadmin)グループが自動的に作成されます。これらのグループは、SOM コンピュータおよび各 SOC コンピュータ上で、オペレーティング システムのローカル グループとして作成されます。ArcGIS Server のインストールは、これらのグループにユーザを自動的に追加しません。このため、各ユーザに必要なアクセスの種類に応じて、これらのグループにユーザを追加する必要があります。もちろん、agsadmin グループに最初に追加しなければならないアカウントは、管理者自身のアカウントです。
GIS サーバへのローカル接続を確立しようとするアプリケーションは、GIS サーバ上の agsusers および agsadmin グループに対して認証されます。
これらのグループに追加するユーザ アカウントの選択方法は、一般に、組織がユーザをどのように管理しているかによって異なります。組織に複数のユーザ グループがすでに設定されている場合は、特定のグループを agsadmin または agsusers グループのメンバとして追加することができます。他のグループに基づいてユーザを割り当てると、GIS サーバへのアクセスを変更するために必要な作業を最小限に抑えることができます。たとえば、新しい従業員が雇用され、組織の既存グループの 1 つに追加された場合、その従業員は ArcGIS Server ユーザ グループのメンバ グループのメンバなので、GIS サーバへのアクセス権限が自動的に割り当てられます。ユーザを個別に agsadmin または agsusers グループに追加することもできます。
ユーザと管理者の権限
ArcGIS Server ユーザ グループ(agsusers)のメンバは、GIS サーバのユーザレベルの権限を持ちます。この場合、サービスを表示してアクセスすることは可能ですが、サービスの追加、削除、または変更といった管理タスクを実行することはできません。また、コンピュータの追加や削除など、サーバ自体のプロパティを変更することもできません。
ArcGIS Server 管理者グループ(agsadmin)のメンバには、GIS サーバのアクセス権限と管理者特権が付与されます。ArcGIS Server 管理者グループのメンバとして接続すると、以下の操作が可能となります。
- SOC コンピュータの追加または削除
- サーバ ディレクトリの追加、削除、変更
- サービスの追加、削除、変更
- サービスの開始、停止、一時停止
- 統計情報の表示
ArcGIS Desktop からのサーバへのローカル接続
ArcGIS Server のデスクトップ クライアント アプリケーションは、アプリケーションを起動したユーザ アカウントとして実行されます。たとえば、デスクトップ コンピュータにドメイン DOMAIN-A のユーザ TANAKA としてログインしていて、ArcCatalog などのアプリケーションを実行している場合、アプリケーションのアイデンティティは DOMAIN-A\TANAKA となります。その ArcCatalog セッションで ArcGIS Server Local 接続を確立すると、DOMAIN-A\TANAKA として接続することになります。DOMAIN-A\TANAKA が SOM 上の agsusers のメンバである場合は、接続を確立することが可能です。DOMAIN-A\TANAKA が agsadmin のメンバである場合は、その接続を通じてサーバへの管理者特権が得られます。
一般に、日常的なタスクを実行する場合は権限が制限されたアカウントを使用し、サーバを管理する必要がある場合にのみ管理者アカウントを使用するのがよいプラクティスです。Windows では、[別のユーザとして実行](runas)コマンドを使用して、現在のログインとは別のオペレーティング システム アカウントで ArcCatalog に接続することができます。runas コマンドはコマンド プロンプトで実行することができます。オペレーティング システムのバージョンによっては、インストール ディレクトリの bin フォルダにある ArcCatalog の実行可能ファイルのショートカット メニュー オプションとして実行することもできます。たとえば、コマンド プロンプトに次のように入力します。
runas /user:<ユーザ名> "C:\Program Files\ArcGIS\bin\ArcCatalog.exe"
あるいは、bin フォルダの ArcCatalog.exe ファイルまたはそのショートカットへ移動して、実行可能ファイルを右クリックし、[別のユーザとして実行] をクリックします。[別のユーザとして実行] コマンドの詳細については、Windows のドキュメントをご参照ください。
Web アプリケーションからのサーバへのローカル接続
Web ADF(Application Developer Framework)を使ってローカル サービスにアクセスする Web アプリケーションを構築する場合は、アイデンティティを指定する必要があります。アイデンティティに使用するアカウントは、アプリケーションが接続する各ローカル サーバ上の agsadmin または agsusers グループに属している必要があります。アプリケーションを使用する際、サービスにアクセスするためのユーザ名とパスワードを入力する必要はありません。代わりに、このアイデンティティが使用されます。アイデンティティ情報は暗号化され、アプリケーションの web.config ファイルに保存されます。
特定のサービスへのアクセスの制限
サーバ上の(すべてではなく)一部のサービスへのアクセスを制限する機能は、インターネット接続を使用する場合にのみ有効です。その実装方法については、「インターネット接続と Web アプリケーションのセキュリティ」をご参照ください。