none
【IIS6.0】アプリケーションプール(AppPool)のセキュリティアカウントについて RRS feed

  • 質問

  •  __________________________________________
     Webサーバ:Windows Server 2003(IIS6.0)、
     Webアプリケーション:.Net 2.0にて稼動
     DB:SQLServer 2000


    IIS6.0のAppPoolの機能を使い、セキュリティアカウントで「定義済」ではなく
    「構成可能」からIWAM_<コンピュータ名>を指定してSQLServerに接続しようとすると
    以下のメッセージが出てしまい実現できません。

        ………………………………………………………………………………………………………………………
        サーバーへの接続を確立しているときにエラーが発生しました。
        SQL Server 2005 に接続しているときときにこのエラーが発生した場合は、
        SQL Server の既定の設定がリモート接続を許可しないようになっていることが
        エラーの原因である可能性があります。
        (provider: 名前付きパイプ プロバイダ, error: 40 - SQL Server への接続を開けませんでした)
        ………………………………………………………………………………………………………………………

    デフォルト設定である「定義済」から「Network Service」を指定した場合は問題なく接続できます。

        (1)IIS6.0には「ワーカープロセス分離モード」と「IIS5.0分離モード」がある

        (2)アプリケーションプール(AppPool)は「ワーカープロセス分離モード」の時に使える機能

        (3)IWAM_<コンピュータ名>のセキュリティアカウントは「IIS5.0分離モード」用のアカウントである

    調べた結果上記のことが分かったのですが、アプリケーションプールの機能を使う場合
    IWAM_<コンピュータ名>を指定することはできない、ということなのでしょうか?

    それともセキュリティが落ちた分、コンフィグやconnectionで工夫をすれば実現は可能でしょうか?

    ご教示いただきたく、よろしくお願いいたします。


    【追記】接続するDBをSQLServer2000からSQLServer2005のものに変更してみたところ、接続できます。
    • 移動 Wang Huang 2012年10月2日 1:40 (移動元:Internet Information Services 5.x, 6.0 - 全般)
    2008年10月2日 12:06

回答

  • こんにちは、naginoです。

     

    状況がよく分からないのですが、エラーメッセージの特徴から ADO.NET と Windows認証での接続と推測します。

     

    Network Service アカウントを指定した場合は接続できる、とのことですので、認証・権限が原因と思われます。

    IWAM_<コンピュータ名> のアカウントに SQL Server にログインできる権限を与えれば、おそらく接続できると思われます。

    ただし、IWAM_<コンピュータ名> は特殊な意味を持つアカウントですので、あまりお勧めしません。

     

    ADO.NET であれば、偽装や委任、接続文字列を使用することで、IIS のサービスアカウントとは別のアカウントで

    認証を行うことができます。

    この場合それなりに複雑なため、以下のサイトをご参照いただければと思います。

    http://www.microsoft.com/japan/msdn/enterprise/pag/securityguidance/paght000023.aspx

     

    ご参考になれば幸いです。

    2008年10月6日 9:38

すべての返信

  • こんにちは、naginoです。

     

    状況がよく分からないのですが、エラーメッセージの特徴から ADO.NET と Windows認証での接続と推測します。

     

    Network Service アカウントを指定した場合は接続できる、とのことですので、認証・権限が原因と思われます。

    IWAM_<コンピュータ名> のアカウントに SQL Server にログインできる権限を与えれば、おそらく接続できると思われます。

    ただし、IWAM_<コンピュータ名> は特殊な意味を持つアカウントですので、あまりお勧めしません。

     

    ADO.NET であれば、偽装や委任、接続文字列を使用することで、IIS のサービスアカウントとは別のアカウントで

    認証を行うことができます。

    この場合それなりに複雑なため、以下のサイトをご参照いただければと思います。

    http://www.microsoft.com/japan/msdn/enterprise/pag/securityguidance/paght000023.aspx

     

    ご参考になれば幸いです。

    2008年10月6日 9:38
  • > IWAM_<コンピュータ名> は特殊な意味を持つアカウントですので、あまりお勧めしません。
    >
    > ADO.NET であれば、偽装や委任、接続文字列を使用することで、IIS のサービスアカウントとは
    > 別のアカウントで認証を行うことができます。
    > この場合それなりに複雑なため、以下のサイトをご参照いただければと思います。
    > http://www.microsoft.com/japan/msdn/enterprise/pag/securityguidance/paght000023.aspx

    返信いただきありがとうございます。教えていただきましたリンク先を参考にします。
    状況が進捗しましたら(可・不可関わらず)また報告させていただきます。

    どうもありがとうございました。
    2008年10月8日 7:15
  • キュウ さん、

     

    こんにちは!

    フォーラム オペレーターの服部 清次です。

    キュウ さんがこちらの質問を投稿されてからしばらく経ちましたが、その後の状況はいかがでしょうか?

    nagino さんから情報提供のありました ADO.NET を使用した認証はお試しいただけましたでしょうか?

     

    キュウ さんの現在の状況が気になるところなのですが、今回、nagino さんの回答が役に立ったのではないかと思いましたので、ひとまず、私の方で回答チェックを付けさせていただきました。

    万が一 キュウ さんの問題が未解決の場合は、お気軽に回答チェックを外して質問を続けてください。

    その際には、ADO.NET を試された結果や現在の状況も併せて教えていただければ嬉しいです。

     

    今後とも、TechNet Forum よろしくお願いします。

    それでは、また!

     

    _____________________________________________

    マイクロソフト株式会社 フォーラム オペレータ 服部 清次

    2008年10月30日 4:52