web-dev-qa-db-ja.com

2つのサービスアカウント間で1つのSPNを共有できますか?

同じサーバー上でIISとSQLReportingServerを実行しています。IISはd\acct1として実行され、SSRSはd\acct2として実行されています。

最初に、HTTP/server.d.comd\acct1の両方にSPNd\acct2を登録し、ActiveDirectoryで制約のないKerberos委任用に両方を構成しました。

HTTP/server.d.comのSPNが重複しているため、この構成はKerberosを破壊しました。

SSRSのSPNを削除すると、IISが機能します。IISのSPNを削除すると、SSRSが機能します。

同じサーバーで実行されている2つの異なるサービスアカウント間でSPNを共有して、重複するSPNを作成しないようにする方法はありますか?

または、ActiveDirectoryにiis.server.d.comreports.server.d.comの2つのAレコードを作成し、ホストヘッダーを使用して、それぞれのサービス内で2つのエイリアスをまっすぐに保つ必要がありますか?

3
Ryan Michela

Kerberos委任がどのように機能するかを調査したところ、いいえ、同じボックスのサービスアカウント間でSPNを共有することはできません。

サーバーに2番目のIPアドレスをプロビジョニングし、IISを1つのIPアドレスに、SSRSを別のIPアドレスにマッピングすることで問題を解決しました。

次に、サービスを指すためにDNSに2つの新しいAレコードを作成しました(Cレコードは使用しないでください。Kerberos委任では信頼できません)。 iis.server.d.comはIIS IPアドレスを指し、ssrs.server.d.comはSSRSIPを指します。

最後に、d\acct1d\acct2の両方のすべてのSPNを削除し、SPNをそれぞれHTTP/iis.server.d.comHTTP/ssrs.server.d.comとして再割り当てしました。

さらに、 ADSIEditfarを使用してSPNを編集する方が、setspnコマンドラインを使用するよりも簡単であることがわかりました。

3
Ryan Michela