应对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 将显示错误信息,错误信息可能因版本和操作而异。您可能会看到 "由于此列表中具有唯一权限的项目太多,您无法打破此项目的继承 "或 “由于文件夹中的项目太多,打破角色继承的操作失败”。”

SharePoint 错误 - 由于文件夹中的项目过多,打破角色继承的操作失败。.SharePoint 错误 - 由于此列表中具有唯一权限的项目太多,因此无法打破此项目的继承权"。"

其次,即使在达到这个限制之前,随着列表或库中唯一权限数量的增加,你可能会遇到性能下降的问题。微软自己也证实,当唯一权限达到 5,000 个左右时,可能会开始出现这种情况,并建议你保持在这一限制之下。.

这对我有影响吗?

这会影响任何大量使用唯一项目权限的 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 2010SharePoint 2013, SharePoint 2016年和2019年SharePoint for Microsoft 365.

其中明确提到:"随着列表中唯一权限数量的增加,查询性能将下降。即使默认限制为 50,000 个唯一权限,您也可以考虑将此限制降至 5,000 个唯一权限"。或 “支持的列表或库中项目的唯一权限限制为 50,000。但是,建议的一般限制为 5000。微软还指出:”如果您在达到此限制后尝试声明唯一权限,您将被阻止这样做"。"

我能做什么?

让我们来讨论一下可能的解决方案和替代办法。最明显的选择是减少文件数量。然而,这对大多数组织来说并不可行,因为文件不可能在一夜之间消失。.

第二种选择是将文档存储在其他地方。这个方案的问题是,要么会导致功能的损失(加上生产力的损失,因为你必须让用户改变他们做事的方式),要么会导致高昂的额外成本。或者两者皆有😊。

第三种选择是以不同的方式组织文件。每个列表或库都设置了上限,因此拥有多个库可以帮助你避免达到上限。这样做的问题(为什么总是有问题?)是很难手动完成。此外,你还需要用户与你合作。否则,您最终可能会拥有一个无人理解、无人跟得上的库结构......

好消息是,如果您的文档来自 Dynamics,可以通过使用 SharePoint Structure Creator. .SharePoint Structure Creator 可将文档放入不同的文档库,这些文档库是根据您配置的规则自动创建的。可用选项包括

  • 每个时期(年、季、月、周、日或自定义)的文件库
  • 每个字母或字母组合的文件库(基于记录名称的起始字符或记录 ID 的起始字符
  • 每个记录的文件库
  • 使用简单的 LUA 脚本设置最适合贵组织的其他组合。.

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

完成这个简单(但功能强大!)的配置后,一切都将自动完成。.

从最终用户的角度来看,唯一的区别就是库组织(即便如此,也只是在 SharePoint 中)。如果是在 Dynamics 内部,他们不会注意到任何区别。在用户看来,这就是一个完全正常的 Dynamics 文档......这是件好事!

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

  • Dynamics CRM 2013、2015、2016 和 Dynamics 365 Customer Engagement(包括 Dynamics 365 Sales、Dynamics 365 Customer Service 和 Dynamics 365 Field Service)。
  • SharePoint 2013、2016、2019、SharePoint Online 和 SharePoint for Microsoft 365

该附加组件与SharePoint和Dynamics之间的通信使用的是 Connect Bridge平台. .这意味着所有操作都通过 REST API 进行。该解决方案还兼容您环境中的自定义 Dataverse 解决方案。.

SharePoint Structure Creator怎么上手?

首先,您需要决定是否要与以下设备一起安装 CB Dynamics 365 to SharePoint Permissions Replicator 或不需要。我建议您预订一个个性化的演示,因为我们的技术团队可以帮助您评估是否需要它。如果您想自行评估该工具,可以获取 免费试用 Permissions Replicator 可自行托管或部署在 Azure 上,有关部署选项的更多信息,请访问 此处.

SharePoint Structure Creator 有自己的试用版,既有 SaaS 试用 和a 自助试用. .您还可以查看 价格信息 然后,只需按照以下指南中的简单步骤操作 在线文件.

那么你可以放心,这是一个你永远不必担心的问题。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 年以来,我一直是一名软件工程师,最近开始喜欢写作和公开演讲。您对本文有任何问题或评论吗?欢迎在下方留言!"


    网上有更多的信息吗?

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


    本文于 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.