Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Numero KB originale: 4501051
Sintomi
Si ricevono errori dopo aver modificato l'impostazione Sicurezza di rete: configurare i tipi di crittografia consentiti per Kerberos tramite criteri locali o oggetti Criteri di gruppo dai valori predefiniti a un valore che consente solo i tipi di crittografia seguenti:
- AES128_HMAC_SHA1
- AES256_HMAC_SHA1
- Tipi di crittografia futuri
Se gli errori vengono scritti nei log uls (Universal Logging System) di SharePoint, indicano che il tipo di crittografia richiesto non è supportato dal KDC. Le azioni che attivano questi errori includono (ma non sono limitate a):
- Accesso alla pagina Gestisci account del servizio in Amministrazione centrale
- Accesso alla pagina Amministrazione ricerca (la topologia di ricerca potrebbe non essere visualizzata)
- Apportare modifiche alla configurazione di ricerca
Il messaggio di errore sottostante scritto nei log ULS di SharePoint è:
Eccezione: System.ServiceModel.Security.SecurityNegotiationException: una chiamata a SSPI non riuscita, vedere l'eccezione interna.
---> System.Security.Authentication.AuthenticationException: una chiamata a SSPI non riuscita, vedere l'eccezione interna.
>--- System.ComponentModel.Win32Exception: il tipo di crittografia richiesto non è supportato dal KDC
--- Fine dell'analisi dello stack di eccezioni interna ---
L'applicazione del servizio Project Server potrebbe anche registrare un messaggio simile:
PWA:
https://<SharePoint>/<Site>
, ServiceApp:PWA, User:i:0#.w|Domain\UserId,
PSI: impossibile inviare la notifica del processo alla coda per guid> del sito<, eccezione System.ServiceModel. Security.SecurityNegotiationException: una chiamata a SSPI non riuscita, vedere l'eccezione interna.
>--- System.Security.Authentication.AuthenticationException: una chiamata a SSPI non è riuscita, vedere l'eccezione interna.
>--- System.ComponentModel.Win32Exception: il tipo di crittografia richiesto non è supportato dal KDC
Durante il processo di provisioning di Servizi profili utente, non è possibile avviare il servizio di sincronizzazione profili utente.
Quando si avvia il servizio profili utente in Amministrazione centrale, il servizio viene avviato e quindi si arresta immediatamente. L'ispezione dell'ULS di SharePoint indica che l'errore di avvio è il risultato di quanto segue:
"UserProfileApplication.SynchronizeMIIS: Non è stato possibile configurare ILM, tenterà di rieseguire.
Eccezione: System.Security.SecurityException: il tipo di crittografia richiesto non è supportato dal KDC."
Altri componenti potrebbero scrivere messaggi di errore che indicano che il tipo di crittografia richiesto non è supportato dal KDC.
Causa
Questo comportamento si verifica a causa di un conflitto tra i criteri locali o i criteri di gruppo personalizzati e le proprietà dell'account del servizio in Active Directory. Quando si configura l'impostazione della proprietà Sicurezza di rete: configurare i tipi di crittografia consentiti per Kerberos in modo che il server supporti solo i tipi di crittografia AES e i tipi di crittografia futuri, il server non supporta i tipi di crittografia Kerberos meno recenti nei ticket Kerberos. È anche importante notare che gli oggetti account utente creati in Active Directory non sono configurati per supportare la crittografia Kerberos AES per impostazione predefinita.
Se il server è configurato per richiedere tipi di crittografia AES per Kerberos, ma le proprietà dell'account del servizio in Active Directory non sono state aggiornate per supportare la crittografia AES, il risultato è uno scenario in cui il server non è in grado di negoziare un tipo di crittografia comune per i ticket Kerberos.
Risoluzione
Per risolvere il problema, seguire questa procedura:
Identificare tutti gli account usati all'interno di SharePoint come account del pool di applicazioni e account di servizio.
Individuare gli account in Utenti e computer di Active Directory.
Selezionare Proprietà.
Fare clic sulla scheda Account.
Nella sezione Opzioni account verificare che sia selezionata una o entrambe le opzioni seguenti. In questo modo viene abilitato il supporto per la crittografia Kerberos AES in questi oggetti utente:
- Questo account supporta la crittografia AES 128 bit Kerberos
- Questo account supporta la crittografia AES 256 bit Kerberos
Eseguire un oggetto
iisreset
nei server e riavviare tutti i servizi correlati a SharePoint in esecuzione nel contesto degli account del servizio modificati.
Se il problema non è stato risolto, provare la risoluzione in SCCM: "Il tipo di crittografia richiesto non è supportato dal KDC" Errore durante l'esecuzione di report.
Ulteriori informazioni
Per verificare se il server SharePoint è configurato per supportare solo i tipi di crittografia AES o i tipi più recenti:
- Nel server avviare l'Editor criteri di sicurezza locali (secpol.msc).
- Espandere Impostazioni di sicurezza Opzioni>di sicurezza dei criteri>locali.
- Individuare Sicurezza di rete: configurare i tipi di crittografia consentiti per Kerberos.
- Selezionare Proprietà.
Se sono selezionate solo le opzioni seguenti:
- AES128_HMAC_SHA1
- AES256_HMAC_SHA1
- Tipi di crittografia futuri
È quindi necessario abilitare il supporto per la crittografia AES Kerberos negli oggetti utente di Active Directory usati per eseguire i servizi e i pool di applicazioni di SharePoint.
È possibile usare lo script di PowerShell seguente per identificare gli account del servizio SharePoint e verificare se sono configurati per supportare i tipi di crittografia AES:
Add-PSSnapin Microsoft.SharePoint.Powershell
$AES_128 = 0x8
$AES_256 = 0x10
$Separator="\"
$option = [System.StringSplitOptions]::RemoveEmptyEntries
Write-Host "Retrieving SharePoint Managed Accounts" -ForegroundColor White
$SharePointAccounts=""
$ManagedAccounts=Get-SPManagedAccount
foreach ($ManagedAccount in $ManagedAccounts)
{
Write-Host "Checking Account: "$ManagedAccount.Username
$temp=$ManagedAccount.Username
$samaccountName=$temp.Split($separator,2, $option)[1]
$userobj=([adsisearcher]"samAccountName=$samaccountName").FindOne()
$EncryptionTypes=$userobj.properties.Item('msds-supportedencryptiontypes')[0]
#$EncryptionTypes
$HexValue='{0:X}' -f $EncryptionTypes
if ($EncryptionTypes -band $AES_128)
{
Write-Host "Account Supports AES128 bit encryption " -ForegroundColor Green
}
Else
{
Write-Host "Account Does Not have AES128 bit encryption support enabled" -ForegroundColor Red
}
if ($EncryptionTypes -band $AES_256)
{
Write-Host "Account Supports AES256 bit encryption " -ForegroundColor Green
}
Else
{ Write-Host "Account Does Not have AES256 bit encryption support enabled" -ForegroundColor Red
}
}
====================== END SCRIPT ========================================================