Come un servizio compone i suoi SPN
Un servizio può usare due funzioni per comporre i nomi SPN: DsGetSpn è una funzione generica per la composizione di SPN e DsServerRegisterSpn è una funzione specializzata per la composizione e la registrazione di nomi SPN semplici per un servizio basato su host.
Un installer del servizio usa in genere la funzione DsGetSpn per comporre gli SPN, che quindi registra nell'account di accesso del servizio usando la funzione DsWriteAccountSpn. Il DsGetSpn può eseguire le funzioni seguenti.
- Creare un semplice SPN con il formato "<classe di servizio>/<dell'host>" per un servizio basato su host.
- Creare un nome SPN complesso che includa il componente "<nome del servizio>" usato dai servizi replicabili o il componente "<porta>" che distingue più istanze di un servizio in un singolo host.
- Creare un singolo SPN con il componente "<host>" impostato sul nome di un host specificato o sul nome del computer locale per impostazione predefinita.
- Creare una matrice di nomi SPN per più istanze del servizio che verranno eseguite in più host in tutta la foresta. Ogni SPN specifica il nome dell'host per un'istanza del servizio.
- Creare un array di SPN per diverse istanze di servizio che verranno eseguite nello stesso host. Ogni SPN specifica il nome dell'host e un numero di porta per un'istanza del servizio.
La matrice di nomi restituiti da DsGetSpn deve essere liberata chiamando la funzione DsFreeSpnArray.
Tenere presente che le DsGetSpn, DsWriteAccountSpne DsServerRegisterSpn non verificano che i nomi SPN siano univoci. Poiché l'autenticazione reciproca ha esito negativo se un client presenta un SPN non univoco, verificare l'univocità prima di registrare un SPN. A tale scopo, cerca nel catalogo globale (GC) gli attributi di servicePrincipalName che corrispondono al tuo SPN. Per altre informazioni sulla ricerca nel catalogo globale, vedere Ricerca del catalogo globale.