GeekFactory

int128.hatenablog.com

レジストリによるローカルイントラネットゾーンの追加

統合Windows認証という便利な仕組みがあります。これを使うと、IDやパスワードを入力せずにWebアプリにログインできるようになります。Active Directoryのユーザとしてログインした状態に自動的になります。WebサーバがWindowsである必要はなく、Linux上のApache httpdでも統合Windows認証を使えます。

一方で、Internet ExplorerChromeで統合Windows認証を有効にするには、インターネットオプションでイントラネットゾーンにサイトを追加する必要があります。利用者の負担を軽減するため、グループポリシーで下記が可能か調べてみました。

  • インターネットオプションのゾーン(ローカルイントラネット、信頼済みサイト)に特定のサイトを追加したい。例:*.example.local
  • それ以外の設定は変更しない。
  • ユーザが設定をカスタマイズできるようにしたい。

インターネットオプションの設定は[管理用テンプレート]や[インターネット設定]で配布できるようですが、上記の要件を満たせないようです。別の方法を調べたところ、レジストリの変更でできました。

レジストリ項目

[ユーザーの構成]-[基本設定]-[Windowsの設定]-[レジストリ] から、下表のレジストリ項目を更新するように設定します。

キー 値の名前 値のデータ
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Domains\example.local (キー)
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Domains\example.local * REG_DWORD 0x1
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\EscDomains\example.local (キー)
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\EscDomains\example.local * REG_DWORD 0x1

0x1はローカルイントラネットゾーンを表します。また、EscDomainsのEscはセキュリティ強化の構成を表しており、Windows ServerではデフォルトでEscDomainsが適用されるようです。Windows 7などではDomainsが適用されます。

詳細は http://support.microsoft.com/kb/182569/ja を参照してください。