一意の SPN の名前形式
SPN は、登録されているフォレスト内で一意である必要があります。 一意でない場合、認証は失敗します。 SPN 構文には、次の表に示すように、2 つの必須要素と、必要に応じて一意の名前を生成するために使用できる 2 つの追加要素の 4 つの要素があります。
<service class>/<host>:<port>/<service name>
要素 | 形容 |
---|---|
"<サービス クラス>" | サービスの一般的なクラスを識別する文字列。たとえば、"SqlServer" などです。 Web サービスの場合は "www" やディレクトリ サービスの場合は "ldap" など、よく知られているサービス クラス名があります。 一般に、サービス クラスに固有の任意の文字列を指定できます。 SPN 構文ではスラッシュ (/) を使用して要素を区切るので、この文字はサービス クラス名に含めることができません。 |
"<ホスト>" | サービスが実行されているコンピューターの名前。 完全修飾 DNS 名または NetBIOS 名を指定できます。 NetBIOS 名はフォレスト内で一意であるとは限らないので、NetBIOS 名を含む SPN は一意ではない可能性があることに注意してください。 |
"<ポート>" | 1 つのホスト コンピューター上の同じサービス クラスの複数のインスタンスを区別するためのオプションのポート番号。 サービスがサービス クラスに既定のポートを使用する場合は、このコンポーネントを省略します。 |
"<サービス名>" | サービスまたはサービスによって提供されるドメインによって提供されるデータまたはサービスを識別するために、レプリカブル サービスの SPN で使用される省略可能な名前。 このコンポーネントには、次のいずれかの形式を使用できます。
|
サービスの SPN に存在するコンポーネントは、サービスの識別とレプリケート方法によって異なります。 ホスト ベースのサービスとレプリカ可能なサービスの 2 つの基本的なシナリオがあります。
ホスト ベースのサービス
ホスト ベースのサービスの場合、"<サービス名>" コンポーネントは省略されます。サービスはサービス クラスによって一意に識別され、サービスがインストールされているホスト コンピューターの名前によって識別されるためです。
<service class>/<host>
サービス クラスだけでは、サービスが提供する機能のクライアントを識別するのに十分です。 サービス クラスのインスタンスは多数のコンピューターにインストールでき、各インスタンスはホスト コンピューターで識別されるサービスを提供します。 FTP と Telnet は、ホスト ベースのサービスの例です。 ホスト ベースのサービス インスタンスの SPN には、サービスで既定以外のポートが使用されている場合、またはホスト上に複数のサービス インスタンスがある場合に、ポート番号を含めることができます。
<service class>/<host>:<port>
レプリカ可能なサービス
レプリカ可能なサービスの場合、サービス (レプリカ) のインスタンスが 1 つまたは複数存在する可能性があり、クライアントは、それぞれが同じサービスを提供するため、接続先のレプリカを区別しません。 各レプリカの SPN には、同じ "<サービス クラス>" と "<サービス名>" コンポーネントがあります。"<サービス名>" は、サービスによって提供される機能をより具体的に識別します。 "<ホスト>" コンポーネントと省略可能な "<ポート>" コンポーネントのみが SPN から SPN に変わります。
<service class>/<host>:<port>/<service name>
レプリカ可能なサービスの例としては、指定したデータベースへのアクセスを提供するデータベース サービスのインスタンスがあります。 この場合、"<サービス クラス>" はデータベース アプリケーションを識別し、"<サービス名>" は特定のデータベースを識別します。 "<サービス名>" は、データベースの接続データを含むサービス接続ポイント (SCP) の識別名です。
MyDBService/host1.example.com/CN=hrdb,OU=mktg,DC=example,DC=com
MyDBService/host2.example.com/CN=hrdb,OU=mktg,DC=example,DC=com
MyDBService/host3.example.com/CN=hrdb,OU=mktg,DC=example,DC=com
クライアントが NetBIOS 名を使用してサービスの SPN を作成する場合は、各レプリカも NetBIOS 名を含む SPN を登録する必要があります。
MyDBService/host1/CN=hrdb,OU=mktg,DC=example,DC=com
MyDBService/host2/CN=hrdb,OU=mktg,DC=example,DC=com
MyDBService/host3/CN=hrdb,OU=mktg,DC=example,DC=com
レプリカ可能なサービスのもう 1 つの例は、ドメイン全体にサービスを提供するサービスです。 この場合、"<サービス名>" コンポーネントは、サービスを提供するドメインの DNS 名です。 Kerberos KDC は、この種のレプリケート可能なサービスの例です。
コンピューターの DNS 名が変更されると、システムはフォレスト内のそのホストのすべての登録済み SPN の "<ホスト>" 要素を更新します。