Windows オペレーティング システムでのユーザとロールの設定

Windows の標準アカウントを使ってユーザを認証したいことがあります。これは、サービスとアプリケーションがイントラネット上で実行される場合に最もよく使用されます。ユーザがセキュリティで保護されたサービスとアプリケーションにアクセスするためには、ローカル ネットワーク上の Windows アカウントを取得する必要があります。

権限を設定するための Windows ユーザを指定するには、次の手順に従います。

手順:
  1. Manager で [セキュリティ] パネルを展開し、[設定] をクリックします。
  2. [セキュリティ ストア][構成] リンクをクリックします。
  3. [ユーザ ストアの場所] ダイアログ ボックスで [Windows ユーザ] を選択します。[次へ] をクリックします。
  4. 次のダイアログ ボックスで、ロールの格納場所として [Windows グループ] または [SQL Server データベース](カスタム プロバイダを以前に設定している場合はカスタム プロバイダ)を選択します。
  5. [Windows グループ] を選択した場合は、[完了] をクリックして、「IIS での ArcGIS Web サービスへの匿名アクセスの無効化」の項までスキップします。[SQL Server データベース] を選択した場合は、[次へ] をクリックして、次の手順に従います。
    1. データベース サーバの名前を入力して、[接続] をクリックします。
    2. Windows ユーザ アカウントでデータベースに接続する場合は、[信頼された接続を使用] をチェックします。これは一般に、SQL Server Express を Web サーバにインストールしている場合に最善のオプションです。別のコンピュータ上で SQL Server を使用している場合は、SQL ログイン情報を使用し、[信頼された接続を使用] をチェックせずに、SQL ユーザ名とパスワードを入力します。このログイン情報は、データベースに接続するために Web サービスとアプリケーションによって使用されます。
    3. ロールを格納するためのデータベースをまだ用意していない場合は、新しいデータベースを作成するためのオプションをクリックし、名前(aspnetdb など)を入力します。ASP.NET メンバーシップとロールのためのデータベースをすでに設定している場合は、ドロップダウン リストから選択することができます。
    4. [データベースに Everyone、Anonymous、Authenticated Users のロールを追加します] オプションは、データベースに Everyone、Authenticated Users、Anonymous の 3 つの汎用ロールを追加します。これらのロールは、次のパネルで [トークン認証] を選択する場合にのみ適用されます。その場合は、これらのロールを使用して、ユーザ全員または、有効なログイン情報を持つユーザにのみ、1 つ以上のサービスへのアクセスを許可することができます。これらのロールを追加しても、匿名ユーザが自動的に許可されることはありませんが、汎用ロールにアクセスを許可すれば、それらのロールが利用できるようになります。これらのロールの使用については、「サービスへのインターネット接続のセキュリティ」をご参照ください。これらのロールは Web サービスでのみ使用され、Web アプリケーションでは使用されません。
    5. [次へ] をクリックします。
  6. 最後のパネルでは、ユーザの認証方式を選択します。ユーザまたはサーバ ベースのアプリケーションが制限されたサービスにアクセスするには、ユーザ名とパスワードを指定しなければなりません。この選択により、ユーザから認証情報を取得するために使用する方法が決定されます。
    • Windows 認証: IIS(Internet Information Services)Web サーバは、サービス リクエストに認証チャレンジで応答することにより、ユーザの認証情報を取得します。この手法は、ユーザがローカル ネットワーク内のサーバに接続する場合に、イントラネットで最もよく使用されます。ブラウザで REST Services Directory を開くなど、クライアントがエンド ユーザである場合は、オペレーティング システムのログイン情報に基づいて自動的にユーザを認証するか、ログイン ダイアログ ボックスをユーザに表示することができます。Windows 認証を選択する場合、ユーザを認証するためには Services アプリケーションへの匿名アクセスを無効にしなければなりません。その手順については、次のセクションをご参照ください。
    • トークン認証: この手法は、サービスのクライアントがインターネット経由で接続する場合に最もよく使用されます。クライアント アプリケーションは、サービスへのリクエストにトークンを追加します。トークンは、ユーザを認証するための暗号化された文字列です。ほとんどのクライアントは、ユーザのオペレーティング システムのログイン情報に基づいて、起動時に自動的にトークンを取得します。一部のアプリケーションでは、開発者が事前にトークンを取得して、アプリケーションに埋め込む必要があります。[トークン認証] を選択した場合は、ユーザ/ロールのセットアップ ウィザードが完了した後に、トークン サービスを設定する必要があります。その手順と詳細については、「トークン サービスの設定」をご参照ください。
ヒントヒント:

ユーザがサーバにログインする際には、(ローカル アカウントの)コンピュータ名またはドメイン名を指定する必要があります。たとえば、CityWeb という名前のサーバで planner1 というアカウントを使用する場合は、ユーザ名として CityWeb\planner1 を使用します。コンピュータ名が省略された場合、接続が確立されたにもかかわらず、サービスが表示されないことがあります。

IIS での ArcGIS Web サービスへの匿名アクセスの無効化

ユーザを認証するための方法として Windows 認証を選択した場合は、このセクションの手順を実行して、ArcGIS Web サービスへの匿名アクセスを無効にしなければなりません。匿名アクセスを無効にしないと、クライアント アプリケーションがサービスにアクセスできなくなります。

Web サービスのセキュリティを有効にする前に、IIS Manager でこの手順を実行してください。ただし、サービスに権限を割り当てるまで、この手順を先送りすることもできます。匿名アクセスを無効にしないと、ユーザがセキュリティで保護されたサービスにアクセスできなくなることに注意してください。

GIS サービスへの匿名アクセスを無効にするには、次の手順に従います。

手順:
  1. [コントロール パネル][管理ツール][インターネット インフォメーション サービス(IIS)マネージャ] の順にクリックして、IIS Manager を開きます。
  2. ローカル コンピュータの [Web サイト] で、ArcGIS インスタンスが含まれている Web サイトを選択します(通常は [既定の Web サイト] にあります)。[ArcGIS] フォルダを展開します。
  3. 匿名アクセスを無効にする方法は、システムごとに異なります。
    • IIS 5.1 および IIS 6 の場合(Windows XP および Windows Server 2003)
      1. [Services] Web アプリケーションを右クリックし、[プロパティ] をクリックします。[Service のプロパティ] ダイアログ ボックスが表示されます。
      2. [ディレクトリ セキュリティ] タブをクリックします。[匿名アクセスおよび認証コントロール][編集] をクリックします。[認証方法] ダイアログ ボックスが表示されます。
      3. [匿名アクセス] のチェックを外します。[認証済みアクセス] で、認証方式を少なくとも 1 つ選択します。認証方式については、この後の説明をご参照ください。[OK] を 2 回クリックして、IIS Manager に戻ります。
    • IIS 7 の場合(Windows Vista、Windows 7、および Windows Server 2008)
      1. [Services] アプリケーションをクリックして、IIS Manager の右側にそのプロパティ リンクを表示します。
      2. [IIS] グループにある [認証] をダブルクリックします。これにより、アプリケーションの認証方式のリストが表示されます。
      3. 認証方式のリストで [匿名認証] を右クリックし、ショートカット メニューで [無効にする] をクリックします。
      4. 他の認証方式を少なくとも 1 つ有効にします。認証方式については、この後の説明をご参照ください。
  4. 先の手順を繰り返して、ArcGIS フォルダ内の Rest Web アプリケーションのプロパティを設定します。IIS Manager を閉じます。

認証方式の詳細については、IIS のドキュメントや、MSDN ページ「Authentication Methods Supported in IIS 6.0」などのリソースをご参照ください。


7/10/2012