私はサービスプリンシパル名に何度か取り組んできましたが、 Microsoftの説明 では不十分です。 IISアプリケーションがドメインで動作するように構成しています。私の問題のいくつかは、構成する必要性に関連しているようです Windowsサービスアカウントのhttp固有のSPN) それは私のサイトをホストしているアプリケーションプールを実行しています。
これにより、サービスの種類(MSSQL、http、Host、termsrv、wsmanなど)、Kerberos認証、Active Directoryコンピューターアカウント(PCName $)、Windowsサービスアカウント、SPNの間の関係が完全に取得されないことに気づきました、およびサービスにアクセスするために使用しているユーザーアカウント。
誰かが説明を単純化せずにWindowsサービスプリンシパル名(SPN)を説明できますか?
中程度の経験を積んだシステム管理者/開発者と共感する創造的な類推のボーナスポイント。
Service Principal NameはKerberos
の概念です。これは、認証ドメイン内の特定のホストによって提供される特定のサービスの識別子です。 SPNの一般的な形式はservice class
/fqdn
@ REALM
です(例:IMAP/[email protected]
)。 user
@ REALM
(またはuser1
/user2
@の形式でユーザーを識別するユーザープリンシパル名もあります。 speaks-for関係を識別するREALM
。 service class
は、サービスのプロトコルと大まかに考えることができます。 Windowsに組み込まれているサービスクラスのリスト Microsoftからのこの記事に記載されています 。
すべてのSPNをREALM
のKey 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
ヤレックの答えは素晴らしかったので、私はそれを支持しましたが、このトピックに関する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