应对SharePoint权限限制的解决方案和工作方法

SharePoint 权限的解决方案和变通方法

Ana NetoTechnical 3 Comments

您是否知道SharePoint有一个安全范围的限制,即50,000个具有独特SharePoint权限的项目?是的,这个限制是存在的,而且从SharePoint 2010开始,每个列表或库都有这个限制。这对你和你的SharePoint实施有什么影响?让我们来了解一下,然后讨论可能的解决方案和变通办法。

为什么 SharePoint 的唯一权限有限制?

您可以在 SharePoint 列表或库中存储多达 3 千万个项目或文件。但每个列表或库可设置的 SharePoint 唯一权限数量有限制,不得超过 50,000 项。这一限制存在于 SharePoint 2010 及其后的所有版本中。该限制可以降低,但不能提高。不过,您可以对此采取一些措施。继续阅读!

但首先......为什么会有限制,限制为什么会成为问题?有两个方面需要考虑,尽管您在第一次查看 SharePoint 文档时并不清楚。第一个方面是,如果您尝试超过 50,000 个限制,SharePoint 就会提示错误:"由于此列表中具有唯一权限的项目太多,您无法打破此项目的继承权"。

错误-to-many-items-solutions-workarounds-for-sharepoint-permission-limits

这个问题的第二个方面是性能下降。随着列表或库中唯一权限数量的增加,您会发现 SharePoint 性能下降......即使您还没有接近极限。这种情况可能从 5,000 个唯一权限开始出现,不过这取决于您的具体 SharePoint 实现。

这对我有影响吗?

这会影响任何大量使用唯一项权限的 SharePoint 环境。发生这种情况的一种常见情况,也是我们将在文章其余部分介绍的情况,就是使用 SharePoint 存储 Dynamics 文档。许多系统管理员选择将 SharePoint Online 与 Dynamics 365 结合使用,因为:

  • 管理文件更加直观,并具有额外的功能,如签出文件和版本历史。
  • SharePoint 的数据存储空间更便宜。即使 SharePoint 10 GB 的标准存储空间不够用,额外存储空间的价格也非常合理,每 GB 额外存储空间的价格为 $0.20/月。

问题是,尽管Dynamics和SharePoint之间的文档是自动同步的,但没有自动同步权限。

如果您的结构较小,敏感数据不多,您可以考虑使用 SharePoint 的权限管理选项手动进行权限同步。您需要单独设置 SharePoint 文件夹的权限,这就是为什么只有在结构较小的情况下才会选择这样做的原因。还需要注意的是,SharePoint 的权限级别与 Dynamics 的权限级别并不直接对应,因此这并不像您希望的那样简单。当您决定自己管理 SharePoint 权限时,请务必考虑到这一点。

如果你的结构不是最好的小结构,最好的选择是使用附加组件,如 CB Dynamics 365 至 SharePoint 许可复制器.问题是,即使您使用了这样的工具,如果您有大量的用户(甚至是用户数量不多但文档数量很大的用户),您就会大量使用唯一项权限,从而达到 50,000 个限制......这只是时间问题。

微软怎么说?

这个限制是由微软正式提出的。它被称为列表和库的 "安全范围 "限制。你可以在文档中找到这个 SharePoint 2010, SharePoint 2013SharePoint 2016年和2019年.

明确提到 "随着列表中唯一权限数量的增加,查询性能会下降。即使默认限制是50,000个唯一权限,你可能要考虑将这个限制降低到5,000个唯一权限"。微软还表示,"如果你在达到这个限制后试图声明唯一权限,你将被阻止这样做。"。

我能做什么?

现在我们来谈谈可能的解决方案和变通办法。

第一个也是最明显的选择就是减少文件数量。遗憾的是,这对大多数组织来说并不是一个真正的选择。文件不可能在一夜之间消失。

第二种选择是将文件存储在其他地方。这个方案的问题是,它要么导致功能的损失(加上生产力的损失,因为你将不得不让你的用户改变他们做事的方式),要么导致大量的额外成本。或者两者兼而有之😊

第三种方法是以不同的方式组织文件。限制是按列表/库设置的,所以如果你有更多的库,就不太可能达到限制。这样做的问题(为什么总是有问题?)是很难手动完成。此外,你还需要用户与你合作。否则,您可能会拥有一个无人理解、无人跟得上的库结构......

好消息是,如果您的文档来自于Dynamics,那么可以通过使用 CB Dynamics 365 to SharePoint Permissions Replicator +附加功能 SharePoint Structure Creator.SharePoint Structure Creator将文件放入不同的文件库,这些文件库是根据你配置的规则自动创建的。可用的选项有

- 每个时期(年、季、月、周、日或自定义)的文件库

- 每个字母或字母组合的文件库(基于记录名称的起始字符或记录 ID 的起始字符

- 每个记录都有一个文件库

您还可以使用简单的 LUA 脚本创建最适合您组织的其他组合。

库的创建是通过在配置时设置的特权用户来完成的,这意味着最终用户不需要在SharePoint中拥有任何特殊的权限。这意味着终端用户在SharePoint中不需要任何特殊权限。

完成这个简单(但功能强大!)的配置后,一切都将自动完成。用户唯一能看到的就是图书馆组织结构。甚至只有在 SharePoint 中,用户才能看到图书馆组织。如果用户在 Dynamics 中,他们甚至看不到库组织。在用户看来,这就是一个完全正常的 Dynamics 文档......这是件好事!

需要注意的是,该解决方案既可用于自托管环境,也可通过Microsoft Azure部署,而且支持的系统种类繁多。

- CRM 2011、CRM 2013、CRM 2015、CRM 2016、Dynamics 365、Dynamics 365 Online

- SharePoint 2013、SharePoint 2016、SharePoint 2019、SharePoint 在线

该附加组件与SharePoint和Dynamics之间的通信使用的是 Connect Bridge平台.这意味着这一切都要通过REST API来实现。

SharePoint Structure Creator怎么上手?

首先你需要的是 CB Dynamics 365 to SharePoint Permissions Replicator.你可以得到一个 免费试用 的,可以自行托管或部署在 Azure 上。有关部署选项的更多信息,请参见 此处.

SharePoint Structure Creator 是 CB Dynamics 365 to SharePoint Permissions Replicator 的附加组件。只需在试用申请表中注明您对该插件感兴趣。这样,您就会获得如何安装该插件的所有相关信息。

你可以看一下 价格信息 然后,只需按照以下指南中的简单步骤操作 在线文件.

那么你可以放心,这是一个你永远不必担心的问题。Connecting Software确保了这一解决方案的向前兼容性,因此,即使你升级了你的基础设施,你仍然可以得到保障!

SharePoint Structure Creator还可以用来做什么?

SharePoint Structure Creator 是针对唯一权限限制的优雅解决方案,但也可仅用于组织目的。

如果文档来自 Dynamics,但用户倾向于访问 SharePoint 端的文档,那么拥有一个体面的库结构确实大有裨益......而且无需自己维护 😊。

    常见问题

    1.如何排除与 50,000 个唯一权限限制有关的问题?

    • 检查 SharePoint 健康分析仪:如果接近唯一权限阈值,SharePoint 健康分析仪会发出警报。

    • 使用 PowerShell 脚本:利用 PowerShell 脚本生成具有唯一权限的项目报告。

    • 查看 SharePoint 日志:查看统一日志服务 (ULS) 日志,以确定任何相关的性能或权限问题。

    • 分割内容:如果您的权限已接近上限,请考虑将内容重组到不同的库或网站中,以便更有效地分配权限。

    2.如何确定 SharePoint 环境中的唯一权限是否已接近 50,000 个?

    您可以使用 PowerShell 查询 SharePoint 环境来确定。下面是一个计算唯一权限的示例脚本:

    # 连接至 SharePoint 站点
    $siteURL = "https://your-sharepoint-site-url"
    # 所需凭证:SharePoint 管理员凭证
    Connect-PnPOnline -Url $siteURL -UseWebLogin
    
    # 获取唯一权限计数
    $uniquePermissions = (Get-PnPList | ForEach-Object { $_.GetItems() }).Where({ $_.HasUniqueRoleAssignments }).Count
    Write-Output "具有唯一权限的项目数:$uniquePermissions" ($uniquePermissions)

    该脚本将帮助您识别是否已接近 50,000 次上限。

    3.拥有大量唯一权限对性能有什么影响?

    拥有大量唯一权限会对 SharePoint 性能产生负面影响。具体来说

    • 页面加载速度更慢:具有许多独特权限的网站可能会遇到页面加载时间较慢的问题。

    • 复杂性增加:它可能会使权限管理变得更加复杂,从而可能导致错误和进一步减速。

    • 搜索性能:它会影响 SharePoint 的搜索索引性能,导致搜索结果速度变慢或效率降低。


    关于作者

    Ana Neto

    作者 Ana Neto在Connecting Software担任技术顾问。

    "自 1997 年以来,我一直是一名软件工程师,最近开始喜欢写作和公开演讲。您对本文或 SharePoint Structure Creator 有任何问题或意见吗?我非常希望得到您的反馈!"


    网上有更多的信息吗?

    下面是一些关于这一主题的相关博客文章:


    本文于 2019 年 9 月 12 日首次发布。星号更新于 25-11-2024

    Comments 3

    1. 史蒂夫-巴莫的头像
    2. 安娜-内托的头像 Post
      Author

      谢谢您的相关评论。事实上,5000元是SharePoint在线版的限额。我们文章中提到的限额是针对预置版的。

    3. Thomas Berndorfer的头像

    发表回复

    您的邮箱地址不会被公开。 必填项已用 * 标注

    For security, use of Google's reCAPTCHA service is required which is subject to the Google Privacy Policy and Terms of Use.