Erstellen des SPN eines Diensts durch Clients

Um einen Dienst zu authentifizieren, erstellt eine Clientanwendung einen SPN für den Dienst instance, mit dem eine Verbindung hergestellt werden muss. Die Clientanwendung kann die DsMakeSpn-Funktion verwenden, um einen SPN zu erstellen. Der Client gibt die Komponenten des SPN unter Verwendung bekannter Daten oder Daten an, die aus anderen Quellen als dem Dienst selbst abgerufen werden.

Die Form eines SPN ist wie im folgenden Formular dargestellt:

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

In dieser Form sind "<Dienstklasse>" und "<Host>" erforderlich. "<Port>" und "<Dienstname>" sind optional.

In der Regel erkennt der Client den Teil der "<Dienstklasse>" des Namens und erkennt, welche der optionalen Komponenten in den SPN eingeschlossen werden sollen. Der Client kann Komponenten des SPN aus Quellen wie einem Dienstverbindungspunkt (Service Connection Point, SCP) oder Benutzereingaben abrufen. Beispielsweise kann der Client das attribut serviceDNSName des SCP eines Diensts lesen, um die Komponente "<host>" abzurufen. Das attribut serviceDNSName enthält entweder den DNS-Namen des Servers, auf dem der Dienst instance ausgeführt wird, oder den DNS-Namen von SRV-Einträgen, die die Hostdaten für Dienstreplikate enthalten. Die Komponente "<Dienstname>", die nur für replizierbare Dienste verwendet wird, kann der distinguished Name des SCP des Diensts, der DNS-Name der vom Dienst bereitgestellten Domäne oder der DNS-Name von SRV- oder MX-Einträgen sein.

Weitere Informationen und ein Codebeispiel zum Erstellen eines SPN für einen Dienst finden Sie unter Authentifizieren eines SCP-basierten Windows Sockets-Diensts durch einen Client.

Weitere Informationen und eine Beschreibung der SPN-Komponenten finden Sie unter Namensformate für eindeutige SPNs.