web-dev-qa-db-ja.com

誰かがWindowsサービスプリンシパル名(SPN)を単純化せずに説明できますか?

私はサービスプリンシパル名に何度か取り組んできましたが、 Microsoftの説明 では不十分です。 IISアプリケーションがドメインで動作するように構成しています。私の問題のいくつかは、構成する必要性に関連しているようです Windowsサービスアカウントのhttp固有のSPN) それは私のサイトをホストしているアプリケーションプールを実行しています。

これにより、サービスの種類(MSSQL、http、Host、termsrv、wsmanなど)、Kerberos認証、Active Directoryコンピューターアカウント(PCName $)、Windowsサービスアカウント、SPNの間の関係が完全に取得されないことに気づきました、およびサービスにアクセスするために使用しているユーザーアカウント。

誰かが説明を単純化せずにWindowsサービスプリンシパル名(SPN)を説明できますか?

中程度の経験を積んだシステム管理者/開発者と共感する創造的な類推のボーナスポイント。

30
Chris Magnuson

Service Principal NameKerberosの概念です。これは、認証ドメイン内の特定のホストによって提供される特定のサービスの識別子です。 SPNの一般的な形式はservice class/fqdn @ REALMです(例:IMAP/[email protected])。 user @ REALM(またはuser1/user2 @の形式でユーザーを識別するユーザープリンシパル名もあります。 speaks-for関係を識別するREALMservice classは、サービスのプロトコルと大まかに考えることができます。 Windowsに組み込まれているサービスクラスのリスト Microsoftからのこの記事に記載されています

すべてのSPNをREALMKey Distribution Center(KDC)に登録し、サービスを発行する必要がありますキー。 Windowsインストールメディアのsetspn.exeフォルダーにある、またはリソースキットのダウンロードとして利用できる\Support\Toolsユーティリティは、コンピューターまたはADの他のアカウントへのSPNの割り当てを操作します。

ユーザーが認証にKerberosを使用するサービス(「Kerberos対応」サービス)にアクセスすると、KDC(Windows環境ではActive Directoryドメインコントローラー)から取得した暗号化されたチケットが表示されます。チケットはサービスキーで暗号化されます。チケットを復号化することにより、サービスは特定のSPNのキーを所有していることを証明します。 Windowsホストで実行されているサービスはADコンピューターアカウントに関連付けられたキーを使用しますが、Kerberosプロトコルに準拠するには、ホストで実行されている各kerberizedサービスのActive DirectoryにSPNを追加する必要があります(上記の組み込みSPNを除く)。 Active Directoryでは、SPNはホストのコンピューターオブジェクトのservicePrincipalName属性に格納されます。

詳細については、以下を参照してください。 SPNに関するMicrosoft TechNetの記事ケンホーンスタインのKerberos FAQ

34
yrk

ヤレックの答えは素晴らしかったので、私はそれを支持しましたが、このトピックに関するWindows固有の情報をもう少し提供したかったのです。つまり、一般的なKerberosよりもADに詳しい人の観点から、これは私が非常に興味を持っているトピックだからです。

この人はそれを説明するのに優れた仕事をしたように感じました、そして私は彼の記事を読むことをお勧めしますが、ここにあなたの質問の右側にある特に簡潔な段落があります:

「サービスプリンシパル名は、アカウントのセキュリティコンテキストの下で実行されるサービスを定義します。たとえば、コンピューターが持つ可能性のあるサービスの一部は、ファイルサーバー/ CIFS(共通インターネットファイルシステム)であり、ドメインコントローラーの場合、LDAPを持つことになりますSPN、Active DirectoryレプリケーションSPN、およびFRS SPN。サービスプリンシパル名は、サービスまたはアプリケーションがそのユーザーのセキュリティコンテキストで実行されているときに、ユーザーアカウントで定義できます。通常、これらの種類のユーザーアカウントは、「サービスアカウント」と呼ばれます。サービスプリンシパル名はActive Directoryフォレスト全体で一意である必要があることを理解していることが重要です。」

記事全体はこちら: https://docs.Microsoft.com/en-us/archive/blogs/askds/kerberos-for-the-busy-admin

11
Ryan Ries