web-dev-qa-db-ja.com

IIS APPPOOL-IISのSQL Serverログインを作成し、別のマシンにSQL Serverを作成します

明確な答えが見つからない場合は、事前に徹底的に検索しました-謝罪以下のリンクの推奨事項に従いましたが、解決策は機能しませんでした。このソリューションは、IISとSQL Serverを別々のコンピューターで実行している運用Webサーバーに適用されるかどうかも示しません。 Add IIS 7 AppPool Identities as SQL Serverログオン

以下のMicrosoftリンクは、SQL Server Windowsログインを作成するための特定の構文を提供していません: http://www.iis.net/learn/manage/configuring-security/application-pool-identities

私たちの目標は、運用環境でIIS 7.5を実行しているServer 2008 R2コンピューターにASP.NET 4.0 Webアプリケーションを安全に公開することです。ベストプラクティスに従って、SQL Server 2008を実行しています。同じドメイン内の別のコンピューター上。偽装なしでSQLサーバーWindows認証を使用して、IISボックスとSQL Server上のASP.NETアプリケーションが通信できるようにします。現在はSQL Serverログイン接続文字列により、.NETアプリはSQL Serverに接続できますが、接続文字列をWindows SQL Serverログインにアップグレードして、より安全にする必要があります。

IIS 7.5では、Webサイトのアプリケーションプールを構成しました。アプリケーションプールの詳細設定で、ビルトインアカウントはApplicationPoolIdentityとネットワークサービスの両方を使用しようとしましたが、成功しませんでした。ベストプラクティスはセキュリティを強化するためにApplicationPoolIdentityを使用する。

失敗するステップは、SQL Server Windowsログインの作成です。

最初のリンクごとに次の手順に従いました。

  1. SQL Server Management Studioで、セキュリティフォルダー(個々のデータベース内のセキュリティフォルダーではなく、データベース、サーバーオブジェクトなどのフォルダーと同じレベルのセキュリティフォルダー)を探します。

  2. ログインを右クリックし、「新しいログイン」を選択します

  3. [ログイン名]フィールドにIIS APPPOOL\YourAppPoolNameと入力します-検索をクリックしないでください

  4. 他の好きな値を入力します(つまり、認証タイプ、デフォルトデータベースなど)。

  5. OKをクリックします

IIS 7.5およびSQL Serverが別のボックスにある場合、SQL Serverウィンドウログインを作成するためにどの構文を使用する必要があるかを教えてください。

mydomain\machine1$\IIS APPPOOL\MyAppPoolName」を何度も試しましたが、成功しませんでした。
エラーメッセージ:「Windows NT User or group IIS APPPOOL\MyAppPoolName can not be found

Machine1の代わりにWebサーバーのネットワーク名を使用しました(実際のアプリプール名とドメイン名と共に)。

よろしくお願いします。

PS Microsoftが、この一般的な方法と簡単な作業を実現する方法について、ステップバイステップのチュートリアルを提供してくれたら素晴らしいと思います。 StackOverFlowに関するここでの回答は、多くの人に役立ちます:)

16
Joe Colorado

問題の1つの解決策は、アプリケーションプール用に別の(組み込みではない)アカウントを設定することです。そのアカウントに最小限の権限を与え、SQL Serverへのアクセスを与えることもできます。

この方法では、セットアップが簡単で、セキュリティを厳しく制御できるドメインアカウントを使用できます。

7
Szymon

私はこの質問が古いことを知っていますが、うまくいくまで苦しんでいたので、この質問に答えるために私の経験を共有したいと思います。

以下を除いて、あなたが従った手順は私と一緒に機能しました:

3- SQLサーバーのログインに追加する必要があるアカウントはmydomain\machine1$not mydomain\machine1$\IIS APPPOOL\MyAppPoolName

4-一般設定ページのすべてのものをデフォルトのままにします(実際には、Windows認証を使用していることを確認する必要があります)。

次に、ユーザーマッピングに移動します。アプリケーションがアクセスするデータベースを選択します|必要な権限を付与します。たとえば、db_datareaderおよびdb_datawriter権限を付与します。

5- [OK]をクリックして保存します。

ただし、同じマシンの仮想アカウントを使用するすべてのアプリケーションがこのデータベースにアクセスできることに注意してください。

4
Sameh Deabes