0

私のWebアプリケーションには次の設定があります..

  • IIS7 でホストされる WCF アプリケーション
  • 基本的な HTTP バインディング - SecurityMode = TransportCredentialOnly および ClientCredentialType = Windows。
  • .Net 4.0
  • アプリは、「ApplicationPoolIdentity」を使用して .Net 4.0 アプリケーション プールで実行されます。
  • IIS は、「アプリケーション パス スルー」認証を使用してファイル システムに接続します。
  • クライアントとサービスは両方とも IIS で実行されます。つまり、クライアントは Webste であり、サービスは IIS がホストする WCF サービスです。

私が理解したいのは、認証とサービスの使用のさまざまな時点でどのユーザー アカウントが使用されるかということです。

  • ApplicationPoolIdentity は、作成されたアプリケーション プールごとに生成される組み込みの Windows アカウントであることを理解しています。これは、Web サイトに対して w3wp.exe を実行するアカウントですか?

  • クライアントとサーバーの間で資格情報が指定されていません。これが最も興味深い点です。クライアントが WCF アプリケーションに接続するときに、サービスへの認証に使用される ID。クライアント Web サイトをホストしているアプリケーション プールのアプリケーション プール ID を推測しますか?

  • もしそうなら、2 つのサイトが 2 つの異なるアプリケーション プールを使用するとどうなるでしょうか?

  • それとも、サービスはマシン (またはドメイン) 上の有効なアカウントを必要とするだけで、それは認証に十分なものですか?

  • 特定のユーザー アカウントを使用するようにアプリケーション プールを変更した場合、何か変更はありますか? 繰り返しますが、クライアントが有効なマシン アカウントを渡す限り、それでよろしいでしょうか?

また、、、

  • ファイル システムに使用される ID は何ですか?

  • "ApplicationPoolIdentity" がマシン上およびファイル システムに対して持つアクセス許可。

  • 最後に、SQL Server 統合セキュリティの場合、サービスが SQL Server データベースと通信する場合、どの ID が SQL Server に渡されますか。

前もって感謝します。

4

1 に答える 1

1

ApplicationPoolIdentity は、作成されたアプリケーション プールごとに生成される組み込みの Windows アカウントであることを理解しています。これは、Web サイトに対して w3wp.exe を実行するアカウントですか?

はい、そうです。これは仮想アカウントと呼ばれ、定義されたアプリケーション プールごとに IIS が一意のアカウントを作成できるようにします。また、アプリケーション プール名を表すセキュリティ識別子も作成されます。これは実際のユーザー アカウントではないことに注意してください。詳細については、次のリンクを確認してください: http://technet.microsoft.com/en-us/library/dd548356.aspx

クライアントとサーバーの間で資格情報が指定されていません。これが最も興味深い点です。クライアントが WCF アプリケーションに接続するときに、サービスへの認証に使用される ID。クライアント Web サイトをホストしているアプリケーション プールのアプリケーション プール ID を推測しますか?

はい、ローカル サービス アカウントまたはネットワーク サービス アカウントを使用する場合と同じルールが適用されます。

もしそうなら、2 つのサイトが 2 つの異なるアプリケーション プールを使用するとどうなるでしょうか?

これらのアプリケーション プール ID の権限を昇格させない限り、何もありません。

それとも、サービスはマシン (またはドメイン) 上の有効なアカウントを必要とするだけで、それは認証に十分なものですか?

次に、アプリケーション プール用に作成された既定の仮想アカウントを使用しません。代わりに、これらのアプリケーション プールを既存の Windows アカウントに関連付けます。それらのウィンドウ/ドメイン アカウントが持つアクセス許可の種類に注意してください。

特定のユーザー アカウントを使用するようにアプリケーション プールを変更した場合、何か変更はありますか? 繰り返しますが、クライアントが有効なマシン アカウントを渡す限り、それでよろしいでしょうか?

これらのアカウントが必要に応じてアクセス許可を持っている限り、問題なく機能します。

ファイル システムに使用される ID は何ですか?

ファイルシステムの意味をより詳細に定義します。アプリケーションディレクトリを厳密に参照していますか?

"ApplicationPoolIdentity" がマシン上およびファイル システムに対して持つアクセス許可。

ApplicationPoolIdentity は Users および IIS_IUSRS グループのメンバーであるため、前述のグループのアクセス許可を "継承" します。

最後に、SQL Server 統合セキュリティの場合、サービスが SQL Server データベースと通信する場合、どの ID が SQL Server に渡されますか。

ApplicationPoolIdentity またはアプリケーション プールで使用するように構成したアカウント。

于 2012-06-27T18:56:58.523 に答える