Pianificare la sicurezza dei flussi di lavoro e la gestione degli utenti (SharePoint Foundation 2010)

 

Si applica a: SharePoint Foundation 2010

Ultima modifica dell'argomento: 2011-03-09

Prima della distribuzione dei flussi di lavoro in Microsoft SharePoint Foundation 2010 agli utenti, gli amministratori potrebbero avere dubbi su problemi relativi alla sicurezza, ad esempio la divulgazione di informazioni e l'elevazione dei privilegi. In questo articolo vengono evidenziati alcuni aspetti del comportamento dei flussi di lavoro che riguardano la sicurezza e vengono sollevate altre problematiche che gli amministratori e gli sviluppatori dei flussi di lavoro devono considerare durante la pianificazione della configurazione e lo sviluppo.

Contenuto dell'articolo:

Ruoli e responsabilità di gestori di elenchi, amministratori e sviluppatori

Di seguito sono riportate alcune azioni comuni relative ai flussi di lavoro e le relative responsabilità, che illustrano il ruolo di amministratori e sviluppatori nell'esecuzione dei flussi di lavoro.

Sviluppatori di flussi di lavoro

Sviluppare la pianificazione e il modello di flusso di lavoro   Gli sviluppatori dei flussi di lavoro sono responsabili della codifica dell'assembly che contiene la regola business che verrà eseguita in un elemento di SharePoint. Questo assembly è denominato pianificazione del flusso di lavoro. Sono inoltre responsabili della creazione di pacchetti dei moduli e dell'assembly del flusso di lavoro in una caratteristica flusso di lavoro o in un modello di flusso di lavoro.

Amministratori di siti

Gestire le impostazioni dei flussi di lavoro di Amministrazione centrale   Gli amministratori dei siti possono controllare le impostazioni generali dei flussi di lavoro, ad esempio i risultati degli avvisi per attività e le impostazioni relative ai partecipanti esterni nel sito Web Amministrazione centrale SharePoint.

Distribuire caratteristiche dei flussi di lavoro   Gli amministratori di siti possono installare le caratteristiche dei flussi di lavoro in una raccolta siti per renderle disponibili per l'associazione.

Gestori di elenchi (chiunque disponga delle autorizzazioni Gestione elenchi o Designer Web)

Aggiungere flussi di lavoro   Gli amministratori di elenchi devono associare, ovvero aggiungere, un modello di flusso di lavoro a un tipo elenco o contenuto, in base alle esigenze aziendali relative ai due tipi. Questa associazione rende il modello di flusso di lavoro disponibile agli utenti finali, che possono quindi selezionare i valori e le impostazioni predefiniti.

Rimuovere flussi di lavoro   Gli amministratori di elenchi possono rimuovere le associazioni dei flussi di lavoro da un elenco o da un tipo di contenuto oppure impedire l'esecuzione di nuove istanze.

Interrompere un flusso di lavoro   Se un'istanza di flusso di lavoro non riesce, gli amministratori di elenchi possono interrompere un'istanza del flusso di lavoro in esecuzione, ad esempio quando un'istanza genera un errore o non viene avviata, tramite il collegamento Interrompi subito questo flusso di lavoro nella pagina Stato flusso di lavoro. Questa azione è riservata agli amministratori.

Esecuzione di flussi di lavoro come amministratore

Il concetto più importante relativo alla sicurezza è che i flussi di lavoro vengono eseguiti insieme all'account di sistema in SharePoint Foundation 2010, mediante le impostazioni dell'identità del pool di applicazioni nel computer server e nel dominio. Ciò significa che all'interno di SharePoint Foundation 2010 i flussi di lavoro dispongono delle autorizzazioni di amministratore. Sul server, i flussi di lavoro dispongono delle stesse autorizzazioni del pool di applicazioni, che spesso dispone delle autorizzazioni di amministratore. Tali autorizzazioni consentono ai flussi di lavoro di eseguire azioni non eseguibili dagli utenti ordinari, quali l'instradamento di un documento in una posizione specifica o al Centro record, oppure l'aggiunta di un account utente al sistema.

Questa impostazione, ovvero il fatto che i flussi di lavoro dispongono delle autorizzazioni di amministratore, non può essere modificata. Spetta alla pianificazione del flusso di lavoro (vale a dire al codice del flusso di lavoro) rilevare le azioni degli utenti e, in base a tali azioni, continuare con le modifiche o eseguire il rollback, oppure rappresentare un utente per simularne le autorizzazioni.

Quando distribuiscono flussi di lavoro, gli amministratori devono capire le azioni che verranno eseguite dal flusso di lavoro in modo da poter valutare i possibili rischi associati all'elevazione delle autorizzazioni in un flusso di lavoro e consentire agli sviluppatori di chiarire eventuali dubbi sulla sicurezza.

Impostazioni della configurazione dei flussi di lavoro

In SharePoint Foundation 2010 sono incluse impostazioni di configurazione che devono essere impostate dagli amministratori in base alle proprie esigenze di sicurezza.

Autorizzazioni necessarie per avviare un flusso di lavoro

Oltre a impedire l'elevazione delle autorizzazioni nel codice, gli amministratori di elenchi possono limitare il livello di autorizzazioni necessario per avviare un flusso di lavoro durante il processo di associazione. Gli amministratori possono selezionare uno dei due livelli di autorizzazioni per avviare l'associazione di un flusso di lavoro specifico: Modifica elemento o Gestione elenchi.

L'impostazione predefinita per l'associazione di un flusso di lavoro consente agli utenti che dispongono delle autorizzazioni di modifica elemento di avviare manualmente un flusso di lavoro. Ciò significa che qualsiasi utente di SharePoint Foundation 2010 autenticato nell'elenco che dispone delle autorizzazioni di modifica elemento può avviare un'istanza di questa associazione di flusso di lavoro. Se durante la creazione del flusso di lavoro l'amministratore seleziona l'opzione che richiede all'utente di disporre delle autorizzazioni di gestione elenchi per avviare un flusso di lavoro, solo gli amministratori di elenchi possono avviare un'istanza di questa associazione.

Poiché i flussi di lavoro sono stati progettati per essere utilizzati da collaboratori standard, la maggior parte dei flussi di lavoro non richiede la limitazione delle autorizzazioni di gestione elenchi. Gli amministratori possono tuttavia utilizzare questa impostazione per determinati flussi di lavoro, ad esempio quelli per la dismissione di documenti, quando desiderano che solo determinate persone eseguano le azioni di dismissione.

Impostazioni di Amministrazione centrale

Le impostazioni riportate di seguito sono disponibili nella pagina Amministrazione centrale facendo clic su Gestione applicazioni e quindi su Gestisci applicazioni Web nella sezione Applicazioni Web. Nella pagina Applicazioni Web selezionare l'applicazione Web che si desidera configurare, fare clic su Impostazioni generali nel gruppo Gestisci della barra multifunzione e quindi selezionare Flusso di lavoro. Verrà visualizzata la pagina Impostazioni flusso di lavoro con le impostazioni seguenti:

  • Flussi di lavoro definiti dall'utente

  • Notifiche attività flusso di lavoro

Abilitare i flussi di lavoro definiti dall'utente

Per impostazione predefinita, i flussi di lavoro definiti dall'utente sono abilitati per tutti i siti nell'applicazione Web, come mostrato nella sezione Flussi di lavoro definiti dall'utente della pagina Impostazioni flusso di lavoro. Quando questa opzione è selezionata, gli utenti possono definire i flussi di lavoro in un editor di flussi di lavoro quale quello incluso in SharePoint Designer 2010. Gli utenti che definiscono tali flussi di lavoro devono disporre delle autorizzazioni di gestione elenchi sul sito nel quale distribuiscono il flusso di lavoro.

Notifiche per le attività per gli utenti senza accesso al sito

Nella pagina Impostazioni flusso di lavoro, nella sezione Notifiche attività flusso di lavoro è possibile impostare opzioni per l'invio delle notifiche sulle attività del flusso di lavoro in sospeso agli utenti che non dispongono dell'accesso al sito.

-
Utenti interni

In SharePoint Foundation 2010 è possibile risolvere nel servizio directory i nomi degli utenti interni che non sono membri del sito o che non hanno accesso a tale attività. In questo caso, un amministratore può selezionare l'opzione **Invia avviso agli utenti interni senza accesso al sito per l'assegnazione di un'attività del flusso di lavoro** nella sezione **Notifiche attività flusso di lavoro** per impostare l'invio a tali utenti di una notifica per l'attività tramite posta elettronica. Ciò significa che gli utenti vengono avvisati quando viene assegnata loro un'attività del flusso di lavoro. Questa opzione è abilitata per impostazione predefinita. Il messaggio di posta elettronica ricevuto dagli utenti contiene un collegamento su cui è possibile fare clic per richiedere l'accesso al sito (gli amministratori devono comunque concedere l'accesso). Questo messaggio di posta elettronica potrebbe anche contenere informazioni sul documento, ad esempio il titolo del documento e istruzioni del proprietario del flusso di lavoro. In caso di dubbi sulla diffusione di informazioni associate a utenti interni che non sono membri del sito, gli amministratori possono disabilitare l'impostazione **Invia avviso agli utenti interni senza accesso al sito per l'assegnazione di un'attività del flusso di lavoro**.
  • Utenti esterni

    Agli utenti esterni che non sono inclusi nel servizio directory ma che dispongono di un indirizzo di posta elettronica SMTP ben formato possono essere assegnate attività del flusso di lavoro. Poiché gli utenti esterni avranno difficoltà ad accedere al documento, in SharePoint Foundation 2010 è disponibile l'impostazione Consenti agli utenti esterni di partecipare al flusso di lavoro tramite l'invio di una copia del documento, che consente di inviare agli utenti esterni una notifica per l'attività tramite posta elettronica con il documento allegato. Quando questa opzione è abilitata, l'attività viene assegnata al proprietario del flusso di lavoro e l'utente esterno può completarla inviando messaggi di posta elettronica al proprietario.

    Per impostazione predefinita, l'opzione Consenti agli utenti esterni di partecipare al flusso di lavoro tramite l'invio di una copia del documento è disabilitata. Questa impostazione può tuttavia risultare utile in situazioni che richiedono una partecipazione esterna, ad esempio l'approvazione di documenti lavorativi che coinvolgono clienti esterni. Gli amministratori che abilitano questa opzione (selezionando ) devono verificare che la pianificazione del flusso di lavoro supporti l'impostazione relativa ai partecipanti esterni. Ad esempio, quando viene creata un'attività per un utente esterno, nel flusso di lavoro personalizzato deve essere specificato l'indirizzo di posta elettronica esterno nella proprietà OnBehalfEmail dell'oggetto SPWorkflowTaskProperties utilizzato per inizializzare l'attività. Diversi flussi di lavoro incorporati in SharePoint Foundation 2010 supportano questa impostazione.

    Gli sviluppatori di flussi d lavoro personalizzati che desiderano abilitare questa funzionalità devono collaborare con gli amministratori per determinare se esistono rischi di diffusione di informazioni nell'allegare il documento effettivo a un messaggio di posta elettronica esterno. Quando abilitano questa opzione, gli amministratori devono valutarne i vantaggi e i rischi.

Diffusione delle informazioni contenute negli elenchi delle attività e della cronologia del flusso di lavoro

Poiché le voci degli elenchi delle attività e della cronologia possono contenere dati sugli utenti e sulle azioni da essi eseguite sui documenti, potrebbero diffondere informazioni riservate. Ad esempio, un flusso di lavoro di approvazione di promozione potrebbe contenere feedback sulle attività che può essere visualizzato solo dal proprietario del flusso di lavoro e da ciascun partecipante all'attività.

Gli elenchi delle attività e della cronologia sono gli elenchi tipici di un sito. Per impostazione predefinita, tutti gli utenti che eseguono l'accesso possono pertanto visualizzare gli elementi attività e cronologia. Gli amministratori e gli sviluppatori devono stabilire quali informazioni non possono essere diffuse e decidere se proteggere gli elementi attività e cronologia creati dal flusso di lavoro.

È possibile proteggere tali elementi in diversi modi. Gli amministratori possono ad esempio impostare autorizzazioni a livello di elenco. Se la diffusione deve essere privata, vale a dire non disponibile pubblicamente ma disponibile solo per un gruppo specifico di persone, gli amministratori possono creare un nuovo elenco delle attività o della cronologia e impostare autorizzazioni per l'elenco destinate a quel gruppo. Se gli amministratori desiderano che nessuno visualizzi gli eventi di cronologia in una pagina di stato del flusso di lavoro, possono rimuovere le autorizzazioni di visualizzazione relative alla cronologia del flusso di lavoro dal quale la pagina di stato recupera le informazioni. Gli utenti che non dispongono delle autorizzazioni per visualizzare l'elenco della cronologia stesso o qualsiasi voce nell'elenco, riceveranno un errore di accesso negato quando apriranno qualsiasi pagina di stato che recupera i dati dall'elenco della cronologia.

Se sono necessarie limitazioni più dettagliata, gli sviluppatori di flussi di lavoro possono impostare autorizzazioni per elemento quando creano elementi attività o cronologia. L'attività CreateTask dispone della proprietà SpecialPermissions che concede solo le autorizzazioni specificate per accedere all'attività creata. L'attività LogToHistoryList non dispone di tale proprietà, pertanto per impostare le autorizzazioni per elemento nelle voci dell'elenco della cronologia, gli amministratori devono utilizzare il modello a oggetti di SharePoint Foundation 2010. Le autorizzazioni per elemento possono incidere negativamente sulle prestazioni e devono essere utilizzate solo in caso di necessità.

Non è necessario che gli elementi attività e cronologia vengano gestiti allo stesso modo. Gli amministratori possono combinare le autorizzazioni per gli elenchi con le autorizzazioni a livello di elemento.

Attacchi di spoofing e manomissioni negli elenchi delle attività e della cronologia del flusso di lavoro

Qualsiasi collaboratore può modificare gli elementi attività o cronologia se non esistono limitazioni su tali elenchi. Ciò significa che gli utenti malintenzionati possono modificare le descrizioni delle attività per impartire istruzioni non corrette ai partecipanti o per ordinare ai partecipanti di fare clic su collegamenti dannosi. Per modificare i risultati percepiti di un processo, gli utenti malintenzionati possono anche aggiungere eventi di cronologia falsi o non corretti o modificare gli eventi di cronologia per renderli falsi o non corretti.

Come spiegato in precedenza, gli elenchi delle attività e della cronologia sono elenchi normali in un sito. Per impostazione predefinita, non esistono limitazioni di autorizzazioni né per gli elenchi delle attività né per gli elenchi della cronologia. Per evitare attacchi di spoofing e manomissioni, gli amministratori devono determinare le vulnerabilità esistenti e limitare l'accesso alle colonne di un elenco (ad esempio, rendere di sola lettura le colonne vulnerabili quali le descrizioni delle attività in modo che possano essere impostate solo dal flusso di lavoro quando viene creato l'elemento), impostare autorizzazioni speciali sull'elenco oppure impostare autorizzazioni a livello di elemento sulle voci di un elenco.

Problemi di sicurezza nell'elenco della cronologia del flusso di lavoro

Uno dei vantaggi principali dei flussi di lavoro è la capacità di tenere traccia delle informazioni relative al processo per fornire visibilità al processo stesso. L'elenco della cronologia del flusso di lavoro è un archivio di tali informazioni, dove una pagina di stato del flusso di lavoro può cercare i dati correlati a un'istanza di flusso di lavoro e rendere tali dati disponibili agli utenti. Gli utenti possono visualizzare tutti gli elementi ai quali hanno accesso nell'elenco della cronologia.

Tuttavia, poiché l'elenco della cronologia del flusso di lavoro tiene traccia delle informazioni, gli utenti potrebbero presupporre che può essere utilizzato come audit trail per gli eventi. Non è questo il caso: la cronologia del flusso di lavoro non è una caratteristica di sicurezza. Gli elenchi della cronologia sono elenchi standard di SharePoint che vengono utilizzati per archiviare gli eventi visibili a qualsiasi utente e ai quali non è associata alcuna autorizzazione speciale. Per impostazione predefinita, gli utenti possono modificare e aggiungere eventi se dispongono delle autorizzazioni di modifica e aggiunta sul sito. Per controllare gli eventi, utilizzare la caratteristica Registro di controllo di SharePoint. Solo gli amministratori possono accedere a questo registro, che non richiede interventi aggiuntivi per la protezione da attacchi di manomissione.

Per proteggere meglio l'elenco della cronologia, gli amministratori possono limitare le autorizzazioni di modifica e aggiunta all'elenco, in modo che solo gli amministratori degli account di sistema (ad esempio, gli amministratori dei flussi di lavoro) e gli amministratori di elenchi possano aggiungere elementi. Gli amministratori di elenchi devono disporre delle autorizzazioni di aggiunta per registrare eventi di interruzione del flusso di lavoro. Se le autorizzazioni di modifica e aggiunta sono limitate nell'elenco della cronologia, è comunque necessario concedere agli utenti le autorizzazioni di visualizzazione affinché possano visualizzare le informazioni sullo stato.

Tipo di passaggio di rappresentazione utente per flussi di lavoro dichiarativi

Il tipo di passaggio di rappresentazione utente può essere utilizzato per eseguire sezioni di flussi di lavoro dichiarativi da parte della persona che ha creato il flusso di lavoro piuttosto che dell'iniziatore del flusso di lavoro. Dichiarativo indica un modello che può essere utilizzato per creare il flusso di lavoro e impostarne i parametri senza scrivere codice.

In SharePoint Foundation 2010 i flussi di lavoro dichiarativi vengono sempre eseguiti nel contesto utente dell'iniziatore del flusso di lavoro a meno che non venga rilevato un passaggio di rappresentazione. Se tale passaggio viene rilevato, il flusso di lavoro dichiarativo viene eseguito nel contesto dell'autore dell'associazione del flusso di lavoro. Le attività del flusso di lavoro predefinito rispettano le autorizzazioni di SharePoint rappresentando l'utente che ha avviato un flusso di lavoro quando quest'ultimo viene eseguito. Questo processo consente di mantenere la sicurezza in SharePoint Foundation 2010, ma blocca numerosi scenari in cui un progettista di flussi di lavoro con livelli di autorizzazione elevati desideri creare un flusso di lavoro potente che può essere completato dagli utenti che dispongono di livelli di autorizzazione più bassi.

Mediante una forma di elevazione dei privilegi sicura e con ambito, le azioni sito possono essere automatizzate tramite flusso di lavoro. Ciò riduce il peso dell'amministratore del sito di SharePoint. L'automazione di un processo ad alta sicurezza è utile negli scenari di pubblicazione e approvazione nei quali le azioni esistenti vengono abilitate per rappresentare una persona diversa dall'iniziatore del flusso di lavoro.

Di seguito sono riportati scenari di esempio che illustrano il tipo di passaggio di rappresentazione utente.

  • Pubblicazione in un elenco sicuro

    Luisa ha bloccato la raccolta documenti Pagine per il pubblico del suo sito di SharePoint. Ha impostato un flusso di lavoro di approvazione che, tramite Microsoft SharePoint Designer 2010, invia il contenuto fornito dai collaboratori del sito per l'approvazione. Luisa inserisce le azioni del flusso di lavoro in un passaggio di rappresentazione in modo che le azioni rappresenteranno sempre lei, un amministratore del sito, come autore del flusso di lavoro.

    Quando Elena (una collaboratrice) invia una bozza di contenuto alla raccolta documenti Pagine del sito e tenta di pubblicare il suo articolo, questa azione provoca l'avvio del flusso di lavoro di approvazione di Luisa in modo che l'invio possa essere rivisto e approvato. Le attività vengono inviate ai revisori del flusso di lavoro per conto di Elena. Dopo la revisione e l'approvazione da parte dei revisori, il sistema imposta lo stato moderazione dell'invio su “Approvato”, anche se Elena non dispone dell'autorizzazione per approvare pagine.

  • Concessione di autorizzazioni agli utenti

    Adriana ha impostato un flusso di lavoro in SharePoint Designer 2010 che utilizza l'azione di rappresentazione utente “Aggiungi utente al gruppo” per concedere le autorizzazioni struttura al sito. Poiché il flusso di lavoro utilizza un ambito di rappresentazione, l'azione di aggiunta utente al gruppo verrà sempre eseguita per conto di Adriana.

    Il resto del flusso di lavoro consente ai collaboratori di visitare il sito e completare un modulo per registrare le proprie richieste di accesso in un elenco.

    Ad esempio, un utente separato, Stefano, riceve un'attività quando Elena, un utente, registra una richiesta. Quando Stefano approva l'attività, Elena viene aggiunta al gruppo Designer del sito anche se né Stefano né Elena dispongono delle autorizzazioni di Gestione elenchi sul sito di Adriana.

  • Modelli e assunzione della proprietà

    Luciano ha creato diversi flussi di lavoro in SharePoint Designer 2010 e li ha salvati come modelli per poter essere utilizzati in tutta la società, ma poco dopo lascia la società. Il suo account viene rimosso, lo stato di amministratore viene revocato e ora i flussi di lavoro di SharePoint Designer 2010 creati da Luciano non vengono completati a causa della perdita delle autorizzazioni di Luciano.

    Un amministratore del sito di SharePoint padre, Davide, può intervenire per ciascun flusso di lavoro, senza dover ricreare i flussi di lavoro in SharePoint Designer 2010. Davide assume la proprietà dei problemi amministrativi in ogni modello interrotto. Dopodiché, la pubblicazione sicura e la concessione dell'accesso si verificheranno a nome di Davide anziché di Luciano e non è stata modificata nessun'altra impostazione.

Le azioni di un flusso di lavoro che possono essere rappresentate sono le seguenti:

  • Impostazione dello stato di approvazione del contenuto (come proprietario)

  • Creazione di voci di elenco (come proprietario)

  • Aggiornamento di voci di elenco (come proprietario)

  • Eliminazione di voci di elenco (come proprietario)

  • Aggiunta/rimozione/impostazione/ereditarietà delle autorizzazioni di voci di elenco (come proprietario)

Come amministratore di SharePoint, è necessario considerare i possibili effetti sulla sicurezza dell'incorporamento della rappresentazione in flussi di lavoro in un sito di SharePoint. Ciò si applica alle nuove azioni ma anche ad azioni esistenti come l'aggiornamento di voci di elenco.

Ad esempio, si consideri un modello in cui le azioni di rappresentazione utente nel flusso di lavoro possono essere eseguite come iniziatore. Se un utente dispone delle autorizzazioni di amministratore solo su un sito della raccolta siti, tale utente potrebbe creare un flusso di lavoro per ottenere i diritti sul sito Web padre del sito. Tutto ciò che l'utente malintenzionato dovrebbe fare sarebbe persuadere l'amministratore a caricare un file in una raccolta documenti sul sito dell'utente malintenzionato per iniziare l'attacco del flusso di lavoro e compromettere l'intero sito Web padre.

Questo rischio ha portato allo sviluppo della limitazione in base alla quale le azioni di rappresentazione utente devono sempre rappresentare l'autore dell'associazione in SharePoint Designer 2010. L'autore dell'associazione è la persona che associa un flusso di lavoro a un determinato elenco o sito Web. Nei flussi di lavoro dichiarativi di SharePoint Foundation 2010 l'autore dell'associazione corrisponde all'autore del flusso di lavoro, ovvero l'utente che crea il flusso di lavoro in SharePoint Designer 2010. Tuttavia, l'autore dell'associazione può essere anche chiunque associ un modello di flusso di lavoro dichiarativo. Il problema è che l'autore del flusso di lavoro/autore dell'associazione è costretto ad accettare la responsabilità di qualsiasi evento che si verifica a causa del tipo di passaggio di rappresentazione utente, perché nell'elevazione vengono utilizzate le credenziali dell'autore del flusso di lavoro/autore dell'associazione. Ciò richiede che gli autori dei flussi di lavoro/autori dell'associazione capiscano i flussi di lavoro che progettano o associano. Pertanto, durante la creazione del flusso di lavoro, in SharePoint Designer 2010 viene visualizzato un messaggio di avviso nella pagina di creazione del flusso di lavoro rivolto all'autore del flusso di lavoro/autore dell'associazione relativo al tipo di passaggio di rappresentazione utente.