使用 PowerShell 审核 SharePoint Online 组成员身份更改
添加和删除组成员是 SharePoint 权限更改的主要问题。因此,审核 SharePoint Online 组成员身份更改对于识别敏感信息泄漏并降低安全风险至关重要。
如何检测 SharePoint Online 中的组成员身份更改?
要跟踪 SharePoint 组权限更改,您可以使用 Microsoft Purview 门户或 PowerShell 中的审核搜索。
Microsoft Purview:在审核搜索中,选择“SharePoint 权限更改”类别下的“将用户或组添加到 SharePoint 组”和“从 SharePoint 组中删除用户或组”活动。它将列出添加到组中的所有新成员以及从组中删除的现有成员。您也可以导出报告,但报告不会以用户友好的方式呈现,并且您无法一眼识别群组名称和成员。
PowerShell:您可以使用“Search-UnifiedAuditLog”cmdlet 来监控组成员身份更改。但结果将以 JSON 格式显示,您需要进一步解析以获取所需的数据。
为了简化您的工作,我们创建了一个 PowerShell 脚本,它将以用户友好的方式导出组成员身份更改报告。
脚本下载:AuditSPOGroupMembershipChanges.ps1
脚本亮点:
- 该脚本使用新式身份验证来连接到 Exchange Online。
- 该脚本也可以使用启用 MFA 的帐户来执行。
- 将报告结果导出到 CSV 文件。
- 帮助分别识别新添加和删除的访客帐户。
- 允许您生成自定义期间的 SPO 群组成员资格审核报告。
- 允许您根据工作负载审核组权限更改,例如 SharePoint 和 OneDrive。
- 在您确认后自动安装 EXO V2 模块(如果尚未安装)。
- 该脚本调度程序友好。即,凭证可以作为参数传递,而不是交互获取。
审核 SharePoint 组成员身份更改 - 示例输出:
导出的报告将包含以下属性:事件时间、执行者、操作、组名称、成员名称、成员类型、成员可以共享站点和文件、站点 URL、工作负载、详细审核数据。
审核 SPO 组成员变更报告 - 脚本执行:
要运行此脚本,您可以选择以下任意方法。
方法 1:使用 MFA 和非 MFA 帐户执行脚本
.\AuditSPOGroupMembershipChanges.ps1方法 2:通过明确提及凭据来执行脚本(适合调度程序)。
.\AuditSPOGroupMembershipChanges.ps1 -UserName admin@o365reports.com -Password XXX注意:如果管理员帐户具有 MFA,您需要根据条件访问政策禁用 MFA 才能使其发挥作用。
“审核 SharePoint Online 组成员身份更改”PowerShell 脚本的更多用例:
如前所述,我们的脚本支持高级内置过滤参数以生成更精细的审核报告。我们在下面列出了脚本的一些用例。
- 跟踪过去 90 天内的 SharePoint 组成员身份更改。
- 审核自定义期间内的组成员身份更改。
- 监视 SharePoint 组中来宾用户的添加和删除。
- 在 SharePoint Online 中查找组成员身份更改。
- 在 OneDrive 中查找组权限更改。
- 安排组成员变更报告。
- 获取有关 SharePoint 组权限更改的月度报告。
跟踪过去 90 天内群组成员的变化:
由于“Search-UnifiedAuditLog”具有过去 90 天的数据,因此您最多可以使用该脚本获取过去 90 天的活动。要导出过去 90 天内的 SharePoint 组权限更改,请运行以下脚本。
.\AuditSPOGroupMembershipChanges.ps1审核自定义期间的组成员变更:
要生成自定义期间的群组成员审核报告,您可以使用 -StartDate 和-EndDate 参数。通过使用这些参数,可以生成过去 7 天、30 天或任何所需时间段的审核报告。
.\AuditSPOGroupMembershipChanges.ps1 -StartDate 06/1/22 -EndDate 06/10/22上面的示例检索从 2022 年 6 月 1 日到 2022 年 6 月 10 日的群组成员更改。
监控 SharePoint 组中来宾用户的添加和删除:
要查找将访客添加到 SharePoint 群组的人员,您可以使用 -GuestOnly 开关参数运行脚本。该报告还将显示来宾用户何时从 SharePoint 组中删除。
.\AuditSPOGroupMembershipChanges.ps1 -GuestOnly导出的报告将包含过去 90 天内来宾用户对 SharePoint 组的权限更改。
按工作负载查找群组成员资格变化:
默认情况下,该脚本将列出 SharePoint Online 和 OneDrive 中的所有成员资格更改。如果您想要检索特定环境中的成员资格更改,可以使用 - SharePointOnly 或 -OneDriveOnly 开关参数。
要检索 SharePoint Online 中发生的组成员身份更改,请运行以下脚本。
.\AuditSPOGroupMembershipChanges.ps1 -SharePointOnly要跟踪 OneDrive 环境中发生的成员资格更改,请执行如下所示的脚本。
.\AuditSPOGroupMembershipChanges.ps1 -OneDriveOnly自动生成群组成员审核报告:
由于Search-UnifiedAuditLog只能检索过去 90 天的审核数据,因此您可能需要旧的审核数据进行分析。在这种情况下,安排将帮助您将审核日志保留 90 天以上。
要从任务计划程序运行 PowerShell 脚本,您可以使用以下格式。
.\AuditSPOGroupMembershipChanges.ps1 -UserName admin@o365reports.com -Password XXX注意:如果管理员帐户具有 MFA,您需要根据条件访问策略禁用 MFA 才能使其正常工作。
获取有关 SharePoint 组成员变更的月度报告:
当您想要监控和控制群组成员资格和权限更改时,每月报告会很有帮助。
要获取有关 SharePoint 组中用户添加和删除的月度报告,请运行以下脚本。
.\AuditSPOGroupMembershipChanges.ps1 -StartDate((Get-Date).AddDays(-30)) -EndDate (Get-Date)
您还可以通过提及用户名、密码、开始日期和结束日期。
我希望此脚本将帮助您通过组成员身份更改来跟踪 SharePoint Online 权限更改。通过参考此报告,您可以恢复组成员身份以有效保护您的环境。
