Web アプリケーションのセキュリティ
Manager を使用して、ArcGIS Server Web アプリケーションへのアクセスを制限することができます。アプリケーションでセキュリティを有効にすると、アクセスが許可されているロールのユーザだけが、そのアプリケーションにアクセスできるようになります。
アプリケーションのセキュリティを設定する前に、ユーザ/ロール ストアが設定されていることと、少なくとも 1 人のユーザと 1 つのロールが追加されていることを確認してください。詳細については、「ユーザとロールの設定の概要」をご参照ください。
Web アプリケーションにアクセスできるユーザのルールを設定するには、次の手順に従います。
- ArcGIS Server Manager で [アプリケーション] タブをクリックして、サーバ上の Web アプリケーションのリストを表示します。
- セキュリティ ルールを設定する Web アプリケーションを選択し、[権限](鍵)アイコンをクリックします。[権限] ダイアログ ボックスが表示されます。このダイアログ ボックスでは、次の操作が可能です。
- [この Web アプリケーションのセキュリティを有効化]このチェックボックスがチェックされていない場合、[権限] ダイアログ ボックスの他の設定は利用できません。このチェックボックスをチェックしない場合、アプリケーションへのアクセスは制限されなくなります。
- アプリケーションへのアクセスをロールに許可します。ロールを追加するには、左側にある利用可能なロールのリストからロールを選択します。[追加] をクリックして、そのロールをアクセスを許可するロールのリストに追加します。
アクセスを許可するロールのリストからロールを削除するには、ロールを選択して [削除] をクリックします。これにより、ロールが [利用可能なロール] リストへ移動します
メモ:ロールが削除されているか、現在のロール ストアに存在しない場合は、[権限] ダイアログ ボックスを再び表示したときに、そのロールは表示されません。
- 権限を設定したら、[保存] をクリックして、アプリケーションのセキュリティに対する変更を保存します。アプリケーションの権限への変更を取りやめるには、[キャンセル] をクリックします。
- ArcGIS Server インスタンスのユーザが Windows ユーザ である場合に限り、IIS Web サーバで認証方式を少なくとも 1 つ有効にしてください。その手順については、次のセクションをご参照ください。
- ArcGIS Server のユーザが SQL Server または カスタム プロバイダ に格納される場合、またはユーザが Windows ユーザであり、先の手順で [基本認証] を有効した場合は、アプリケーションで HTTPS(SSL)を使用することを必須にします。これは、ユーザがアプリケーションにログインするときにパスワードの送信を保護するために不可欠です。
アプリケーションの認証方式の有効化
このセクションの内容は、ArcGIS Server インスタンスのユーザが Windows ユーザである場合にのみ適用されます。その場合、ユーザのアイデンティティは IIS Web サーバによって認証されなければなりません。IIS にユーザを認証させるためには、セキュリティで保護されている Web アプリケーションで認証方式を少なくとも 1 つ有効にしなければなりません。
IIS のインストールによっては、1 つ以上の認証方式がデフォルトで有効になっていることがあります。認証方式が少なくとも 1 つ有効になっていることを必ず確認してください。認証方式が 1 つも有効になっていない場合、ユーザは Web アプリケーションへのアクセスを拒否されます。
IIS 5.1 または 6(Windows XP または Windows Server 2003)で Web アプリケーションの認証方式を設定する方法は次のとおりです。
- [スタート] → [設定] → [コントロール パネル] → [管理ツール] → [インターネット インフォメーション サービス(IIS)マネージャ] の順にクリックして、IIS Manager を開きます。
- ローカル コンピュータの [Web サイト] で、Manager でセキュリティを設定した Web サイトを選択します(通常は [既定の Web サイト] です)。
- Web アプリケーションを右クリックし、[プロパティ] をクリックします。アプリケーションの [プロパティ] ダイアログ ボックスが表示されます。
- [ディレクトリ セキュリティ] タブをクリックします。[匿名アクセスおよび認証コントロール] で [編集] をクリックします。[認証方法] ダイアログ ボックスが表示されます。
- [認証済みアクセス] で、認証方式を少なくとも 1 つ選択します。認証方式については、この後の説明をご参照ください。
IIS 7(Windows Vista、Windows 7、または Windows Server 2008)で Web アプリケーションの認証方式を設定する方法は次のとおりです。
- [コントロール パネル] → [管理ツール] → [インターネット インフォメーション サービス(IIS)マネージャ] の順にクリックして、IIS Manager を開きます。
- [サイト] ノードを展開して Manager でセキュリティを設定した Web サイトを選択し(通常は [Default Web Site] です)、そのサイトを展開して Web アプリケーションを表示します。
- Web アプリケーションをクリックして、IIS Manager の右側にそのプロパティ リンクを表示します。
- [IIS] グループにある [認証] をダブルクリックします。これにより、アプリケーションの認証方式のリストが表示されます。
- 認証方式のリストで [匿名認証] を右クリックし、ショートカット メニューで [無効にする] をクリックします。
- 他の認証方式を少なくとも 1 つ有効にします。認証方式については、この後の説明をご参照ください。
認証方式の詳細については、「認証方式の選択」をご参照ください。IIS のドキュメントや、MSDN ページの「Authentication Methods Supported in IIS 6.0」または「Authentication Feature Requirements (IIS 7)」などのリソースもご参照ください。
web.config での認証
ASP.NET は、Web アプリケーションのセキュリティ情報をその web.config ファイルに格納します(通常、ユーザとロールは web.config ファイルで指定されたプロバイダに別々に格納されます)。Manager は、Web アプリケーションの認証に、この方法を使用します(ただし、GIS Web サービスは例外です。「サービスへのインターネット接続のセキュリティ」をご参照ください)。この情報を表示することは可能ですが、それを変更した場合、Manager はそれ以上アプリケーションのセキュリティを管理できなくなります。
Web アプリケーションの権限ルールは、ASP.NET アプリケーションの標準の認証形式で格納されます。これらのルールは、web.config ファイルの標準の <authorization> 要素に格納されます。
web.config ファイルで認証ルールを手動で、または Web サイト管理ツール(WSAT)を使って編集する場合は、次のガイドラインに従ってください。
- <allow> ルールのみを使用します。ルール リストの最後ですべてのユーザ ルールを拒否する点を除き、Manager は <deny> ルールを使用しません。
- ルールにはロールのみを追加します。Manager はルールに対する個々のユーザ アカウントの追加をサポートしません。
- <allow> 要素にはロールを 1 つだけ追加します。たとえば、次のようなルールは使用しないでください。
<allow users="Admins, Planning" />
代わりに、同等のルールを 2 つ作成します。<allow users="Admins" /> <allow users="Planning" />
- <deny users="all" /> ルールを削除または編集しないでください。このルールはリストに残しておかなければなりません。
- 使用されるのは <allow> ルールだけなので、ルールの順序は重要ではありません。例外は、すべてのユーザ ルールの拒否がリストの最後に含まれていなければならないことです。
これらのガイドラインに従わず、後から Manager でセキュリティを編集した場合、web.config のアクセス ルールを正常に読み取ることができなくなり、上書きされることがあります。Manager を使って Web アプリケーションのセキュリティを設定する予定がない場合は、もちろん、ASP.NET の有効な認証設定をどれでも使用することができます。
Web サイト管理ツール(WSAT)の使用
Manager で作成される Web アプリケーションのセキュリティ設定には、WSAT との互換性があります。WSAT は、ユーザとロールを管理し、Web アプリケーションへのアクセス ルールを設定するための、Microsoft のユーティリティです。WSAT には Visual Studio からアクセスできます。
WSAT では、フォーム認証([インターネットから])と Windows 認証([ローカル ネットワークから])の 2 つの認証タイプのどちらかを選択することができます。Manager でセキュリティを設定した後に認証タイプを変更した場合、Manager でアプリケーションのセキュリティを編集することはできなくなるかもしれません。その場合は、WSAT でセキュリティを管理するか、web.config ファイルを直接編集しなければなりません。
ユーザとロールの場所は、認証タイプとプロバイダ設定によって指定されます。WSAT で設定を表示することは可能ですが、それを変更した場合、Manager でセキュリティを管理することはできなくなるかもしれません。
認証ルールを編集するためのガイドラインについては、先の「web.config での認証」をご参照ください。