SharePoint Server 中的服务器到服务器身份验证和用户配置文件

 

**上一次修改主题:**2017-08-24

**摘要:**了解如何计划用户配置文件,以实现 SharePoint Server 2013 和 SharePoint Server 2016 中的服务器间身份验证。

使用服务器间身份验证,支持服务器间身份验证的服务器可以代表用户从另一台服务器访问和请求获取资源。因此,运行 SharePoint Server 并处理传入资源请求的服务器必须能够完成以下两项任务:

  • 将请求解析到特定的 SharePoint 用户

  • 确定与用户关联的角色声明组,这是一个称作解除冻结 用户标识的过程

为了解除冻结用户标识,可执行服务器间身份验证的服务器将请求访问 SharePoint 资源。SharePoint Server 将提取传入安全令牌中的声明,并将它解析为特定的 SharePoint 用户。默认情况下,SharePoint Server 使用内置 User Profile Service 应用程序来解析标识。

用于查找相应用户配置文件的关键用户属性如下:

  • Windows 安全标识符 (SID)

  • Active Directory 域服务 (AD DS) 用户主体名称 (UPN)

  • 简单邮件传输协议 (SMTP) 地址

  • 会话初始协议 (SIP) 地址

因此,这些用户属性中至少有一个必须是用户配置文件中的最新属性。

备注

仅对于 SharePoint Server 2013,建议定期执行从标识存储到 User Profile Service 应用程序的同步。有关详细信息,请参阅为 SharePoint Server 2013 规划配置文件同步

此外,SharePoint Server 在基于这四个属性的给定查找查询的 User Profile Service 应用程序中仅需一个匹配条目。否则,它会返回已找到多个用户配置文件的错误情况。因此,应定期删除 User Profile Service 应用程序中过时的用户配置文件,以免存在多个共用这四个属性的用户配置文件。

如果用户配置文件和用户的相关组成员身份并未同步,SharePoint Server 可能会错误地拒绝访问给定资源。因此,请确保相应组成员身份已与 User Profile Service 应用程序同步。对于 Windows 声明,User Profile Service 应用程序将导入前面提及的四个关键用户属性和组成员身份。

对于基于表单和基于安全声明标记语言 (SAML) 的声明身份验证,您必须执行以下操作之一:

  • 创建与 User Profile Service 应用程序支持的数据源的同步连接,并将该连接与基于表单或 SAML 的特定身份验证提供程序相关联。此外,还必须将用户存储中的属性映射到前面提及的四个用户属性,或者可从数据源中获得的一样多的属性。

  • 创建并部署自定义组件以手动执行同步。这对于不使用 Windows 的用户而言是最可能的选项。请注意,当解除冻结用户的标识以获取其角色声明时,将调用基于表单或 SAML 的身份验证提供程序。

针对请求服务器的用户解除冻结

如果请求服务器运行 Exchange Server 2016 或 Skype for Business Server 2015(使用标准 Windows 身份验证方法),请求服务器发送的传入安全令牌将包含用户 UPN,且可能会包含其他属性,如 SMTP、SIP 以及用户标识的 SID。接收服务器 SharePoint Server 使用此信息查找用户配置文件。

对于运行 SharePoint Server 的请求服务器,接收服务器通过以下基于声明的身份验证方法解除冻结用户:

  • 对于 Windows 声明身份验证,SharePoint Server 使用 AD DS 属性查找用户的用户配置文件(例如,UPN 或 SID 值)及其角色声明(组成员身份)。

  • 对于基于表单的身份验证,SharePoint Server 使用 Account 属性查找用户的配置文件,再调用角色提供程序和其他所有自定义声明提供程序,以获取相应的角色声明组。例如, SharePoint Server 使用 AD DS 中、SQL Server 等数据库中或轻型目录访问协议 (LDAP) 数据存储中的属性,查找代表用户的用户配置文件(例如,UPN 或 SID 值)。若要同步基于表单的提供程序,组件至少应当使用用户的帐户名称填充用户配置文件。还可以创建自定义声明提供程序,将其他声明作为属性导入用户配置文件中。

  • 对于基于 SAML 的声明身份验证,SharePoint Server 使用 AccountName 属性查找用户的配置文件,再调用 SAML 提供程序和其他所有自定义声明提供程序,以获取相应的角色声明组。用户标识声明应当通过相应 SAML 声明提供程序(应配置为填充用户配置文件)映射到用户配置文件中的 Account 属性。同样,UPN 声明应当映射到 UPN 属性,且 SMTP 声明应当映射到 SMTP 属性。若要复制用户通常会从标识提供程序获取的声明组,必须通过声明扩充添加这些声明,包括角色声明。自定义声明提供程序必须将这些声明作为属性导入用户配置文件中。

See also

规划 SharePoint Server 中的服务器到服务器身份验证
SharePoint Server 身份验证概述