2009-03-20 8 views
1

私は、WCFサービスをホストするWindowsサービスと、クライアントとして機能する別のマシンのWebサービスを持っています。 nettcpbindingは、Windows認証を使用してセキュリティをトランスポートするように設定されています。 Webサービスが実行されているWindowsユーザーに、他のマシンのWCFサービスにアクセスするためのアクセス許可が必要であると想定するのは間違いですか? webserviceがNetworkServiceで動作している場合、それを使用することは可能ですか、それとも新しいユーザーを使用するためにセットアップする必要がありますか?WCFのトランスポートセキュリティの設定

答えて

3

はい、別のユーザーを設定する必要があります。ネットワークサービスはローカルユーザーであり、WCFホスティングマシンには存在しません。 (そうですが、パスワードが違うので共有されません)

2つのマシンがドメインにある場合は、ドメインユーザーとしてWebアプリケーションプールを実行できます。ワークグループでは、両方のマシンで同じユーザー名とパスワードの組み合わせを作成し、そのアカウントで実行するようにWebサイトを構成することができます。どちらの場合も、あなたは、ドメインとKerberos認証である場合、あなたはまた、

setspn -A HTTP/webservername domain\customAccountName 
setspn -A HTTP/webservername.fullyqualifieddomainname domain\customAccountName 
新しいユーザーアカウントのセットアップSPNにする必要があります

aspnet_regiis -ga MachineName\AccountName 

を発行することにより、新しいアカウントに右の権限を割り当てる必要があります

+0

IISがドメインにないのにWindowsサービスがある場合はどうなりますか? – Kimi

1

ネットワークサービスに関する良い情報については、http://msdn.microsoft.com/en-us/library/ms684272(VS.85).aspxを参照してください。 WCFクライアントがサービスをホストしているマシンに対してドメイン\コンピュータ名$として認証しようとします。個人的には、監査目的で特定のIDを持つことを好みます。

+0

ネットワーク上でパスワードを維持する必要がないため、ネットワークサービスとして実行する方が良いです。マシンアカウントのパスワードは30日ごとに変更され、ネットワークアカウントのパスワードはドメインポリシーの下で期限切れになる傾向があり、手動で変更する必要があります。 –

関連する問題