在 SharePoint Server 中计划最低权限管理

适用于:yes-img-132013 yes-img-162016 yes-img-192019 yes-img-seSubscription Edition no-img-sopSharePoint in Microsoft 365

最小权限管理的概念就是为用户分配完成授权任务所需的最小权限。 最小权限管理的目标是配置和帮助维持环境的安全控制。 结果是,运行服务的每个帐户仅被授予对所需资源的访问权限。

Microsoft建议使用最低特权管理部署 SharePoint Server。 实施最低特权管理可能会导致运营成本增加,因为可能需要其他资源来维持此级别的管理。 此外,排查安全问题的能力也变得更加复杂。

简介

组织通过实施最小权限管理来实现比通常建议的更为优越的安全环境。 由于维护最低特权管理的资源成本,只有一小部分组织需要这种更高的安全级别。 有些部署可能会要求这一高级别的安全设置,这其中包括政府机构、安全组织和金融服务行业的组织。 不应将最低特权环境的实现与最佳做法相混淆。 在最低特权环境中,管理员将实施最佳做法和其他提升的安全级别。

帐户和服务的最小特权环境

要规划最小权限管理,您必须考虑多个帐户、角色和服务。 一些应用于 SQL Server ,而另一些应用于 SharePoint Server.。 随着管理员锁定其他帐户和服务,日常运营成本可能会增加。

SQL Server 角色

在一个 SharePoint Server 环境中,数个帐户可能会分派到以下两个 SQL Server 服务器级别的角色。 在最小权限 SharePoint Server 环境中,我们建议您只将这些权限分配给 Microsoft SharePoint Foundation 工作流定时服务运行下的帐户。 通常情况下,定时服务在服务器场帐户下运行。 针对日常运行,我们建议您将以下两个 SQL Server 服务器级别的角色移除出用于 SharePoint 管理的其他帐户:

  • Dbcreator - Dbcreator 固定服务器角色的成员可以创建、更改、删除和恢复任意数据库。

  • Securityadmin - securityadmin 固定服务器角色的成员管理登录名及其属性。 他们可以授予、拒绝和 REVOKE 服务器级权限。 如果他们有权访问数据库,则还可以授予、DENY 和 REVOKE 数据库级权限。 此外,他们可以重置 SQL Server 登录名的密码。

注意

授予数据库引擎访问权限和配置用户权限的功能允许安全管理员分配大多数服务器权限。 您应当同等对待 securityadmin 角色与 sysadmin 角色。

有关 SQL Server 服务器级角色的详细信息,请参阅 服务器级角色

如果您移除一个或多个这些 SQL Server 角色,在 管理中心 网站您可能会接收到"意外的"错误消息。 另外,您可能会在统一日志记录服务 (ULS) 日志文件中接收到以下消息:

System.Data.SqlClient.SqlException... <数据库<数据库中>的操作类型>权限被拒绝。 表 <表>

伴随一个错误消息的显示,您可能无法执行下列任务:

  • 还原服务器场的一个备份,因为您无法写入数据库

  • 设置服务实例或网页应用程序

  • 配置托管帐户

  • 更改网页应用程序的托管帐户

  • 在任何要求管理中心网站的数据库、托管帐户或服务上执行任意行为

在特定情形下,数据库管理员 (DBA) 可能想要与 SharePoint Server 管理员彼此独立地执行操作,并创建和管理所有数据库。 这一点在 IT 环境中尤为常见,因为该环境中安全要求和公司策略要求与管理员角色分开。 服务器场管理员为 DBA 提供 SharePoint Server 数据库要求,然后 DBA 再创建所需的数据库并设置该服务器场所要求的登录。

默认情况下,DBA 拥有访问 SQL Server 实例的完全权限,但它需要其他权限才能访问 SharePoint Server。 DBA 在添加、创建、移除或重命名 SharePoint 数据库时,通常使用 Windows PowerShell 3.0,所以他们必须是以下帐户的成员:

  • SQL Server 实例上的 Securityadmin 固定服务器角色。

  • SharePoint 服务器场中所有数据库上的 Db_owner 固定服务器角色。

  • 他们运行 PowerShell cmdlet 的计算机上的管理员组。

此外,DBA 可能还需成为 SharePoint_Shell_Access 角色的一员来访问 SharePoint 内容数据库。 某些情形下,DBA 可能想要将"安装"用户帐户添加到 db_owner 角色。

SharePoint Server 角色和服务

通常情况下,您应该移除从 SharePoint Server 服务帐户创建新数据库的能力。 任何 SharePoint Server 服务帐户都不应在 SQL Server 实例上具有 sysadmin 角色,并且任何 SharePoint Server 服务帐户都不应是运行 SQL Server 的服务器上的本地管理员。

有关 SharePoint Server 帐户的详细信息,请参阅 SharePoint Server 2016 中的帐户权限和安全设置

若要了解 SharePoint Server 2013 中的帐户,请参阅 SharePoint 2013 中的帐户权限和安全设置

下面列出了如何锁定其他 SharePoint Server 角色和服务:

  • SharePoint_Shell_Access role

    当您删除这个 SQL Server 角色时,您也删除了写入配置和内容数据库的条目的能力以及使用 Microsoft PowerShell 执行所有任务的能力。 有关此角色的详细信息,请参阅 Add-SPShellAdmin

  • SharePoint 定时服务 (SPTimerV4)

    建议不要限制授予运行此服务的帐户的默认权限,也不要禁用此帐户。 请改用密码不广为人知的安全用户帐户,让服务保持运行。 默认情况下,该服务在您安装 SharePoint Server 和维持配置缓存信息时已被安装。 如果您将服务类型设置为禁用,那么您可能会遇到以下情况:

    • 计时器作业不运行

    • 运行状况分析器规则不运行

    • 维护和服务器场配置将过期

  • SharePoint 管理服务 (SPAdminV4)

    该服务需要服务器上的本地管理员权限才能执行自动更新。 当服务未运行时,必须手动处理服务器级管理更改。 建议不要限制授予运行此服务的帐户的默认权限,也不要禁用此帐户。 请改用密码不广为人知的安全用户帐户,让服务保持运行。 如果您将服务类型设置为禁用,那么您可能会遇到以下情况:

    • 管理计时器作业不运行

    • Web 配置文件不更新

    • 安全和本地组不更新

    • 注册表值和注册表项不能写入

    • 可能无法启动或重启服务

    • 可能无法完成服务的设置

  • SPUserCodeV4 服务

    此服务允许网站集管理员将沙盒解决方案上传到解决方案库。 如果您没有使用沙盒解决方案,那么您可以禁用此项服务。

  • Windows 令牌服务 (C2WTS) 声明

    默认情况下,此项服务是被禁用的。 使用 Excel Services、PerformancePoint Services 或 SharePoint 共享服务的部署可能需要 C2WTS 服务,这些服务必须在 SharePoint 安全令牌和基于 Windows 的标识之间进行转换。 例如,当您为访问外部数据源配置受拘束的 Kerberos 委派时,需要使用此项服务。 有关 C2WTS 的信息信息,请参阅在 SharePoint Server 中计划 Kerberos 身份验证

在特定情形下,以下功能可能会遇到其他现象:

  • 备份和还原

    如果您删除了数据库权限,执行备份还原的功能可能会失效。

  • 升级

    升级过程会正确启动,但如果对数据库没有适当的权限,则升级过程会失败。 如果您的组织已经处在最小权限环境中,那么解决方法就是将其转换成最佳实践环境以完成这次升级,然后再转换回最小权限环境。

  • 更新

    将软件更新应用于服务器场的功能成功适用于配置数据库的架构,但在内容数据库和服务上失败。

最小权限环境需要注意的其他事项

除了前面的注意事项外,可能还需要考虑更多操作。 以下列表不完整。 请根据您自己的判断选择使用各项:

  • 安装用户帐户 - 该帐户用于安装服务器场中的每一个服务器。 该帐户必须是 SharePoint Server 服务器场中所有服务器上的管理组的成员。 有关该帐户的其他信息,请参阅 在 SharePoint Sever 中启动部署管理和服务帐户

    生成新的 SharePoint 场并且基于的内部版本具有 2022 年 10 月 CU 或新滑入生成过程时,您使用的是最低特权安全模型。 在场中的第一台服务器上完成 psconfig 后,在运行场配置向导或预配其他组件之前,必须执行以下命令以确保访问 SharePoint 数据库:

    Get-SPDatabase | %{$_.GrantOwnerAccessToDatabaseAccount()}
    
  • 同步帐户 - 对于 SharePoint Server,此帐户用于连接到目录服务。 建议不要限制授予运行此服务的帐户的默认权限,也不要禁用此帐户。 请改用密码不广为人知的安全用户帐户,让服务保持运行。 此帐户还需要对 AD DS 具有“复制目录更改”权限,这使该帐户能够读取 AD DS 对象并发现域中已更改的 AD DS 对象。 “授予复制目录更改”权限不会使帐户能够创建、更改或删除 AD DS 对象。

  • "我的网站"宿主应用程序池帐户 - 这是我的网站应用程序池运行的帐户。 若要配置该帐户,您必须是服务器场管理组的成员。 您可以限制该帐户的权限。

  • 内置用户组 - 删除这个内置用户安全组,或者更改可能会导致不可预期后果的权限。 建议不要将权限限制为任何内置帐户或组。

  • 组权限 - 默认情况下, WSS_ADMIN_WPG SharePoint 组具有本地资源的读取和写入访问权限。 若要使 SharePoint Server 正常工作,需要以下 WSS_ADMIN_WPG 文件系统位置、 %WINDIR%\System32\drivers\etc\Hosts%WINDIR%\Tasks 。 如果服务器上正在运行其他服务或应用程序,您可能需要思考它们访问任务或主机文件夹位置的方式。 有关 SharePoint Server 帐户设置的其他信息,请参阅 SharePoint Server 2016 中的帐户权限和安全设置

    有关 SharePoint Server 2013 中的帐户信息,请参阅 SharePoint 2013 中的帐户权限和安全设置

  • 服务的更改权限 - 一项服务的权限的更改可能会导致不可预期的后果。 例如,如果以下注册表项 HKLM\System\CurrentControlSet\Services\PerfProc\Performance\Disable Performance Counters 的值为 0,将会禁用用户代码主机服务,这也将导致沙箱解决方案停止运作。

另请参阅

其他资源

SharePoint 2013 工作流管理器的最小权限配置