【知识点】业务链接服务(BCS)认证概念整理

业务链接服务(BCS)认证概念整理html

I. BDC认证模型前端

BDC服务支持两种认证模型:信任的子系统,模拟和代理。数据库

在信任的子系统模型中,中间层(一般是Web服务器)经过一个固定的身份来向后端服务器取得认证。选项信任的子系统模型通常基于以下的缘由:后端

· 拥有和管理后端服务器的组向一个它们管理的帐号赋予了访问权限;
· 它提供链接池;
· 它减小了后端服务器的许可(licensing)成本;
· 它相对简单。浏览器

在模拟和代理模型中,客户端代理了中间层的认证,即中间层模拟客户端以客户端的身份取得后端服务器的认证。选择此认证模型通常基于以下缘由:安全

· 适应后端服务器对于每用户受权的需求;
· 知足后端服务器审计须要。服务器

II. 适用于数据库及Web服务的BDC认证模式app

在经过BDC链接数据库或Web服务系统时,可选用以下模式:ide

1. Pass-Through Authentication (Database and Web Service Systems)测试

Pass-through认证是操做系统将客户端的认证信息直接传递给后端服务器。BDC对数据库和Web服务链接均支持Pass-through模式。当使用Pass-through模式时,后端认证对象即登陆用户。

当BDC经过Web页面访问时,它运行在Web前端服务器的IIS工做进程w3wp.exe上。这个进程的身份是IIS应用池帐号,而非模拟登陆用户执行服务请求的线程。为避免在DBC向后端服务器认证时丢失了登陆用户身份,你必须在运行IIS的服务与其余计算机之间启用Kerberos代理。Kerberos代理能够保证接收服务器将认证请求发送到正确的位置。

当BDC被用来爬网时,它运行在过滤器守护进程mssdmn.exe中。为访问后端的内容源,在过滤器守护进程中的线程模拟与后端内容源关联的内容访问帐号。

然而,在使用pass-through认证时,操做系统仅仅暴露用户名和密码。所以,若是一个公司使用两因子(two-factor)认证(也就是说,除了用户名和密码,用户还被要求一些指定的或私有的信息),pass-through认证将不能工做。

尽管有这些不足,但因为使用的简单性,在测试环境或目标服务器使用匿名认证的状况下,pass-through都一个很好的选择。

2. RevertToSelf Authentication (Database and Web Service Systems)

若是一个用户使用Windows认证登陆,IIS将模拟那个特殊的帐号。所以,当IIS以应用池身份运行时,它模拟登陆用户;而且,在被传递出去以前,请求(request)以用户的模拟身份运行。

RevertToSelf(中止模拟)认证使得你从模拟认证复原到IIS应用池的底层配置帐号。

3. WindowsCredentials (Database and Web Service Systems)

SharePoint Server 2010经过从它的缺省安全存储服务(SSS)得到的Windows凭据进行认证。

4. RdbCredentials (Database Systems Only)

在数据库凭据模式中,SharePoint Server 2010经过从它的缺省安全存储服务(SSS)得到的数据库凭据进行认证。SharePoint服务器将数据库凭据添加到链接串中,并将此凭据传输到数据库服务器。

5. Credentials (Web Service Systems Only)

SharePoint Server 2010经过使用凭据而非从缺省安全存储服务得到的Windows凭据对Web服务系统进行认证。根据Web服务服务器的配置,这些凭据被用做基本或摘要认证。由于基本和摘要认证没有充分地保护凭据,因此你应当使用SSL,IPsec或同时使用二者在Web服务服务器和运行BDC的服务器之间实现安全通讯。

6. DigestCredentials (WCF Web Service Systems Only)

在摘要凭据认证模式下,SharePoint Server 2010使用缺省安全存储服务将用户凭据映射到凭据而非Windows认证所使用的凭据。映射的凭据被用做摘要认证。由于摘要认证没有充分地保护凭据,因此你应当使用SSL,IPsec或同时使用二者在WCF Web服务服务器和运行BDC的服务器之间实现安全通讯。

总结:

认证模式

适用于

使用场景

PassThrough

Databases and Web services

· 经过一个单一盒(single-box)配置用于测试环境(数据库服务器和SharePoint服务器在同一台机器上)。
· 所处的域容许Kerberos代理。
· 目的服务器或Web服务使用匿名认证或SSL链接。

RevertToSelf

Databases and Web services

须要将模拟帐户复原为IIS配置的底层帐号来认证。

WindowsCredentials

Databases and Web services

若是数据库服务器或Web服务使用Windows认证。你须要为这种模式设置安全存储服务。

RdbCredentials

Database systems only

若是你的数据库服务器使用数据库凭据(好比,你的SQL Server服务器使用SQL Server认证而非Windows认证)。你须要为这种模式设置安全存储服务。

Credentials

Web service systems only

若是你的Web服务使用凭据而非Windows凭据。你须要为这种模式设置安全存储服务。

DigestCredentials

WCF Web service systems only

若是你的WCF Web服务使用凭据而非用于摘要认证的Windows凭据。你须要为这种模式设置安全存储服务。

III. 各认证模式所属的认证模型

模型(Pattern/Model)

PassThrough

RevertToSelf

凭据, 摘要凭据, 数据库凭据, Windows凭据 (安全存储我的应用)

凭据, 摘要凭据, 数据库凭据, Windows凭据 (安全存储组应用)

Trusted Subsystem

 

Yes

 

Yes

Impersonation and Delegation

Yes

 

Yes

 

参考:
http://msdn.microsoft.com/en-us/library/ms566523(v=office.14).aspx

IV. 身份验证模式 (外部内容类型 > 外部系统(数据源) > 数据库属性)

1. 用户标识

官方:BDC使用请求外部数据的SharePoint用户的标识来向数据源进行认证。

补充:使用用户标识进行链接,其实就是曾在BDC认证中用过的名为直通(PassThrough)的验证方式。这意味着,Windows身份验证的用户安全令牌将被从浏览器传递给IIS,而后再传递到SQL。这个种方式在开发环境中每每没问题,可是部署到生产环境可能会遇到双跃点问题。

2. BDC标识(RevertToSelf)

官方:

补充:在新建的对话框中你不会看到“RevertToSelf”的选项,须按以下方式实现。首先,执行以下PowerShell脚本打开BCS的RevertToSelf开关:

$bdc = Get-SPServiceApplication | where {$_ -match "Business Data Connectivity"}
$bdc.RevertToSelfAllowed = $true
$bdc.Update()

而后,在建立数据链接时选择 “使用用户标识进行链接”。当链接创建好后,再选择功能区中的“编辑链接属性”,修改身份验证的方式为“BDC标识”。

3. 模拟(impersonated)Windows标识(identity)

官方:BDC将调用者的标识发送给安全存储服务(SSS)。SSS提供映射到调用者标识的Windows凭据。BDC使用映射的Windows凭据向数据源进行认证。

补充:剩下的两个选项都是指向安全存储服务(SSS)。SSS将会在接下来的博文中进行全面解释。 SSS容许咱们经过Windows用户,或者某个自定义帐户,好比一个联盟的SAML用户账户进行数据源链接。 

4. 模拟(impersonated)自定义标识(identity)

官方:BDC将调用者的标识发送给安全存储服务(SSS)。SSS提供映射到调用者标识的一套自定义凭据(好比表单认证用户名和密码)。BDC使用映射的自定义凭据向数据源进行认证。

补充:当安全存储服务(SSS)被选择做为访问外部数据源的认证用户,而且自定义帐号被用于基于表单的认证(FBA)时,须要使用“经过模拟自定义标识链接”。

参考:
http://msdn.microsoft.com/en-us/library/ff798448.aspx
http://blogs.msdn.com/b/sridhara/archive/2010/03/10/bcs-and-external-list-learning-part2.aspx
http://www.cnblogs.com/Sunmoonfire/archive/2010/06/29/1767673.html
http://lightningtools.com/bcs/creating-an-external-content-type-with-sharepoint-designer-2013/

V. BDC访问权限与安全存储服务(SSS)模拟Windows凭据权限

在外部系统的身份验证模式为“模拟Windows标识”的状况下,用户从前端(SharePoint页面)请求外部列表数据,到返回列表数据会涉及到两种权限,一种是SharePoint用于对BDC元数据对象的访问权限,一种是模拟Windows凭据对数据源的访问权限。其中,模拟Windows凭据在“管理中心 > 管理服务应用程序 > Secure Storage Service”页面进行管理,以下图:

对BDC元数据对象的访问权限在“管理中心 > 管理服务应用程序 > Business Connectivity Service”页面配置,以下图:

也就是说,要保证外部列表有权限被读取,首先要保证当前SharePoint用户被授予BDC元数据对象的访问权限;其次要保证在SSS中添加的模拟Windows凭据对数据源有访问权限。

参考:
http://blogs.msdn.com/b/sridhara/archive/2010/01/27/setting-up-bcs-with-secure-store-application-impersonation.aspx

相关文章
相关标签/搜索