IIS 6.0 アプリケーション プールの一部である Web サイトにアクセスするとエラー メッセージ "HTTP Error 401.1 - 権限がありません: 資格情報が無効であるため、アクセスが拒否されました" が表示される

文書翻訳 文書翻訳
文書番号: 871179 - 対象製品
すべて展開する | すべて折りたたむ

現象

統合 Windows 認証のみを使用するように構成された Microsoft インターネット インフォメーション サービス (IIS) 6.0 の Web サイトにアクセスすると、ユーザーの資格情報を求められます。ログオンしようとすると、ログオン プロンプトが再度表示されます。ログオンを 3 回試みた後に、次のエラー メッセージが表示されます。
HTTP Error 401.1 - 権限がありません: 資格情報が無効であるため、アクセスが拒否されました。

原因

この現象は、以下の条件に該当する場合に発生することがあります。
  • IIS 6.0 Web サイトが IIS アプリケーション プールの一部である。
  • アプリケーション プールが、ローカル アカウントまたはドメイン ユーザー アカウントで実行されている。
  • Web サイトが、統合 Windows 認証のみを使用するように構成されている。
この状況では、統合 Windows 認証で Kerberos の使用が試行されるときに、Kerberos 認証が機能していない可能性があります。Kerberos 認証を使用するには、サービスのサービス プリンシパル名 (SPN) を、そのサービスが実行されている Active Directory ディレクトリ サービスのアカウントで登録する必要があります。デフォルトでは、Active Directory で NetBIOS (Network Basic Input/Output System) コンピュータ名が登録され、同時に、Network Service アカウントや Local System アカウントに Kerberos の使用が許可されます。

解決方法

アプリケーション プールがローカル アカウントで実行されているときにこの問題が発生した場合は、「回避策」に記載された手順を実行してください。

アプリケーション プールがドメイン ユーザー アカウントで実行されているときにこの問題を解決するには、NetBIOS 名と、アプリケーション プールを実行しているドメイン ユーザー アカウントの完全修飾ドメイン名 (FQDN) を使用して HTTP SPN を設定します。これを行うには、ドメイン コントローラ上で次の手順を実行します。

重要 : サービスの SPN を関連付けられるアカウントは 1 つだけです。したがって、ここで説明した解決策を使用する場合、別のドメイン ユーザー アカウントで実行されている他のアプリケーション プールは、統合 Windows 認証のみでは使用できません。
  1. Setspn.exe ツールをインストールします。Microsoft Windows 2000 版のツールを入手するには、次のマイクロソフト Web サイトにアクセスしてください。
    http://www.microsoft.com/downloads/details.aspx?FamilyID=5fd831fd-ab77-46a3-9cfe-ff01d29e5c46&displaylang=en
    Microsoft Windows Server 2003 版の Setspn.exe コマンド ライン ツールは、Windows Server 2003 CD に収録されている Windows Server 2003 サポート ツールに含まれています。このツールをインストールするには、Support/Tools フォルダの Suptools.msi ファイルをダブルクリックします。
  2. コマンド プロンプトを開き、Setspn.exe をインストールしたディレクトリに移動します。
  3. コマンド プロンプトで次のコマンドを入力します。各コマンドの入力後に Enter キーを押します。
    setspn.exe -a http/IIS_computer's_NetBIOS_name DomainName\UserName

    setspn.exe -a http/IIS_computer's_FQDN DomainName\UserName
    : UserName は、アプリケーション プールを実行しているユーザー アカウントです。
HTTP サービスの SPN を、アプリケーション プールを実行しているドメイン ユーザー アカウントに設定すると、ユーザーの資格情報を要求されることなく、正常に Web サイトに接続できます。

回避策

複数のアプリケーション プールが異なるドメイン ユーザー アカウントで実行されている環境で統合 Windows 認証のみを使用する場合、この問題を回避するには、IIS が認証の機構として NTLM を使用するように指定する必要があります。これを行うには、IIS が実行されているサーバー上で次の手順を実行します。
  1. コマンド プロンプトを開きます。
  2. Adsutil.vbs ファイルが含まれているディレクトリを探し、そのディレクトリに移動します。デフォルトでは、C:\Inetpub\Adminscripts ディレクトリです。
  3. 次のコマンドを入力して、Enter キーを押します。
    cscript adsutil.vbs set w3svc/NTAuthenticationProviders "NTLM"
  4. NtAuthenticationProviders メタベース プロパティが NTLM に設定されていることを確認するには、次のコマンドを入力して、Enter キーを押します。
    cscript adsutil.vbs get w3svc/NTAuthenticationProviders
    次のテキストが返されます。
    NTAuthenticationProviders : (STRING) "NTLM"

状況

この動作は仕様です。

詳細

IIS が実行されているサーバーの FQDN だけを使用して SPN を設定した場合、30 分後にユーザーの資格情報を要求されます。この 30 分のタイムアウトは、Internet Explorer で DNS (Domain Name System) 情報がキャッシュされる方法が原因で発生するものです。30 分が経過すると、Internet Explorer は再び NetBIOS 名を使用するようになります。したがって、ユーザーの資格情報を要求されないようにするには、IIS が実行されているサーバーの NetBIOS 名を使用した SPN の登録も必ず行う必要があります。 関連情報を参照するには、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください。
263558 Internet Explorer における DNS ホスト エントリのキャッシュの使用方法
アプリケーション プールを実行しているユーザー アカウントの登録済みの SPN を確認するには、コマンド プロンプトを開き、Setspn.exe がインストールされているディレクトリで次のコマンドを入力して、Enter キーを押します。
setspn.exe -l UserName
指定したユーザー アカウントの登録済みの SPN の一覧が返されます。

関連情報

IIS アプリケーション プールでの統合 Windows 認証の使用の関連情報については、Kerberos におけるワーカー プロセス ID の制限について記載されている次のマイクロソフト Web サイトを参照してください。
http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/523ae943-5e6a-4200-9103-9808baa00157.mspx
IIS での認証の失敗やアクセス制御の失敗の関連情報を参照するには、Authentication and Access Control Diagnostics 1.0 をダウンロードしてください。 下記のファイルは、「Microsoft ダウンロード センター」からダウンロードできます。
http://www.microsoft.com/downloads/details.aspx?FamilyId=E90FE777-4A21-4066-BD22-B931F7572E9A&displaylang=en
: AuthDiag ツールは、次のいずれかのエラー メッセージが表示された場合に役立つように設計されています。
  • 401.1 権限がありません: 資格情報が無効であるため、アクセスが拒否されました
  • 401.3 権限がありません: 要求されたリソースに設定された ACL のため、アクセスが拒否されました
AuthDiag ツールは、Kerberos の問題が発生した場合にも役立ちます。

プロパティ

文書番号: 871179 - 最終更新日: 2007年5月23日 - リビジョン: 4.1
この資料は以下の製品について記述したものです。
  • Microsoft Internet Information Services 6.0
キーワード:?
kbtshoot kbprb KB871179
"Microsoft Knowledge Baseに含まれている情報は、いかなる保証もない現状ベースで提供されるものです。Microsoft Corporation及びその関連会社は、市場性および特定の目的への適合性を含めて、明示的にも黙示的にも、一切の保証をいたしません。さらに、Microsoft Corporation及びその関連会社は、本文書に含まれている情報の使用及び使用結果につき、正確性、真実性等、いかなる表明・保証も行ないません。Microsoft Corporation、その関連会社及びこれらの権限ある代理人による口頭または書面による一切の情報提供またはアドバイスは、保証を意味するものではなく、かつ上記免責条項の範囲を狭めるものではありません。Microsoft Corporation、その関連会社 及びこれらの者の供給者は、直接的、間接的、偶発的、結果的損害、逸失利益、懲罰的損害、または特別損害を含む全ての損害に対して、状況のいかんを問わず一切責任を負いません。(Microsoft Corporation、その関連会社 またはこれらの者の供給者がかかる損害の発生可能性を了知している場合を含みます。) 結果的損害または偶発的損害に対する責任の免除または制限を認めていない地域においては、上記制限が適用されない場合があります。なお、本文書においては、文書の体裁上の都合により製品名の表記において商標登録表示、その他の商標表示を省略している場合がありますので、予めご了解ください。"
サポート期間が終了した「サポート技術情報」資料に関する免責事項
この資料は、マイクロソフトでサポートされていない製品について記述したものです。そのため、この資料は現状ベースで提供されており、今後更新されることはありません。

フィードバック

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com