Business Connectivity Services 安全性操作 (SharePoint Server 2010)

 

适用于: SharePoint Foundation 2010, SharePoint Server 2010

上一次修改主题: 2016-11-30

本文介绍与安全相关的 Business Data Connectivity Service 应用程序管理任务。

本文内容:

  • 为 Business Data Connectivity Service 应用程序指派管理员

  • 设置对元数据存储的权限

  • RevertToSelf 身份验证模式

  • 工作流和外部列表

  • 设置允许使用服务器场生成部署包的权限

为 Business Data Connectivity Service 应用程序指派管理员

服务器场管理员可以将特定 Business Data Connectivity Service 应用程序的管理权委派给服务应用程序管理员。委派的管理员有权访问管理中心网站并可以执行与该 Business Data Connectivity Service 应用程序相关的管理任务。

提示

委派的管理员无权访问元数据存储。

为 Business Data Connectivity Service 应用程序指派管理员

  1. 确认您拥有以下管理凭据:

    • 您必须是服务器场管理员。
  2. 在管理中心网站上的“应用程序管理”部分,单击“管理服务应用程序”。

  3. 在服务应用程序列表中,单击包含 Business Data Connectivity Service 应用程序的行。

  4. 在“服务应用程序”选项卡中的“操作”部分,单击“管理员”。

  5. 在文本框中,键入或选择用户帐户或组帐户,然后单击“添加”。

  6. 在“权限”框中,单击“完全控制”,然后单击“确定”。

设置对元数据存储的权限

每个 Business Data Connectivity Service 应用程序都有一个元数据存储,其中包括为该存储定义的所有模型、外部系统、外部内容类型、方法和方法实例。设置对元数据存储的权限可指定谁可以编辑元数据存储中的项目以及谁可以设置对元数据存储的权限。

建议您通过使凭据提供执行所需任务必需的最小特权来为每个用户或组提供所需特定权限。有关设置权限的详细信息,请参阅“Business Connectivity Services 安全性概述 (SharePoint Server 2010)”中的 Business Connectivity Services 权限概述

设置对元数据存储的权限

  1. 确保您拥有以下管理凭据之一:

    • 您必须是服务器场管理员。

    • 您必须是 Business Data Connectivity Service 应用程序管理员并且对元数据存储具有“设置权限”权限。

  2. 在管理中心网站上的“应用程序管理”部分,单击“管理服务应用程序”。

  3. 在服务应用程序列表中,单击包含 Business Data Connectivity Service 应用程序的行。

  4. 在“服务应用程序”选项卡上的“操作”部分,单击“管理”。

  5. 在“编辑”选项卡上的“权限”组中,单击“设置元数据存储权限”。

  6. 在相应的文本框中,键入要为其授予权限的用户帐户、组或声明,然后单击“添加”。

    备注

    用户帐户、组或声明的名称中不能包含竖线 (|)。

  7. 为帐户、组或声明设置权限:

    备注

    元数据对象的访问控制列表中至少有一个用户、组或声明必须具有“设置权限”权限。

    • 单击“编辑”可允许用户、组或声明创建外部系统、创建模型、导入模型和导出模型。

      安全注释Security Note
      应将“编辑”权限视为很大的特权。使用“编辑”权限,恶意用户可以窃取凭据或损坏服务器场。为帮助保护解决方案,建议您使用可在其中自由地为开发人员和解决方案设计人员指派“编辑”权限的测试环境。在将经测试的解决方案部署到生产环境中时,可移除“编辑”权限。
    • 单击“执行”可允许用户、组或声明对外部内容类型执行操作(创建、读取、更新、删除或查询)。

      提示

      “执行”权限不适用于元数据存储本身。在您希望将“执行”权限传播给元数据存储中的子对象时,使用此设置。

    • 单击“在客户端中可选”可允许用户、组或声明创建任何外部内容类型的外部列表和查看外部项选取器中的外部内容类型。

      提示

      “在客户端中可选”权限不适用于元数据存储本身。在您希望将“在客户端中可选”权限传播给元数据存储中的子对象时,使用此设置。

    • 单击“设置权限”可允许用户、组或声明设置对元数据存储的权限。

      安全注释Security Note
      应将“设置权限”权限视为很大的特权。使用“设置权限”权限,用户可以授予对元数据存储的“编辑”权限。
  8. 若要将权限传播给元数据存储中的所有项目,请单击“将权限传播给 BDC 元数据存储区中的所有 BDC 模型、外部系统和外部内容类型。执行此操作将覆盖现有权限”。

RevertToSelf 身份验证模式

每个外部内容类型都有相关的身份验证模式。身份验证模式为 Business Connectivity Services 提供有关如何处理来自用户的传入身份验证请求并将该请求映射到可传递给外部系统的一组凭据的信息。默认情况下未启用 RevertToSelf 身份验证模式(又称为 BDC 标识身份验证模式)。在未启用 RevertToSelf 身份验证模式时,您无法创建或导入使用 RevertToSelf 的模型。

RevertToSelf 身份验证模式使用 Business Connectivity Services 运行所用的应用程序池帐户来对登录到外部系统的用户进行验证。例如,当用户打开外部列表时,将使用外部列表所在的前端 Web 服务器的应用程序池帐户进行验证。应用程序池帐户是具有很大特权的帐户。默认情况下,应用程序池帐户对服务器场配置数据库具有写入权限。通过使用 RevertToSelf 模式,可以创建或编辑使用 RevertToSelf 模式的模型的任何人都可以使自己成为 SharePoint 服务器场的管理员。

不建议对生产环境使用 RevertToSelf 身份验证模式。建议使用 Secure Store Service。

如果必须在生产环境中使用 RevertToSelf 身份验证模式,请考虑以下事项:

  • 从安全角度看,应将可以创建或编辑模型的任何用户(包括 SharePoint Designer 用户)视为服务器场管理员。您必须能够像信任服务器场管理员那样信任他们。

  • 您必须尽可能锁定应用程序池帐户的使用。这样做可帮助限制恶意用户可以对 SharePoint 服务器场和外部系统进行的损害。

启用 RevertToSelf 身份验证模式

启用 RevertToSelf 身份验证模式后,可以创建和导入使用 RevertToSelf 的新模型。

安全注释Security Note
不建议对生产环境使用 RevertToSelf 身份验证模式。在启用 RevertToSelf 身份验证模式之前,请确保您已阅读并了解启用 RevertToSelf 身份验证模式的含义。

备注

在宿主环境中不允许使用 RevertToSelf 模式。

启用 RevertToSelf 身份验证模式

  1. 确认您满足以下最低要求:请参阅 Add-SPShellAdmin

  2. 在“开始”菜单上,单击“所有程序”。

  3. 单击“Microsoft SharePoint 2010 产品”。

  4. 单击“SharePoint 2010 Management Shell”。

  5. 在 Windows PowerShell 命令提示符处,键入以下命令:

    1. 若要创建包含 Business Data Connectivity Service 应用程序对象的变量,请键入以下命令:

      $bdc = Get-SPServiceApplication | where {$_ -match "<ServiceName>"}
      

      其中,<服务名称> 是 Business Data Connectivity Service 应用程序的名称。它也可以是正则表达式(如“BDC”)。

      备注

      如果 Business Data Connectivity Service 应用程序是共享服务应用程序,则必须在用于发布该服务应用程序的服务器场上运行此命令。

    2. 若要启用 RevertToSelf 身份验证模式,请键入以下命令:

      $bdc.RevertToSelfAllowed = $true
      

禁用 RevertToSelf 身份验证模式

禁用 RevertToSelf 后,将无法创建或导入使用 RevertToSelf 的新模型。

备注

如果您的现有模型使用 RevertToSelf,则它们将继续工作。如果要从服务器场中移除 RevertToSelf 身份验证的所有实例,则必须删除现有模型。

禁用 RevertToSelf 身份验证模式

  1. 确认您满足以下最低要求:请参阅 Add-SPShellAdmin

  2. 在“开始”菜单上,单击“所有程序”。

  3. 单击“Microsoft SharePoint 2010 产品”。

  4. 单击“SharePoint 2010 Management Shell”。

  5. 在 Windows PowerShell 命令提示符处,键入以下命令:

    1. 若要创建包含 Business Data Connectivity Service 应用程序的变量,请键入以下命令:

      $bdc = Get-SPServiceApplication | where {$_ -match "<ServiceName>"}
      

      其中,<服务名称> 是 Business Data Connectivity Service 应用程序的名称。它也可以是正则表达式(如“BDC”)。

      备注

      如果 Business Data Connectivity Service 应用程序是共享服务应用程序,则必须在用于发布该服务应用程序的服务器场上运行此命令。

    2. 若要禁用 RevertToSelf 身份验证模式,请键入以下命令:

      $bdc.RevertToSelfAllowed = $false
      

工作流和外部列表

当您希望开发与外部列表交互的工作流时,需要其他配置。以下几节将介绍可影响工作流行为的要求。

备注

工作流无法与宿主环境中的外部列表交互。

工作流无法与外部列表直接相关联

因为外部数据不存储在 SharePoint Server 中,所以在外部列表中的项目更改时无法通知工作流。您可以创建网站工作流或列表工作流,然后让该工作流读取或更新外部列表。您还可以在 SharePoint Designer 中使用外部列表项作为任务流程的目标;但是,任务的链接不会显示外部列表项的标题。

工作流有时以服务帐户的形式运行

在以下情形下,工作流以服务帐户(通常为应用程序池帐户)的形式运行:

  • Visual Studio 工作流。

  • 与外部列表交互并自动启动的声明性工作流。当您使用工作流中的模拟步骤时,也是如此。

在这种情况下,您必须为服务帐户提供对与外部列表相关的外部内容类型的“执行”权限,并验证服务帐户是否具有访问外部系统所需的权限。

工作流和身份验证

为支持工作流活动,与外部列表相关的外部内容类型必须使用 RevertToSelf 或 Secure Store Service 进行验证。

备注

如果您使用的是 .NET 程序集连接器或自定义连接器,则这些身份验证模式限制将不适用。

  • 使用 RevertToSelf 进行验证

    RevertToSelf 身份验证模式(又称为 BDC 标识身份验证模式)通过使用外部列表所在的前端 Web 服务器的应用程序池帐户对外部系统进行验证。这意味着,应用程序池帐户必须有权访问外部系统。默认情况下未启用 RevertToSelf 身份验证。您必须启用 RevertToSelf 身份验证模式,才能创建或导入使用 RevertToSelf 身份验证的模型。

    安全注释Security Note
    不建议对生产环境使用 RevertToSelf 身份验证。

    有关 RevertToSelf 身份验证的详细信息,请参阅 RevertToSelf 身份验证模式。

  • 使用 Secure Store Service 进行验证

    Secure Store Service 允许您安全地存储数据,以便提供连接到外部系统所需的凭据并将这些凭据与特定标识或一组标识相关联。您必须确保外部内容类型使用 Secure Store Service 身份验证模式之一。

    安全注释Security Note
    如果工作流以服务帐户的形式运行,建议您将服务帐户映射到具有较低权限的帐户。例如,您可以创建将服务帐户映射到具有最少权限的帐户并只能访问所需外部系统的安全存储目标应用程序 ID。

有关身份验证模式的详细信息,请参阅“Business Connectivity Services 安全性概述 (SharePoint Server 2010)”中的 Business Connectivity Service 身份验证概述

设置允许使用服务器场生成部署包的权限

可跨服务器场共享 Business Data Connectivity Service 应用程序。包含 Business Data Connectivity Service 应用程序并发布 Business Data Connectivity Service 应用程序的服务器场称为发布服务器场。使用服务器场是连接到远程位置来使用 Business Data Connectivity Service 应用程序的服务器场。

当用户使外部列表脱机时,外部列表所在的前端 Web 服务器使用的应用程序池帐户将生成部署包,然后会将该部署包安装在客户端计算机上。在发布服务器场中,前端服务器的应用程序池帐户对元数据存储具有完全权限,以便它可以生成部署包。如果您希望使用服务器场能够生成部署包,则必须为使用服务器场上的前端服务器使用的应用程序池帐户提供对元数据存储的“编辑”和“设置权限”权限。如果您没有为应用程序池帐户提供这些附加权限,则无法使驻留在使用服务器场上的外部列表脱机。

安全注释Security Note
为使用服务器场的应用程序池帐户提供对元数据存储的“编辑”和“设置权限”权限会使该帐户成为发布服务器场上的服务器场管理员。

备注

本节只适用于内部 SharePoint Server 部署。

有关外部列表部署的详细信息,请参阅规划 Business Connectivity Services 客户端集成 (SharePoint Server 2010)

为使用服务器场的应用程序池帐户指派权限

  1. 确保您拥有以下管理凭据之一:

    • 您必须是发布服务器场上的场管理员。

    • 您必须是 Business Data Connectivity Service 应用程序的管理员并且对元数据存储具有“设置权限”权限。

  2. 在发布服务器场的管理中心网站上的“应用程序管理”部分下,单击“管理服务应用程序”。

  3. 单击 Business Data Connectivity Service 应用程序的实例。

  4. 在“编辑”选项卡下的“权限”组中,单击“设置元数据存储权限”。

  5. 在文本框中,键入使用服务器场上前端 Web 服务器使用的应用程序池帐户,然后单击“添加”。

  6. 在“权限”框中,单击“编辑”,然后单击“设置权限”。

  7. 单击“确定”。

有关共享服务应用程序的详细信息,请参阅跨服务器场共享服务应用程序 (SharePoint Server 2010)

See Also

Concepts

Business Connectivity Services 安全性概述 (SharePoint Server 2010)