使用 SharePoint Online PowerShell 管理数据访问治理报告

本文中的某些功能需要Microsoft SharePoint 高级版 - SharePoint 高级管理

虽然 SharePoint 管理中心门户中提供 数据访问治理 ,但大型组织通常会寻求 PowerShell 支持,以便通过脚本和自动化来管理规模。 本文档讨论通过 SharePoint Online PowerShell 模块提供的所有适当的 PowerShell 命令,用于从数据访问治理中管理报表。

重要

PowerShell 对数据访问治理的支持可从模块“Microsoft.Online.SharePoint.PowerShell”和版本“16.0.25409”开始获取。

重要

在不使用 Credential 参数的情况下运行“Connect-SPOService”命令。 我们不支持使用与最新安全做法一起内联的 Credential 参数登录。

使用 PowerShell 创建报表

使用 Start-SPODataAccessGovernanceInsight 命令生成具有适当筛选器和参数的所有报表

使用权限的过度共享基线报表

对于不同的客户,“过度共享”的定义可能有所不同。 数据访问治理将“用户数”视为建立基线的一个可能透视点,然后跟踪潜在“过度共享”的关键参与者,例如在过去 28 天内共享创建的链接和共享到大型组,例如“除外部用户以外的所有人”。 可以定义“用户数”的阈值,并在生成报表时生成许多用户访问的网站的报告。 此报表被视为“快照”报告。

Start-SPODataAccessGovernanceInsight -ReportEntity PermissionedUsers -ReportType Snapshot -Workload SharePoint -CountOfUsersMoreThan 100 -Name "ReportForTestingLatestFixes"

此命令生成一个列表,其中包含 100 多个用户可以访问网站内任何内容的所有网站。 此处提供了有关网站列表以及如何解释结果的详细信息。

注意

目前,报表包含 SharePoint 网站和 OneDrive 帐户,最多可生成 100 万个网站和/或帐户。

这些报告可用于识别在协作中处于活动状态的网站,因此需要更快的干预来缓解任何潜在的过度共享风险。 这些基于“RecentActivity”的报告可识别在过去 28 天内生成最多共享链接的网站。

Start-SPODataAccessGovernanceInsight -ReportEntity SharingLinks_Anyone -Workload SharePoint -ReportType RecentActivity

提供工作负载值作为“OneDriveForBusiness”,以获取具有相同条件的所有 OneDrive 帐户。

Start-SPODataAccessGovernanceInsight -ReportEntity SharingLinks_PeopleInYourOrg -Workload SharePoint -ReportType RecentActivity

提供工作负载值作为“OneDriveForBusiness”,以获取具有相同条件的所有 OneDrive 帐户。

Start-SPODataAccessGovernanceInsight -ReportEntity SharingLinks_Guests -Workload SharePoint -ReportType RecentActivity

提供工作负载值作为“OneDriveForBusiness”,以获取具有相同条件的所有 OneDrive 帐户。

过去 28 天内与除外部用户以外的所有人共享的内容

虽然共享链接是潜在过度共享的一种可能参与者,但另一个关键参与者是“除外部用户以外的所有人” (EEEU) 它使内容“公开”,即对整个组织可见,并使其他人能够轻松发现内容并获取访问权限。 这些报告确定在过去 28 天内在不同范围内主动使用 EEEU 的站点。

过去 28 天内与除外部用户以外的所有人共享的网站

将 EEEU 添加到网站成员身份 (所有者、成员或访问者) 时,网站的全部内容将成为公共内容,并且更容易过度共享。 以下 PowerShell 命令触发报告以在过去 28 天内捕获此类站点:

Start-SPODataAccessGovernanceInsight -ReportEntity EveryoneExceptExternalUsersAtSite -Workload SharePoint -ReportType RecentActivity -Name "PublicSiteViaEEEU"

注意

目前不支持在站点级别使用 EEEU 的 OneDriveForBusiness 报告。

过去 28 天内与除外部用户以外的所有人共享的项目

以下 PowerShell 命令触发报告以捕获过去 28 天内与 EEEU 共享特定项 (文件/文件夹/列表) 的网站:

Start-SPODataAccessGovernanceInsight -ReportEntity EveryoneExceptExternalUsersAtSite -Workload SharePoint -ReportType RecentActivity -Name "PublicSiteViaEEEU"

提供工作负载值作为“OneDriveForBusiness”,以获取具有相同条件的所有 OneDrive 帐户。

文件中的敏感度标签报告

此 PowerShell 命令触发报表以列出自报表生成日期起使用给定“标签”标记了特定项的网站。

首先,使用“安全性和符合性”PowerShell 模块检索标签名称或标签 GUID。

Get-Label | Format-Table -Property DisplayName, Name, GUID, ContentType

然后,使用 Name AND GUID 检索标记有给定标签名称或 GUID 的文件的网站。

Start-SPODataAccessGovernanceInsight -ReportEntity SensitivityLabelForFiles -Workload SharePoint -ReportType Snapshot -FileSensitivityLabelGUID "a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1" -FileSensitivityLabelName Secret

注意

目前,不支持带有标签文件的“OneDriveForBusiness”帐户的报告。

使用 PowerShell 跟踪报表

重要

所有报表创建都将生成 GUID 作为输出,可用于跟踪报表状态

Start-SPODataAccessGovernanceInsight -ReportEntity SensitivityLabelForFiles -Workload SharePoint -ReportType Snapshot -FileSensitivityLabelGUID "a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1" -FileSensitivityLabelName Secret
ReportId                             Status
--------                             ------
a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1 NotStarted

使用 Get-SPODataAccessGovernanceInsight 命令使用报表 ID 检索特定数据访问治理报表的当前状态。

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 和 ReportEndTime 指示生成报表的数据时间段。 报表生成完成后,状态标记为“已完成”。

还可以使用筛选器 ReportEntity 而不是 ID 查看 DAG 报表的当前状态。 reportID 在输出中列出,稍后需要该报表才能下载特定报表。

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}

使用 PowerShell 查看和下载报表

若要下载特定报表,需要 reportID。 使用 Get-SPODataAccessGovernanceInsight 命令检索 reportID,并使用 Export-SPODataAccessGovernanceInsight 命令将报表下载到指定路径。

Export-SPODataAccessGovernanceInsight -ReportID a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1 -DownloadPath "C:\Users\TestUser\Documents\DAGReports"

这会将 CSV 文件下载到指定路径。 此处讨论了每个报表的 CSV/视图的详细信息。

注意

默认下载路径是“Downloads”文件夹。

使用 PowerShell 的修正操作

生成数据访问治理报告后,SharePoint 管理员可以执行 此处所述的修正操作。 以下部分介绍用于触发和跟踪“站点访问评审”的 PowerShell 命令作为修正操作。

使用 PowerShell 启动站点访问评审

使用 Start-SPOSiteReview 命令为数据访问治理报表下列出的特定站点启动站点访问评审。 数据访问治理报告提供了应在其中启动评审的上下文。 从 CSV 文件检索 reportID、网站 ID,并提供注释,以便网站所有者清楚地了解评审的目的。

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

这触发电子邮件给网站所有者, 如此处所述

使用 PowerShell 跟踪站点访问评审

使用 Start-SPOSiteReview 命令跟踪站点访问评审的状态。 对于特定评审,可以使用 ReviewID 输出中所示的值。 若要检索与报表模块相关的所有评审,请使用 ReportEntity 参数。

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