Formati dei nomi per nomi SPN univoci

Un nome SPN deve essere univoco nella foresta in cui è registrato. Se non è univoco, l'autenticazione avrà esito negativo. La sintassi SPN include quattro elementi: due elementi obbligatori e due elementi aggiuntivi che è possibile usare, se necessario, per produrre un nome univoco, come indicato nella tabella seguente.

<service class>/<host>:<port>/<service name>
Elemento Descrizione
"<classe> di servizio" Stringa che identifica la classe generale del servizio; ad esempio "SqlServer". Esistono nomi noti della classe di servizio, ad esempio "www" per un servizio Web o "ldap" per un servizio directory. In generale, può trattarsi di qualsiasi stringa univoca per la classe del servizio. Tenere presente che la sintassi SPN usa una barra (/) per separare gli elementi, pertanto questo carattere non può essere visualizzato in un nome di classe del servizio.
"<host>" Nome del computer in cui è in esecuzione il servizio. Può trattarsi di un nome DNS completo o di un nome NetBIOS. Tenere presente che i nomi NetBIOS non sono necessariamente univoci in una foresta, pertanto un nome SPN che contiene un nome NetBIOS potrebbe non essere univoco.
"<port>" Numero di porta facoltativo per distinguere più istanze della stessa classe di servizio in un singolo computer host. Omettere questo componente se il servizio usa la porta predefinita per la relativa classe di servizio.
"<nome> servizio" Nome facoltativo usato nei nomi SPN di un servizio replicabile per identificare i dati o i servizi forniti dal servizio o dal dominio gestito dal servizio. Questo componente può avere uno dei formati seguenti:
  • Nome distinto o objectGUID di un oggetto in Dominio di Active Directory Services, ad esempio un punto di connessione del servizio (SCP).
  • Nome DNS del dominio per un servizio che fornisce un servizio specificato per un dominio nel suo complesso.
  • Nome DNS di un record SRV o MX.

 

I componenti presenti nei nomi SPN di un servizio dipendono dalla modalità di identificazione e replica del servizio. Esistono due scenari di base: servizi basati su host e servizi replicabili.

Servizi basati su host

Per un servizio basato su host, il componente "<nome> servizio" viene omesso perché il servizio viene identificato in modo univoco dalla classe del servizio e dal nome del computer host in cui è installato il servizio.

<service class>/<host>

La sola classe di servizio è sufficiente per identificare per i client le funzionalità fornite dal servizio. È possibile installare istanze della classe di servizio in molti computer e ogni istanza fornisce servizi identificati con il computer host. FTP e Telnet sono esempi di servizi basati su host. I nomi SPN di un'istanza del servizio basata su host possono includere il numero di porta se il servizio usa una porta non predefinita o se nell'host sono presenti più istanze del servizio.

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

Servizi replicabili

Per un servizio replicabile possono esistere una o più istanze del servizio (repliche) e i client non differenziano la replica a cui si connettono perché ognuno fornisce lo stesso servizio. I nomi SPN per ogni replica hanno gli stessi componenti "<service class>" e "<service name", dove "<service name>>" identifica in modo più specifico le funzionalità fornite dal servizio. Solo i componenti "<host>" e facoltativi "<porta>" variano da SPN a SPN.

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

Un esempio di servizio replicabile è un'istanza di un servizio di database che fornisce l'accesso a un database specificato. In questo caso, "<classe> di servizio" identifica l'applicazione di database e "<nome> servizio" identifica il database specifico. "<service name>" può essere il nome distinto di un punto di connessione del servizio (SCP) contenente i dati di connessione per il database.

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

Se i client useranno il nome NetBIOS per comporre il nome SPN di un servizio, ogni replica deve anche registrare un NOME SPN contenente il nome NetBIOS.

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

Un altro esempio di un servizio replicabile è uno che fornisce servizi a un intero dominio. In questo caso, il componente "<service name>" è il nome DNS del dominio da gestire. Un KDC Kerberos è un esempio di questo tipo di servizio replicabile.

Tenere presente che se il nome DNS di un computer cambia, il sistema aggiorna l'elemento "<host>" per tutti i nomi SPN registrati per tale host nella foresta.