次の方法で共有


クライアントがサービスの SPN を作成する方法

サービスを認証するために、クライアント アプリケーションは、接続先のサービス インスタンスの SPN を作成します。 クライアント アプリケーションは、DsMakeSpn 関数を使用して SPN を作成できます。 クライアントは、サービス自体以外のソースから取得された既知のデータまたはデータを使用して SPN のコンポーネントを指定します。

SPN の形式は、次の形式で示されます。

<service class>/<host>:<port>/<service name>

この形式では、"<サービス クラス>" と "<ホスト>" が必要です。 "<ポート>" と "<サービス名>" は省略可能です。

通常、クライアントは名前の "<サービス クラス>" の一部を認識し、SPN に含める省略可能なコンポーネントを認識します。 クライアントは、サービス接続ポイント (SCP) やユーザー入力などのソースから SPN のコンポーネントを取得できます。 たとえば、クライアントはサービスの SCP の serviceDNSName 属性を読み取り、"<ホスト>" コンポーネントを取得できます。 serviceDNSName 属性には、サービス インスタンスが実行されているサーバーの DNS 名か、サービス レプリカのホスト データを含む SRV レコードの DNS 名が含まれます。 "<サービス名>" コンポーネントは、レプリケート可能なサービスにのみ使用されます。サービスの SCP の識別名、サービスによって提供されるドメインの DNS 名、または SRV または MX レコードの DNS 名を指定できます。

サービスの SPN を作成するために使用するコード例の詳細については、「クライアントが SCP ベースの Windows ソケット サービスを認証する方法」を参照してください。

SPN コンポーネントの詳細と説明については、「一意の SPN 名前の形式」を参照してください。