Gestire i report di governance dell'accesso ai dati con PowerShell di SharePoint Online
Alcune funzionalità di questo articolo richiedono Microsoft SharePoint Premium - Gestione avanzata di SharePoint
Anche se la governance dell'accesso ai dati è disponibile nel portale dell'interfaccia di amministrazione di SharePoint, le organizzazioni di grandi dimensioni in genere cercano il supporto di PowerShell per gestire la scalabilità tramite script e automazione. Questo documento illustra tutti i comandi di PowerShell appropriati disponibili tramite il modulo PowerShell di SharePoint Online per gestire i report dalla governance dell'accesso ai dati.
Importante
Il supporto di PowerShell per la governance dell'accesso ai dati è disponibile dal modulo "Microsoft.Online.SharePoint.PowerShell" e dalla versione "16.0.25409" in poi.
Importante
Eseguire il comando 'Connect-SPOService' SENZA il parametro Credential . NON è possibile supportare l'accesso usando il parametro Credential inline con le procedure di sicurezza più recenti.
Creazione di report con PowerShell
Usare il comando Start-SPODataAccessGovernanceInsight per generare tutti i report con filtri e parametri appropriati
Oversharing baseline report using permissions
La definizione di "oversharing" può essere diversa per i diversi clienti. La governance dell'accesso ai dati considera il "numero di utenti" come un possibile pivot per stabilire una linea di base e quindi tenere traccia dei principali collaboratori di potenziali "oversharing", ad esempio la condivisione di collegamenti creati e la condivisione con gruppi di grandi dimensioni, ad esempio "Tutti tranne gli utenti esterni" negli ultimi 28 giorni. È possibile definire la soglia di "numero di utenti" e generare un report dei siti a cui accedono molti utenti al momento della generazione del report. Questo report viene considerato un report "snapshot".
Start-SPODataAccessGovernanceInsight -ReportEntity PermissionedUsers -ReportType Snapshot -Workload SharePoint -CountOfUsersMoreThan 100 -Name "ReportForTestingLatestFixes"
Questo comando genera un elenco di tutti i siti in cui più di 100 utenti possono accedere a qualsiasi contenuto all'interno del sito. Altre informazioni sull'elenco dei siti e su come interpretare i risultati sono disponibili qui.
Nota
Attualmente il report è costituito da siti di SharePoint e account OneDrive e può generare fino a 1 milione di siti e/o account.
Report sui collegamenti di condivisione
Questi report sono utili per identificare i siti che sono attivi in collaborazione e richiedono quindi un intervento più rapido per mitigare eventuali rischi di sovra-condivisione. Questi report basati su 'RecentActivity' identificano i siti che generano il maggior numero di collegamenti di condivisione negli ultimi 28 giorni.
Tutti i collegamenti di condivisione creati negli ultimi 28 giorni
Start-SPODataAccessGovernanceInsight -ReportEntity SharingLinks_Anyone -Workload SharePoint -ReportType RecentActivity
Specificare il valore del carico di lavoro come "OneDriveForBusiness" per ottenere tutti gli account OneDrive con gli stessi criteri.
Collegamenti di condivisione PeopleInYourOrg creati negli ultimi 28 giorni
Start-SPODataAccessGovernanceInsight -ReportEntity SharingLinks_PeopleInYourOrg -Workload SharePoint -ReportType RecentActivity
Specificare il valore del carico di lavoro come "OneDriveForBusiness" per ottenere tutti gli account OneDrive con gli stessi criteri.
Utenti specifici (guest) che condividono i collegamenti creati negli ultimi 28 giorni
Start-SPODataAccessGovernanceInsight -ReportEntity SharingLinks_Guests -Workload SharePoint -ReportType RecentActivity
Specificare il valore del carico di lavoro come "OneDriveForBusiness" per ottenere tutti gli account OneDrive con gli stessi criteri.
Contenuto condiviso con tutti tranne gli utenti esterni negli ultimi 28 giorni
Anche se i collegamenti di condivisione sono un possibile collaboratore per la potenziale sovrascietà, un altro collaboratore chiave è "Tutti tranne gli utenti esterni" (EEEU), che rende il contenuto "pubblico", visibile all'intera organizzazione e semplifica l'individuazione del contenuto e l'accesso ad altri utenti. Questi report identificano i siti che hanno utilizzato attivamente EEEU in vari ambiti negli ultimi 28 giorni.
Siti condivisi con tutti tranne gli utenti esterni negli ultimi 28 giorni
Quando EEEU viene aggiunto a un'appartenenza a un sito (proprietari, membri o visitatori), l'intero contenuto del sito diventa pubblico e più incline alla condivisione eccessiva. Il comando di PowerShell seguente attiva il report per acquisire tali siti negli ultimi 28 giorni:
Start-SPODataAccessGovernanceInsight -ReportEntity EveryoneExceptExternalUsersAtSite -Workload SharePoint -ReportType RecentActivity -Name "PublicSiteViaEEEU"
Nota
Attualmente il report per OneDriveForBusiness con EEEU a livello di sito non è supportato.
Elementi condivisi con tutti tranne gli utenti esterni negli ultimi 28 giorni
Il comando di PowerShell seguente attiva il report per acquisire i siti in cui elementi specifici (file/cartelle/elenchi) sono stati condivisi con EEEU negli ultimi 28 giorni:
Start-SPODataAccessGovernanceInsight -ReportEntity EveryoneExceptExternalUsersAtSite -Workload SharePoint -ReportType RecentActivity -Name "PublicSiteViaEEEU"
Specificare il valore del carico di lavoro come "OneDriveForBusiness" per ottenere tutti gli account OneDrive con gli stessi criteri.
Report etichetta di riservatezza nei file
Questo comando di PowerShell attiva il report per elencare i siti in cui elementi specifici sono stati etichettati con una determinata "etichetta", a partire dalla data di generazione del report.
Recuperare prima di tutto il nome dell'etichetta o il GUID dell'etichetta usando il modulo PowerShell "Sicurezza e conformità".
Get-Label | Format-Table -Property DisplayName, Name, GUID, ContentType
Usare quindi il nome e il GUID per recuperare i siti con i file etichettati con il nome dell'etichetta o il GUID specificati.
Start-SPODataAccessGovernanceInsight -ReportEntity SensitivityLabelForFiles -Workload SharePoint -ReportType Snapshot -FileSensitivityLabelGUID "a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1" -FileSensitivityLabelName Secret
Nota
Attualmente, il report per gli account "OneDriveForBusiness" con file etichettati non è supportato.
Rilevamento di report con PowerShell
Importante
Tutte le creazioni di report genereranno un GUID come output che potrebbe essere usato per tenere traccia dello stato del report
Start-SPODataAccessGovernanceInsight -ReportEntity SensitivityLabelForFiles -Workload SharePoint -ReportType Snapshot -FileSensitivityLabelGUID "a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1" -FileSensitivityLabelName Secret
ReportId Status
-------- ------
a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1 NotStarted
Usare il comando Get-SPODataAccessGovernanceInsight per recuperare lo stato corrente di un report di governance dell'accesso ai dati specifico usando l'ID report.
Get-SPODataAccessGovernanceInsight -ReportID a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1
ReportId : a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1
ReportEntity : SharingLinks_Anyone
Status : InQueue
Workload : SharePoint
TriggeredDateTime : 11/13/2024 19:32:34
CreatedDateTime : 11/13/2024 20:09:23
ReportStartTime : 10/17/2024 19:32:33
ReportEndTime : 11/13/2024 19:32:33
ReportType : RecentActivity
SitesFound : 120
ReportStartTime e ReportEndTime indicano il periodo di dati per generare il report. Lo stato è contrassegnato come "Completato" al termine della generazione del report.
È anche possibile visualizzare lo stato corrente dei report del gruppo di disponibilità del database usando il filtro ReportEntity anziché l'ID. Il reportID è elencato nell'output ed è necessario in un secondo momento per scaricare un report specifico.
Get-SPODataAccessGovernanceInsight -ReportEntity PermissionedUsers
ReportId : a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1
ReportName : PermissionReportFor1AsOfSept
ReportEntity : PermissionedUsers
Status : Completed
Workload : SharePoint
TriggeredDateTime : 09/18/2024 11:06:16
CreatedDateTime : 09/22/2024 12:12:48
ReportType : Snapshot
CountOfUsersMoreThan : 1
CountOfSitesInReport : 7
CountOfSitesInTenant : 22
Privacy : All
Sensitivity : {All}
Templates : {All}
ReportId : b1b1b1b1-cccc-dddd-eeee-f2f2f2f2f2f2
ReportName : PermissionReportFor1AsOfOct
ReportEntity : PermissionedUsers
Status : Completed
Workload : SharePoint
TriggeredDateTime : 10/09/2024 14:15:40
CreatedDateTime : 10/09/2024 15:18:23
ReportType : Snapshot
CountOfUsersMoreThan : 100
CountOfSitesInReport : 0
CountOfSitesInTenant : 26
Privacy : All
Sensitivity : {All}
Templates : {All}
Visualizzare e scaricare report con PowerShell
Per scaricare un report specifico, è necessario il reportID. Recuperare il reportID usando il comando Get-SPODataAccessGovernanceInsight e usare il comando Export-SPODataAccessGovernanceInsight per scaricare il report in un percorso specificato.
Export-SPODataAccessGovernanceInsight -ReportID a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1 -DownloadPath "C:\Users\TestUser\Documents\DAGReports"
In questo modo viene scaricato un file CSV nel percorso specificato. I dettagli del csv/vista per ogni report sono illustrati qui.
Nota
Il percorso di download predefinito è la cartella "Download".
Azioni correttive con PowerShell
Dopo aver generato i report di governance dell'accesso ai dati, gli amministratori di SharePoint possono eseguire azioni correttive come descritto qui. La sezione seguente descrive i comandi di PowerShell per attivare e tenere traccia della "verifica dell'accesso al sito" come azione correttiva.
Avviare la verifica dell'accesso al sito con PowerShell
Usare il comando Start-SPOSiteReview per avviare una verifica di accesso al sito per un sito specifico, elencato in un report sulla governance dell'accesso ai dati. Il report sulla governance dell'accesso ai dati fornisce il contesto in cui avviare la revisione. Recuperare il reportID, l'ID sito dal file CSV e fornire commenti per fornire chiarezza al proprietario del sito in merito allo scopo della revisione.
Start-SPOSiteReview -ReportID a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1 -SiteID c2c2c2c2-dddd-eeee-ffff-a3a3a3a3a3a3 -Comment "Check for org wide access"
ReviewId : a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1
SiteId : c2c2c2c2-dddd-eeee-ffff-a3a3a3a3a3a3
ReviewInitiatedDateTime : 13-11-2024 20:55:41
ReportEntity : PermissionedUsers
Status : Pending
AdminComment : Check for org wide access
SiteName : All Company
In questo modo vengono attivati i messaggi di posta elettronica al proprietario del sito, come descritto qui.
Tenere traccia delle verifiche di accesso al sito con PowerShell
Usare il comando Start-SPOSiteReview per tenere traccia dello stato delle verifiche di accesso al sito. Per recensioni specifiche, è possibile usare il ReviewID
valore come illustrato nell'output. Per recuperare tutte le revisioni correlate a un modulo di creazione di report, usare il ReportEntity
parametro .
Get-SPOSiteReview -ReportEntity PermissionedUsers
ReviewId : a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1
SiteId : c2c2c2c2-dddd-eeee-ffff-a3a3a3a3a3a3
ReviewInitiatedDateTime : 13-11-2024 20:55:41
ReviewCompletedDateTime :
ReportCreatedDateTime : 13-11-2024 23:25:41
ReportEndDateTime : 13-11-2024 23:25:41
ReportEntity : PermissionedUsers
Status : Pending
AdminComment : Check for org wide access
SiteName : All Company
ReviewerEmail :
ReviewerComment :
ReviewId : a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1
SiteId : c2c2c2c2-dddd-eeee-ffff-a3a3a3a3a3a3
ReviewInitiatedDateTime : 24-10-2024 11:07:39
ReviewCompletedDateTime : 15-11-2024 11:07:39
ReportCreatedDateTime : 15-10-2024 09:24:47
ReportEndDateTime : 15-10-2024 11:39:52
ReportEntity : PermissionedUsers
Status : Completed
AdminComment : Check for org wide access
SiteName : All Company
ReviewerEmail : Jon@contosofinance.com
ReviewerComment : Removed EEEU for sensitive documents