6

Windows Server 2012 R2、IIS 8.5 (ClassicASP 機能を含む)、および SQL Server 2014 Express を実行する新しいサーバー ビルドがあります。アプリケーション プール ID を使用してデータベースに接続したいと考えています。データベースは「Windows 認証モード」に設定されています。

私のアプリケーション プール ID は と呼ばれactivbase.netます。SQL Server にセキュリティ ログインを設定し、IIS AppPool\activbase.netユーザーがそれをデータベースにマップしてdb_datareaderアクセスdb_datawriterしました。

ただし、Web サイトからデータベースにアクセスしようとすると、次のようになります。

ログインで要求されたデータベース「ActivbaseLive」を開くことができません。ログインに失敗しました。

接続を機能させるにはこれで十分だと思いました。アプリケーション ログ (イベント ビューア) には次のように表示されます。

ユーザー 'NT AUTHORITY\IUSR' のログインに失敗しました。理由: 明示的に指定されたデータベース 'ActivbaseLive' を開くことができませんでした。[クライアント: ]

NT AUTHORITY\IUSRそのため、SQL Server>Security>Logins and Databases>[ActivbaseLive]>Security>Users にも同様に追加し、これで問題が解決しました。

私の質問は次のとおりです。

  1. NT AUTHORITY\IUSRログイン/ユーザーに加えて、IIS AppPool\activbase.netログイン/ユーザーを SQL Server インスタンスとデータベースに追加する必要がありますか?
  2. これを行うとセキュリティ上の問題はありますか? (注:これは本番環境になります)

ありがとう、クリス

4

1 に答える 1