SharePoint Server 中的 Business Connectivity Services 安全任务概述
**上一次修改主题:**2017-07-27
**摘要:**了解 SharePoint Server 2016 和 SharePoint Server 2013 中的 Microsoft Business Connectivity Services 安全性。
假定通过 Microsoft Business Connectivity Services (BCS) 使用的数据的安全性是每个 BCS 解决方案的一个关键部分。与常规的 SharePoint 数据(存储在 SharePoint 内容数据库中)不同,BCS 解决方案显示的数据位于 SharePoint 之外的外部系统中。BCS 提供了 SharePoint 用于获取外部数据的渠道。除了在常规 SharePoint Server安全控件(例如网站访问权限和列表权限)中使用外,BCS 解决方案还必须处理其他通信和安全层。例如,外部系统可能会使用其他身份验证机制或提供程序,且需要不同于用户访问 SharePoint Server所用凭据的其他凭据。因为 BCS 解决方案中存在更多安全层,所以会涉及更多安全性配置任务。
Business Connectivity Services 安全性任务将由三种不同角色承担:IT 专业人员;网站集管理员或者网站所有者;以及开发人员。以下示例描述每个角色负责的内容。
IT 专业人员有责任管理元数据存储及其内容的安全性。他们还会处理 Secure Store Service 中的帐户和组管理以及凭据映射。
网站集管理员以及网站所有者负责了解外部系统使用的安全类型以及如何配置无代码或声明性的外部内容类型,以便与之进行通信。他们还负责规划安全性并将其应用到外部列表和业务数据 Web 部件。
BCS 解决方案开发人员负责了解外部系统使用的安全类型以及如何配置 BDC 模型与之进行通信,以及有关开发和部署 Office 和 SharePoint 相关应用程序的安全性。
Business Connectivity Services 安全性
委派对“Business Data Connectivity Service”的管理权
服务器场管理员应在创建 Business Data Connectivity Service 实例后执行的第一项任务是向其他帐户(最好是没有服务器场管理员权限的帐户)委派该服务的管理权。此最佳实践遵循最小特权原则。将授予委派的帐户打开 SharePoint 管理中心网站和访问 Business Data Connectivity Service 服务应用程序的必要权限。这应该是用于管理服务的主帐户。可以授予或撤消的唯一权限是“完全控制”。
管理元数据存储及其内容的权限
元数据存储包含外部内容类型、外部系统和 Business Data Connectivity Service 应用程序使用的 BDC 模型定义。BCS Services 管理员的主要作业之一是管理元数据存储及其包含的所有项目的安全性。元数据存储中的项目通过两种方式获得其权限。第一,您可以直接将权限应用于元数据存储、BDC 模型、外部系统或外部内容类型。第二种方法是通过从更高级别的项目继承权限。下图中显示了这两种方法。
图:元数据存储权限
继承 继承的方式有两种。第一种:任何项目添加到元数据存储时,都将继承元数据存储本身的权限配置。第二种:元数据存储、外部系统和外部内容类型项目可以强制覆盖位于层次结构中这些项目下方的项目的权限。当您在设置父项的权限时选择“将权限传播给所有…”并单击“确定”时,将会发生这种情况。
直接应用 如果项目的权限未满足自己的需求,则可以手动调整权限。
您可直接应用四种权限:
编辑 这允许用户或组编辑项目
执行 这允许用户或组对元数据存储中的外部内容类型执行操作(创建、读取、更新、删除、查询)。BCS 解决方案的所有用户都必须具有关联的外部内容类型的执行权限。
在客户端中可选 这允许用户或组将外部内容类型用于外部列表以及 SharePoint 相关应用程序(方法是使外部内容类型可在外部项选取器中使用)
设置权限 这允许用户或组对项目设置权限。每个项目都必须至少具有一个拥有“设置权限”权限的用户或组。
管理元数据存储权限的建议
选择一个帐户(可以是 Business Connectivity Services 管理员帐户),并在元数据存储级别授予其“设置权限”权限。这将满足每个项目具有一个用户或组(其安全托管管理帐户拥有“设置权限”权限)的要求。如果未明确设置帐户,默认情况下会使用服务器场帐户。不要选择“将权限传播给所有”选项。不必选择“将权限传播给所有”选项,因为每个项目添加到元数据存储时都将继承此配置。这还会阻止不必要的帐户获取对任何外部系统、BDC 模型或者他们不应具有的外部内容类型的访问权。
使用直接应用方法,对各个项目配置权限,同样不要选择“将权限传播给所有”选项。这将允许您维护每个对象的唯一权限配置。
作为您的维护和操作计划的一部分,定期查看始于元数据存储级别以及向下移至层次结构的权限配置,以确保每个项目具有正确的权限配置。如果权限配置与它原来的配置有偏差,则您应当对其手动重新配置。
当您必须完全重置父项及其所有子项的所有权限时,您只能使用“将权限传播给所有”选项。请注意,这是一个破坏性过程且子项的所有自定义权限将丢失。此操作可能会中断丢失其权限的用户或组的 BCS 解决方案。
在 Secure Store Service 中映射帐户和组
BCS 无法将 SharePoint Server 服务器场外部的用户凭据传递到数据驻留的外部系统,除非已配置 Kerberos 约束委派。配置和维护 Kerberos 约束委派较为困难。或者,可以使用 Secure Store Service。通过 Secure Store 可以将一组用户映射到一组凭据,BCS 可以使用这些凭据访问外部系统。
配置映射的方法有两种:
组映射 在组映射目标应用程序中,将 AD DS 用户帐户和安全组添加到 Secure Store,然后将其映射到外部系统的一组凭据。这是管理 BCS 解决方案访问的最简单的方法。
个人映射 在个人映射目标应用程序中,只能将单个 AD DS 用户帐户映射到外部系统的一组凭据。基本上,这是一对一映射。如果要管理的帐户非常少或者如果希望跟踪外部系统的访问和活动,通常可以执行此操作。
管理 Business Data Connectivity Service 应用程序上的权限
默认情况下,会通过服务器场帐户向服务器场中的每个 Web 应用程序授予对 Business Data Connectivity Service 应用程序的访问权。如果希望将访问限制为仅特定的 Web 应用程序,可以通过删除服务器场帐户然后添加所需 Web 应用程序的应用程序池标识帐户来对此进行更改。通过执行此操作,可控制哪些 Web 应用程序有权访问 Business Data Connectivity Service 应用程序。有关详细信息,请参阅在 SharePoint Server 中设置针对已发布服务应用程序的权限。
如果要将 Business Data Connectivity Service 应用程序发布到其他服务器场,则必须添加使用服务器场的服务器场 ID。有关详细信息,请参阅在 SharePoint Server 中跨服务器场共享服务应用程序。