web-dev-qa-db-ja.com

リモートレジストリを読み取るイントラネットWebサービスに必要なSPN

リモートPCのアン​​チウイルス定義のバージョンなど、リモートレジストリキーの値をライブで表示するWebサイトを想像してみてください。明確にするために、関係する3台のコンピューターがあり、Webサーバーが仲介役として機能します。

WebサイトはWindows認証を使用するため、Windowsのブラウザーから、AD資格情報が渡され、IISがユーザーを認証します(ASP.NETでは、ユーザートークンが添付され、プログラムで確認できます)。

カーネルモード認証を使用してIIS 7.5で実行していますが、Windows認証のKerberos部分を実行できるようにするには、ADでSPNを設定する必要がありますか?

このサイトは、ADアカウントDOMAIN\AV1のアプリケーションプールで実行されます。このアカウントは、LAN上のコンピューターに対する権限を持つグループのメンバーです。

サイト内のコードは偽装を実行しません。サイトユーザー(リモート登録権限を持たない)のIDを想定したくないため、リモートレジストリ呼び出しを行うだけです。

Webサーバーマシンアカウントまたは DOMAIN\AV1アカウントは、リモートコンピューターに対してKerberos認証をネゴシエートして実行するためにSPNを必要としますか?

3
Luke Puplett

はい、SPNなしでKerberosで認証することはできません。マシンアカウントのSPNを設定するためのチェックリストは次のとおりです。

http://blogs.msdn.com/b/webtopics/archive/2009/01/19/service-principal-name-spn-checklist-for-kerberos-authentication-with-iis-7-0。 aspx

単一のWebサーバーのみの場合、マシンアカウントの標準の2つのSPN。 Webファームの場合は、ドメインアカウントを選択し、アカウントに必要なSPNがあることを確認することをお勧めします。

「サイトのコードは偽装を実行しません」と述べる場合、IISマシンアカウントがリモートシステムへのアクセスを実行していない場合は、次のことを行う必要があることに注意する必要があります。 DOMAIN\AV1アカウントなどの他のアカウントに代わって認証する機能を委任しました。制約のない委任を使用している場合、構成は簡単です。

Webサイトにドロップしてアプリケーションフォルダーを構成できるDelegConfigツールを使用してテストすることをお勧めします。必要なチェックを実行するシンプルなGUIを提供します。

http://blogs.iis.net/brian-murphy-booth/archive/2007/03/09/delegconfig-delegation-configuration-reporting-tool.aspx

http://blogs.iis.net/brian-murphy-booth/archive/2007/03/09/the-biggest-mistake-serviceprincipalname-s.aspx

2
Greg Askew