Condividi tramite


Procedure consigliate per l'uso di autorizzazioni specifiche 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

Le autorizzazioni specifiche possono influire sulla sicurezza di una farm di SharePoint. Quando vengono usate, possono verificarsi potenziali problemi di prestazioni. Le informazioni seguenti consentono di risolvere i problemi che potrebbero essere causati dall'uso improprio delle autorizzazioni specifiche in un ambiente.

È possibile evitare le autorizzazioni specifiche procedendo come segue:

  • Interrompere il meno frequentemente possibile l'ereditarietà delle autorizzazioni.

  • Usare gruppi basati sull'appartenenza a cartelle per assegnare le autorizzazioni.

  • A causa di una modifica apportata alle funzionalità di ricerca per indicizzazione continua inSharePoint Server, che ora includono informazioni di sicurezza, non è più consigliabile evitare di usare gruppi di SharePoint per gestire le appartenenze dinamiche di utenti e gruppi. Nelle versioni precedenti a SharePoint Server, l'uso di appartenenze dinamiche nei gruppi di SharePoint poteva causare la visualizzazione non corretta dei risultati di una ricerca per tutti i membri finché non veniva eseguita una ricerca per indicizzazione completa dopo la modifica dell'appartenenza. Ora, con la funzionalità di ricerca per indicizzazione continua che include informazioni di sicurezza, una modifica all'appartenenza dinamica o ad altri aspetti della sicurezza verrà rilevata prima (il valore predefinito è 15 minuti) e verrà usata per la limitazione dei risultati delle query di ricerca.

  • Assegnare le autorizzazioni al massimo livello possibile. Nell'ambito di questa strategia, valutare le tecniche seguenti:

    • Inserire i documenti che richiedono autorizzazioni specifiche in raccolte documenti definite per supportare ogni gruppo di autorizzazioni. Conservare le raccolte documenti in una raccolta siti o in un sito distinto.

    • Usare livelli di pubblicazione di documenti diversi per controllare l'accesso. Prima della pubblicazione di un documento, è possibile impostare le autorizzazioni avanzate e le impostazioni del controllo delle versioni per gli utenti che possono solo approvare gli elementi nella raccolta documenti.

    • Per le raccolte non di documenti (elenchi) usare i livelli di autorizzazione ReadSecurity e WriteSecurity. Quando viene creato un elenco, i proprietari possono impostare le autorizzazioni a livello di elemento su accesso in lettura o su creazione e modifica.

Prima di iniziare

Prima di iniziare questa operazione, consultare le seguenti informazioni sui prerequisiti:

Procedure consigliate per evitare i comuni problemi legati ai limiti delle autorizzazioni specifiche

Se è necessario usare autorizzazioni specifiche in base a particolari requisiti aziendali, considerare le procedure consigliate seguenti:

  • Assicurarsi di non avere troppi elementi allo stesso livello di gerarchia nelle raccolte documenti, perché aumenta il tempo necessario per elaborare gli elementi nelle visualizzazioni.

  • Usare gestori eventi per controllare l'autorizzazione di modifica. È possibile impostare un gestore eventi che registra un evento usando i metodi SPEventReceiverType.ItemUpdating e SPEventReceiverType.ItemUpdated, quindi usare il codice per controllare se consentire o meno l'aggiornamento. Questa funzionalità è estremamente potente, perché è possibile prendere decisioni sulla sicurezza in base a qualsiasi metadato di un elenco o elemento, senza influire sulle prestazioni di rendering della visualizzazione.

  • Usare il metodo AddToCurrentScopeOnly per assegnare un'appartenenza con accesso limitato in un gruppo di SharePoint. L'elemento chiave di questo principio consiste nel riprogettare l'architettura in modo che l'appartenenza all'ambito non causi il ricalcolo dell'elenco di Controllo di accesso (ACL) nella raccolta documenti e nel Web padre. Per altre informazioni sulle modifiche dell'ambito, vedere Problema 3: usare autorizzazioni specifiche in base alle modifiche nella struttura dell'ambito (solo 2010).

Quando si usano autorizzazioni con granularità fine, è facile riscontrare involontariamente limiti che impediscono la risoluzione delle autorizzazioni. Questa sezione descrive alcuni di questi limiti e le procedure consigliate per impostarli in modo da consentire la corretta risoluzione delle autorizzazioni.

Troppi ambiti in un elenco

Esiste un limite predefinito di 50.000 ambiti per elenco o raccolta documenti. Quando viene raggiunto questo limite, non è più consentito aggiungere nuovi ambiti in uno specifico elenco o raccolta documenti.

Procedure consigliate:

  • Impostare ambiti univoci solo sugli oggetti padre, ad esempio le cartelle.

  • Non creare un sistema con molti oggetti autorizzati in modo univoco sotto un oggetto con molti ambiti.

  • Se l'organizzazione richiede più di 50.000 elementi con autorizzazioni univoche in un elenco o raccolta documenti, è necessario spostare alcuni elementi in un elenco o raccolta documenti differente.

Cambiare il limite predefinito di ambiti

Cambiare il limite predefinito di ambiti usando uno script di Microsoft PowerShell.

Per cambiare il limite predefinito di ambiti con Windows 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 nel server in cui 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 2016.

    Nota

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

  1. Avviare SharePoint Management Shell.

  2. Al prompt dei comandi di PowerShell digitare il comando seguente:

    $webapp = Get-SPWebApplication http://<serverName>
    $webapp.MaxUniquePermScopesPerList
    $webapp.MaxUniquePermScopesPerList = <Number of scope limit>
    

    Dove:

    • Dove <serverName> è il nome del server applicazioni nella farm di SharePoint.

    • Dove <Numero di limiti> di ambito è il numero massimo di ambiti di autorizzazioni univoci che si desidera consentire per ogni elenco di SharePoint. Spesso, il limite effettivo è di molto inferiore a 50.000 se esistono molti ambiti allo stesso livello gerarchico. Il motivo è che i controlli di visualizzazione per rilevare elementi sotto questo livello gerarchico devono essere effettuati rispetto a tutti gli ambiti al di sopra. A causa di questa limitazione, il numero effettivo di ambiti consentiti in una specifica query viene ridotto a 1.000 - 2.000.

Nota

[!NOTA] Per l'esecuzione di attività amministrative dalla riga di comando è consigliabile utilizzare Windows PowerShell. Lo strumento da riga di comando Stsadm è deprecato, ma è stato incluso per garantire la compatibilità con le versioni precedenti del prodotto.

Troppi membri in un ambito di autorizzazioni

Come descritto in precedenza, un ACL binario viene calcolato quando cambia l'appartenenza all'ambito di autorizzazione associato. Ciò include anche il caso in cui viene aggiunto un nuovo membro con accesso limitato. Man mano che aumenta il numero di appartenenza all'ambito, aumenta il tempo necessario per ricalcolare l'elenco di controllo di accesso binario.

Il problema può aggravarsi perché l'aggiunta di utenti nell'ambito univoco di un oggetto figlio causa l'aggiornamento degli ambiti padre con i nuovi membri con accesso limitato, anche se in ultima analisi non si verificano modifiche all'appartenenza agli ambiti padre. In questo caso, dovrà essere ricalcolato anche l'elenco di controllo di accesso binario per gli ambiti padre, con un conseguente aumento del tempo di elaborazione, anche se l'elenco di controllo di accesso in definitiva rimane inalterato.

Procedura consigliata:

Scegliere l'appartenenza a gruppi invece dell'appartenenza di singoli utenti negli ambiti delle autorizzazioni. Se ad esempio è possibile usare un singolo gruppo invece di 1.000 singoli utenti, l'ambito delle autorizzazioni e gli eventuali ambiti padre conterranno 999 voci di appartenenza in meno. Inoltre, i diritti di accesso limitato verranno aggiornati per il singolo gruppo e non per ogni singolo utente. Sarà anche possibile aumentare la velocità della distribuzione push di diritti di accesso limitato e del ricalcolo dell'elenco di controllo di accesso sugli oggetti degli ambiti padre.

Importante

L'uso di un gruppo di SharePoint genererà una ricerca per indicizzazione completa dell'indice. Se possibile, usare un gruppo di dominio.

Gerarchia degli ambiti molto profonda

Come indicato in precedenza, la profondità gerarchica degli ambiti di autorizzazioni può influire sulla quantità di operazioni necessarie per aggiungere utenti con accesso limitato agli ambiti padre. A un numero maggiore di ambiti univoci sopra un elemento, fino al Web con autorizzazioni univoche incluso, corrisponde un numero maggiore di aggiunte che è necessario effettuare. Se una gerarchia di ambiti è molto profonda, una modifica dell'appartenenza a un ambito può richiedere molto tempo, in quanto per ogni modifica di appartenenza nell'elemento dell'ambito più profondo sarà necessario aggiornare in modo iterativo gli ambiti padre con un'aggiunta di appartenenza per l'utente o il gruppo con diritti di accesso limitato aggiunto esplicitamente. Si verificherà inoltre un aumento del numero di elenchi di controllo di accesso binari da ricalcolare, con conseguenti effetti sulle prestazioni.

Procedura consigliata:

Ridurre il numero di oggetti padre con autorizzazioni univoche. In questo modo sarà possibile ridurre il numero di ambiti da aggiornare con membri con accesso limitato quando cambia l'ambito di qualsiasi oggetto figlio.