Configurare gli account utente della cache degli oggetti in SharePoint Server

SI APPLICA A:yes-img-132013 yes-img-162016 yes-img-192019 yes-img-seSubscription Edition no-img-sopSharePoint in Microsoft 365

La cache degli oggetti archivia le proprietà relative agli elementi in SharePoint Server. Gli elementi presenti in questa cache vengono utilizzati dalla caratteristica di pubblicazione durante il rendering di pagine Web. Gli obiettivi della cache oggetti sono ridurre il carico di lavoro per il computer in cui è in esecuzione SQL Server e migliorare la latenza e la velocità effettiva delle richieste. Per eseguire le query, la cache oggetti utilizza uno dei due account utente predefiniti, ovvero l'account utente con privilegi avanzati per il portale e l'account lettore con privilegi avanzati per il portale. Per un corretto funzionamento della cache oggetti, questi account utente devono essere configurati correttamente. L'account utente con privilegi avanzati per il portale deve disporre dell'accesso Controllo completo all'applicazione Web. L'account lettore con privilegi avanzati per il portale deve disporre dell'accesso Lettura completa all'applicazione Web.

Importante

L'account utente con privilegi avanzati per il portale e l'account lettore con privilegi avanzati per il portale devono essere due account separati e non devono corrispondere ad account utilizzati per l'accesso al sito.

Questo articolo spiega perché questi account utente della cache degli oggetti devono essere configurati e descrive come configurare gli account. Per informazioni sulla cache degli oggetti, vedere Operazioni sulle impostazioni della cache in SharePoint Server.

In SharePoint Server la query per gli elementi è collegata all'account utente che esegue la query. Vari componenti della caratteristica di pubblicazione eseguono query i cui risultati sono memorizzati nella cache oggetti. I risultati vengono memorizzati nella cache in base all'utente che esegue la query. Per ottimizzare la frequenza di riscontri nella cache e i requisiti di memoria, le query devono variare a seconda che un utente possa visualizzare o meno gli elementi bozza. Quando un controllo di pubblicazione richiede alla cache oggetti di eseguire una query per recuperare alcuni dati, la cache esegue la query due volte, una utilizzando l'account utente con privilegi avanzati per il portale e una utilizzando l'account lettore con privilegi avanzati per il portale. I risultati di queste due query vengono memorizzati nella cache oggetti. I risultati per l'account utente con privilegi avanzati per il portale includono gli elementi bozza, mentre i risultati per l'account lettore con privilegi avanzati per il portale includono solo gli elementi pubblicati. La cache oggetti verifica quindi gli elenchi di controllo di accesso (ACL, Access Control List) dell'utente che ha avviato la richiesta e restituisce i risultati appropriati a seconda che l'utente possa visualizzare o meno gli elementi bozza. Grazie all'aggiunta all'applicazione Web dell'account utente con privilegi avanzati per il portale e dell'account lettore con privilegi avanzati per il portale, la cache deve memorizzare risultati solo per due utenti. Questo consente un aumento del numero di risultati restituiti per una query e una riduzione della quantità di memoria necessaria per la cache.

Per impostazione predefinita, l'account utente con privilegi avanzati del portale è l'account di sistema del sito e l'account lettore con privilegi avanzati del portale è NT Authority\Local Service. L'utilizzo di account predefiniti pone due problemi.

  1. Il primo problema è che alcuni elementi vengono estratti nell'account di sistema, quindi quando viene eseguita una query che include questi elementi, viene restituita la versione estratta dell'elemento anziché la versione pubblicata più recente. Si tratta di un problema perché non è quello che un utente si aspetta di aver restituito, quindi la cache deve eseguire una seconda query per recuperare la versione corretta del file. Ciò influisce negativamente sulle prestazioni del server per ogni richiesta che include questi elementi. Lo stesso problema si verifica per qualsiasi utente con elementi estratti, se l'account dell'utente è stato impostato come account utente con privilegi avanzati del portale. Questo è il motivo per cui gli account configurati come utente con privilegi avanzati del portale e il lettore con privilegi avanzati del portale non devono essere account utente usati per accedere al sito. Ciò garantisce che l'utente non eserciti inavvertitamente gli elementi e causi problemi di prestazioni.

  2. L'account lettore con privilegi avanzati per il portale predefinito corrisponde a NT Authority\Servizio locale, che non viene risolto correttamente in un'applicazione di autenticazione basata su attestazioni. Di conseguenza, se l'account lettore con privilegi avanzati del portale non è configurato in modo esplicito per un'applicazione di autenticazione delle attestazioni, l'accesso alle raccolte siti in questa applicazione genererà un errore "Accesso negato", anche per l'amministratore del sito. Questo errore si verifica in tutti i siti che sfruttano qualsiasi caratteristica che utilizza esplicitamente la cache oggetti, ad esempio Infrastruttura di pubblicazione di SharePoint Server, lo spostamento basato su metadati, la web part Query contenuto o l'esplorazione.

Configurare gli account utente della cache oggetti tramite Amministrazione centrale e Windows PowerShell

È possibile configurare gli account utente per la cache degli oggetti tramite il sito Web Amministrazione centrale SharePoint e Microsoft PowerShell. È prima necessario creare gli account in Amministrazione centrale e quindi aggiungere gli account all'applicazione Web usando PowerShell. Gli account utente devono essere aggiunti a ogni applicazione Web.

Attenzione

Al termine della procedura, è necessario reimpostare Internet Information Services (IIS) per applicare le modifiche all'applicazione Web. Eseguire questa procedura in momenti in cui i disagi per gli utenti connessi al sito sono minimi. Per altre informazioni su IISReset, vedere Attività di reimpostazione IIS.

Per creare gli account utente utilizzando Amministrazione centrale

  1. Verificare che l'account utente che esegue questa procedura sia membro del gruppo Amministratori farm nel computer che esegue il sito Web Amministrazione centrale SharePoint.

  2. Nella sezione Gestione applicazioni di Amministrazione centrale fare clic su Gestisci applicazioni Web e quindi sul nome dell'applicazione Web da configurare.

  3. Nel gruppo Criteri della scheda Applicazioni Web fare clic su Criteri utenti.

  4. Nella finestra Criteri per l'applicazione Web fare clic su Aggiungi utenti.

  5. Nell'elenco Aree selezionare Tutte le aree e quindi fare clic su Avanti.

  6. Nella casella Utenti digitare il nome utente per l'account utente con privilegi avanzati del portale e quindi fare clic su Controlla nomi per assicurarsi che il nome dell'account possa essere risolto dai provider di autenticazione nel server applicazioni.

  7. Nella sezione Scegli autorizzazioni selezionare la casella Controllo completo - Controllo completo e quindi fare clic su Fine.

  8. Ripetere i passaggi da 5 a 7 per l'account lettore con privilegi avanzati del portale.

  9. Nella sezione Selezione autorizzazioni selezionare la casella Lettura completa - Accesso completo in sola lettura.

  10. Fare clic su Fine.

  11. Osservare il modo in cui i nomi degli account lettore con privilegi avanzati e utente con privilegi avanzati della cache oggetti vengono visualizzati nella colonna Nome utente. Le stringhe visualizzate saranno diverse a seconda che per l'applicazione Web venga utilizzata o meno l'autenticazione basata sulle attestazioni.

Per aggiungere gli account utente all'applicazione Web tramite Microsoft PowerShell

  1. Verificare di essere membri dei ruoli e dei gruppi seguenti:
  • Ruolo predefinito del server securityadmin nell'istanza di SQL Server.

  • Ruolo predefinito del database db_owner in tutti i database da aggiornare.

  • Gruppo Administrators sul server sul quale si eseguono i cmdlet di PowerShell.

  • Aggiungere le appartenenze necessarie oltre ai livelli minimi sopra indicati.

    Un amministratore può utilizzare il cmdlet Add-SPShellAdmin per concedere le autorizzazioni per l'utilizzo dei cmdlet di SharePoint Server.

    Nota

    [!NOTA] Se non si dispone delle autorizzazioni, richiederle all'amministratore per l'installazione o all'amministratore di SQL Server. Per ulteriori informazioni sulle autorizzazioni di PowerShell, vedere gli argomenti relativi alle autorizzazioni e Add-SPShellAdmin.

  1. Incollare il codice seguente in un editor di testo, ad esempio Blocco note:
$wa = Get-SPWebApplication -Identity "<WebApplication>"
$wa.Properties["portalsuperuseraccount"] = "<SuperUser>"
$wa.Properties["portalsuperreaderaccount"] = "<SuperReader>"
$wa.Update()
  1. Sostituire i segnaposto seguenti con i valori desiderati:
  • <WebApplication> è il nome dell'applicazione Web a cui verranno aggiunti gli account.

  • <SuperUser> è l'account da usare per l'account utente con privilegi avanzati del portale come visualizzato nella colonna Nome utente indicata nel passaggio 11 della procedura precedente.

  • <SuperReader> è l'account da usare per l'account lettore con privilegi avanzati del portale, come illustrato nella colonna Nome utente indicata nel passaggio 11 della procedura precedente.

  1. Salvare il file con il nome SetUsers.ps1.

    Nota

    È possibile utilizzare un nome diverso, ma è necessario effettuare il salvataggio come file di testo con codifica ANSI ed estensione ps1.

  2. Chiudere l'editor di testo.

  3. Aprire SharePoint Management Shell.

  4. Passare alla directory in cui è stato salvato il file.

  5. Al prompt dei comandi di PowerShell digitare il comando seguente: ./SetUsers.ps1

  6. Reimpostare Internet Information Services (IIS). Per altre informazioni su IISReset, vedere Avviare o arrestare il server Web (IIS 8).

Vedere anche

Concetti

Cache settings operations in SharePoint Server