Unicità di SPN e UPN
Autore: Justin Turner, Senior Support Escalation Engineer del gruppo Windows
Nota
Questo contenuto è stato redatto da un ingegnere del Supporto tecnico Microsoft ed è destinato ad amministratori esperti e architetti di sistemi che desiderano una spiegazione tecnica delle funzionalità e delle soluzioni relative a Windows Server 2012 R2 più approfondita rispetto agli argomenti solitamente disponibili su TechNet. Non è stato tuttavia sottoposto agli stessi passaggi redazionali e, di conseguenza, per alcune lingue potrebbe essere meno accurato della documentazione che si trova in genere su TechNet.
Panoramica
I controller di dominio che eseguono Windows Server 2012 R2 blocco la creazione di duplicare i nomi dell'entità servizio (SPN) e i nomi dell'entità utente (UPN). Sono inclusi se il ripristino o il recupero di un oggetto eliminato o la ridenominazione di un oggetto comporta un duplicato.
Background
Duplicati principale nomi servizio (SPN) in genere si verificano e causare errori di autenticazione e può comportare l'utilizzo eccessivo della CPU di LSASS. Non esiste alcun metodo incorporato per bloccare l'aggiunta di un nome SPN o UPN duplicato. *
I valori UPN duplicati interrompere la sincronizzazione tra locale AD e Office 365.
*Setspn.exe viene comunemente utilizzato per creare nuovi nomi SPN e funzionale è stato creato nella versione rilasciata con Windows Server 2008 che viene aggiunto un controllo di duplicati.
Tabella SEQ tabella \* 1 ARABO: unicità SPN e UPN
Funzionalità di | Comment |
---|---|
Univocità UPN | Gli UPN duplicati interrompono la sincronizzazione degli account AD locali con i servizi basati su Microsoft Entra ID, ad esempio Office 365. |
Unicità SPN | Kerberos richiede nomi SPN per l'autenticazione reciproca. SPN duplicati causare errori di autenticazione. |
Per ulteriori informazioni sui requisiti di univocità per i nomi SPN e UPN, vedere vincoli di unicità.
Sintomi
Codici di errore 8467 o 8468 o loro esadecimale, simbolici o stringhe equivalenti sono registrati sullo schermo in diverse finestre di dialogo e nell'evento 2974: ID nel registro eventi di servizi di Directory. Il tentativo di creare un nome UPN o SPN duplicati viene bloccato solo nelle circostanze seguenti:
- La scrittura viene elaborata da Windows Server 2012 R2 controller di dominio
Tabella SEQ tabella \* 2 ARABO: codici di errore di unicità SPN e UPN
Decimale | Hex | Simbolico | Stringa |
---|---|---|---|
8647 | 21C 7 | ERROR_DS_SPN_VALUE_NOT_UNIQUE_IN_FOREST | L'operazione non riuscita perché il valore di nome SPN specificato per l'aggiunta/modifica non è univoco a livello di foresta. |
8648 | 8 21C | ERROR_DS_UPN_VALUE_NOT_UNIQUE_IN_FOREST | L'operazione non riuscita perché il valore UPN specificato per l'aggiunta/modifica non è univoco a livello di foresta. |
Nuova creazione dell'utente non riesce se non è univoco UPN
DSA.msc
Il nome di accesso utente che si è scelto è già in uso nell'organizzazione. Scegliere un altro nome di accesso e quindi riprovare.
Modificare un account esistente:
Il nome di accesso utente specificato esiste già nell'organizzazione. Specificare uno nuovo, la modifica del prefisso o selezionando un suffisso diverso dall'elenco.
Centro di amministrazione di Active Directory (DSAC.exe)
Un tentativo di creare un nuovo utente nel centro di amministrazione di Active Directory con un nome UPN che esiste già, restituisce l'errore seguente.
Figura SEQ figura\* ARABO 1 errore visualizzato nel centro di amministrazione di Active Directory quando la creazione di nuovi utenti non riesce a causa di UPN duplicato
Origine evento 2974:: ActiveDirectory DomainService
Figura SEQ figura\* ARABO 2974 di ID evento 2 con errore 8648
Evento 2974: Elenca il valore che è stato bloccato e un elenco di uno o più oggetti (fino a 10) che già contengono quel valore. Nella figura riportata di seguito, è possibile visualizzare il valore dell'attributo UPN dhunt@blue.contoso.com è già presente nei quattro altri oggetti. Poiché si tratta di una nuova funzionalità di Windows Server 2012 R2, la creazione accidentale di duplicati UPN e SPN in un ambiente misto verrà generato anche quando i controller di dominio di livello inferiore di elaborare il tentativo di scrittura.
Figura SEQ figura\* 2974 di eventi 3 ARABO che mostra tutti gli oggetti che contiene il nome UPN duplicato
Suggerimento
Esaminare regolarmente a 2974s ID evento:
- identificare i tentativi di creare nomi SPN o UPN duplicato
- identificare gli oggetti che contengono duplicati
8648 = “L'operazione non è riuscita perché il valore UPN specificato per l'aggiunta/modifica non è univoco a livello di foresta.
SetSPN:
Setspn.exe ha SPN il rilevamento dei duplicati è incorporato dopo il rilascio di Windows Server 2008 quando si utilizza il "-S" (opzione). È possibile ignorare il rilevamento di SPN duplicato utilizzando il "-A" opzione tuttavia. Creazione di un SPN duplicato viene bloccata quando si fa riferimento a un Windows Server 2012 R2 controller di dominio utilizzando SetSPN con l'opzione - A. Il messaggio di errore visualizzato è lo stesso di quello visualizzato quando si utilizza l'opzione -S: "Duplicate SPN trovato, l'operazione di interruzione!"
ADSIEDIT:
Operation failed. Error code: 0x21c8
The operation failed because UPN value provided for addition/modification is not unique forest-wide.
000021C8: AtrErr: DSID-03200BBA, #1: 0: 000021C8: DSID-03200BBA, problem 1005 (CONSTRAINT_ATT_TYPE), data 0, Att 90290 (userPrincipalName)
Figura SEQ figura\* messaggio di errore di 4 ARABO visualizzato in ADSIEdit quando viene bloccato l'aggiunta di UPN duplicato
Windows PowerShell
Windows Server 2012 R2:
PowerShell in esecuzione da Server 2012, Windows Server 2012 R2 controller di dominio di destinazione:
DSAC.exe in esecuzione su Windows Server 2012, Windows Server 2012 R2 controller di dominio di destinazione:
Figura SEQ figura\* errore di creazione utente ARABO DSAC 5 su non - Windows Server 2012 R2 durante l'assegnazione di controller di dominio di Windows Server 2012 R2
Figura SEQ figura\* errore di modifica utente DSAC 6 ARABO sul non - Windows Server 2012 R2 durante l'assegnazione di controller di dominio di Windows Server 2012 R2
Ripristino di un oggetto che può determinerebbe un UPN duplicato ha esito negativo:
Nessun evento viene registrato quando un oggetto non è possibile ripristinare a causa di un UPN duplicato o SPN.
L'UPN dell'oggetto deve essere univoco in modo tale da ripristinare.
Identificare il nome UPN che esiste nell'oggetto nel Cestino
Identificare tutti gli oggetti che hanno lo stesso valore
Rimuovere i duplicati UPN(s)
Identificare l'UPN in conflitto di repadmin.exe di objectUsing eliminato
Repadmin /showattr DCName "DN of deleted objects container" /subtree /filter:"(msDS-LastKnownRDN=<NAME>)" /deleted /atts:userprincipalname
repadmin /showattr DCName "CN=Deleted Objects,DC=blue,DC=contoso,DC=com" /subtree /filter:"(msDS-LastKnownRDN=Dianne Hunt2)" /deleted /atts:userprincipalname
C:\>repadmin /showattr winbluedc1 "cn=deleted objects,dc=blue,dc=contoso,dc=com" /subtree /filter:"(msds-lastknownrdn=Dianne Hunt2)" /deleted /atts:userprincipalname
DN: CN=Dianne Hunt2\0ADEL:dd3ab8a4-3005-4f2f-814f-d6fc54a1a1c0,CN=Deleted Object
s,DC=blue,DC=contoso,DC=com
1> userPrincipalName: dhunt@blue.contoso.com
Per identificare tutti gli oggetti con la stessa UPN: utilizzando Repadmin.exe
repadmin /showattr WinBlueDC1 "DC=blue,DC=contoso,DC=com" /subtree /filter:"(userPrincipalName=dhunt@blue.contoso.com)" /deleted /atts:DN
C:\>repadmin /showattr winbluedc1 "dc=blue,dc=contoso,dc=com" /subtree /filter:"(userPrincipalName=dhunt@blue.contoso.com)" /deleted /atts:DN
DN: CN=Administrator,CN=Users,DC=blue,DC=contoso,DC=com
DN: CN=xouser1,CN=Users,DC=blue,DC=contoso,DC=com
DN: CN=xouser10,CN=Users,DC=blue,DC=contoso,DC=com
DN: CN=xouser100,CN=Users,DC=blue,DC=contoso,DC=com
DN: CN=Dianne Hunt,OU=Marketing,DC=blue,DC=contoso,DC=com
DN: CN=Dianne Hunt2\0ADEL:dd3ab8a4-3005-4f2f-814f-d6fc54a1a1c0,CN=Deleted Objects,DC=blue,DC=contoso,DC=com
Suggerimento
Precedentemente non documentati / eliminato parametro Repadmin.exe viene utilizzato per includere gli oggetti eliminati nel set di risultati
Utilizzo della ricerca globale
Centro di amministrazione aprire Active Directory e passare a ricerca globale
Selezionare il Converti in LDAP pulsante di opzione
Tipo (userPrincipalName =ConflictingUPN)
- Sostituire ConflictingUPN con l'UPN effettivo che è in conflitto
Selezionare Applica.
Tramite Windows PowerShell
Get-ADObject -LdapFilter "(userPrincipalName=dhunt@blue.contoso.com)" -IncludeDeletedObjects -SearchBase "DC=blue,DC=Contoso,DC=com" -SearchScope Subtree -Server winbluedc1.blue.contoso.com
Se l'oggetto deve essere ripristinato, sarà necessario rimuovere UPN duplicato da altri oggetti. Per un solo oggetto, è abbastanza semplice utilizzare ADSIEdit per rimuovere il duplicato. Se sono presenti più oggetti con i duplicati, Windows PowerShell potrebbe essere lo strumento migliore da utilizzare.
Per annullare l'attributo UserPrincipalName utilizzando Windows PowerShell:
Nota
L'attributo userPrincipalName è l'attributo a valore singolo, pertanto questa procedura verrà rimosso solo il nome UPN duplicato.
SPN duplicato
Figura SEQ figura\* messaggio ARABIC 8 errore visualizzato in ADSIEdit quando viene bloccato l'aggiunta del nome SPN duplicati
Registrato nei servizi Directory registro eventi è un ActiveDirectory DomainService ID evento 2974.
Operation failed. Error code: 0x21c7
The operation failed
The attribute value provided is not unique in the forest or partition. Attribute:
servicePrincipalName Value=<SPN>
<Object DN> Winerror: 8467
Figura SEQ figura\* ARABO 9 errore registrato quando viene bloccata la creazione di SPN duplicato
Workflow
Se DC = = GC
Nessuna chiamata offbox necessari, query può essere soddisfatta localmente
Caso UPN
Query a livello di foresta UPN indice locale per UPN specificato (userPrincipalName; un indice globale)
Se le voci restituite = = 0 -> procede di scrittura
Se le voci restituite! = 0 -> scrittura ha esito negativo
Evento registrato
Restituisce inoltre errore esteso:
8648:
ERROR_DS_UPN_VALUE_NOT_UNIQUE_IN_FOREST
Caso SPN
Query a livello di foresta SPN indice locale per nome SPN fornito (servicePrincipalName; un indice globale)
Se le voci restituite = = 0 -> procede di scrittura
Se le voci restituite! = 0 -> scrittura ha esito negativo
Evento registrato
Restituisce inoltre errore esteso:
8647:
ERROR_DS_SPN_VALUE_NOT_UNIQUE_IN_FOREST
Se DC = = GC
Chiamata di Offbox auspicabile ma non critico, cioè un controllo di univocità sforzo
Controllo procede contro DIT locale solo se non è possibile individuare GC
Evento registrato per indicare ad
Caso UPN
Inviare query LDAP GC più vicino? indice della query del catalogo globale a livello di foresta UPN per UPN specificato (userPrincipalName; un indice globale)
Se le voci restituite = = 0 -> procede di scrittura
Se le voci restituite! = 0 -> scrittura ha esito negativo
Evento registrato
Restituisce inoltre errore esteso:
8648:
ERROR_DS_UPN_VALUE_NOT_UNIQUE_IN_FOREST
Caso SPN
Inviare query LDAP GC più vicino? indice della query del catalogo globale a livello di foresta SPN per nome SPN fornito (servicePrincipalName; un indice globale)
Se le voci restituite = = 0 -> procede di scrittura
Se le voci restituite! = 0 -> scrittura ha esito negativo
Evento registrato
Restituisce inoltre errore esteso:
8647:
ERROR_DS_SPN_VALUE_NOT_UNIQUE_IN_FOREST
Quando gli oggetti eliminati vengono nuovamente animati, i valori SPN o UPN presenti sono verificati l'unicità. Se viene trovato un duplicato, la richiesta ha esito negativo.
Per alcune modifiche di attributo come nome Host DNS, nome Account SAM e così via, quando viene effettuata la modifica, i nomi SPN vengono aggiornati di conseguenza. Nel processo, i nomi SPN obsoleti vengono eliminati e nuovi nomi SPN vengono costruiti e aggiunti al database. Le modifiche necessarie attributo rispetto al quale viene attivato questo percorso sono:
ATT_DNS_HOST_NAME
ATT_MS_DS_ADDITIONAL_DNS_HOST_NAME
ATT_SAM_ACCOUNT_NAME
ATT_MS_DS_ADDITIONAL_SAM_ACCOUNT_NAME
ATT_SERVER_REFERENCE_BL
ATT_USER_ACCOUNT_CONTROL
Se un nuovo valore SPN è un duplicato, correttamente la modifica. L'elenco precedente, gli attributi più importanti sono ATT_DNS_HOST_NAME (nome del computer) e ATT_SAM_ACCOUNT_NAME (nome Account SAM).
Procedura: Esplorare unicità SPN e UPN
Questo è il primo di diversi "prova" attività nel modulo. Non è disponibile una Guida di laboratorio separato per questo modulo. Il prova le attività sono le attività in formato libero che consentono esplorare il materiale della lezione nell'ambiente di laboratorio. È possibile dopo il prompt o attraversa script e ideare proprie attività.
Nota
- Questo è il primo di diversi "prova" le attività.
- Non è disponibile una Guida di laboratorio separato per questo modulo.
- Il prova le attività sono essenzialmente le attività in formato libero che consentono esplorare il materiale della lezione nell'ambiente di laboratorio.
- È possibile dopo il prompt o attraversa script e ideare proprie attività.
- Sebbene non tutte le sezioni sono un prova prompt dei comandi, sono ancora invitati a esplorare il contenuto della lezione nel laboratorio dove appropriato.
Sperimentare unicità SPN e UPN. Seguire queste istruzioni o completare il proprio.
Creare nuovi utenti con UPN
Creare un account con SPN
Creare un nuovo utente con un nome UPN già precedentemente definito o cambiare l'UPN di un account esistente. Eseguire la stessa operazione per un nome SPN per un altro account
Popola un account utente con un nome UPN già in uso
- Utilizzando Active Directory, ADSIEDIT o PowerShell centro di amministrazione (DSAC.exe)
Popola un account esistente con un nome SPN già in uso
- Utilizzo di Windows PowerShell, ADSIEDIT o SetSPN
Osservare gli errori
Facoltativamente
Verificare con il docente di corsi che è comunque possibile abilitare il Cestino per Active Directory nel centro di amministrazione di Active Directory. In questo caso, passare al passaggio successivo.
Popolare l'UPN di un account utente
Eliminare l'account
Inserire un altro account con il nome UPN stesso come l'account eliminato
Tentativo di utilizzare la GUI di Bin Cestino per ripristinare l'account
Si supponga che sono state presentate con l'errore che viene visualizzato nel passaggio precedente. (e non dispone di una cronologia dei passaggi che appena eseguita) L'obiettivo consiste nel completare il ripristino dell'account. Vedere che i passaggi, ad esempio la cartella di lavoro.