设计考虑事项
这里我将介绍一下构建多租户SharePoint2013环境的各种注意事项。
1)了解SharePoint Server 2013中的系统边界和限制
有关将其应用于 SharePoint 2013 多租户环境时内容数据库和网站集的关键边界和限制的额外信息,请参阅内容数据库限制和网站集限制。
共享服务器场与专用服务器场,使用共享服务器场在单个 Web 应用程序上托管多租户网站集可提供比为每个租户使用专用 Web 应用程序更好的可伸缩性。仅当您需要满足隔离要求时,对每个客户使用专用 Web 应用程序和应用程序池。请勿允许对站点部署完全信任代码。请勿允许影响共享资源的自定义,如 web.config 文件。使用以主机命名的网站集在 Web 应用程序中创建多个根级别网站集(以域命名的网站)。
一个Web应用程序与多个Web应用程序,对需要进行自定义(如 web.config 文件)以影响在 Web 应用程序中共享的资源的租户,使用专用 Web 应用程序。在单个服务器场中组合多个租户时,对所有经过身份验证的内容使用专用 SharePoint Web 应用程序,对所有匿名内容使用单独的专用 Web 应用程序。这需要两个单独的订阅 ID,以用于具有两种内容类型的租户。这还会简化许可。某些 SharePoint 功能已绑定到 Web 应用程序级别,如自助服务网站集创建设置。启用后,同一 Web 应用程序下的所有租户都将能够创建网站集。
单一服务器场环境设计,在租户数据和管理隔离的多组织托管环境中,必须配置分区和共享服务。
分层环境设计,在规划多租户 SharePoint 2013 托管平台时有很多要考虑的事项,包括成本、简化管理、资源隔离、性能和可伸缩性。随着客户群增加,您可能会发现在单个环境中难以满足所有客户的要求。目前,要平衡这些因素,必须进行一些利弊权衡。在这种情况下,您想要考虑的替代方法是分层环境设计,在此设计中,多个 SharePoint 环境满足客户的不同需求。每个环境关注服务方案的不同方面,例如低成本、高密度、更高资源隔离度以及以更高成本实现更好的服务质量 (QoS),等等。
2)安全考虑事项
SharePoint 2013 支持多种身份验证方法以及身份验证提供程序的以下身份验证类型:
-
- Windows 身份验证
- 基于表单的身份验证
- 基于 SAML 令牌的身份验证
Windows 身份验证类型利用现有的 Windows 身份验证提供程序以及 Windows 域环境使用的身份验证协议来验证进行连接的客户端的凭据。基于声明的身份验证和经典模式使用的 Windows 身份验证方法包括以下几种:
- NTLM
- Kerberos
- 摘要
- 基本
基于表单的身份验证是基于 ASP.NET 成员身份和角色提供程序身份验证的基于声明的标识管理系统。可对存储在如下身份验证提供程序中的凭据使用基于表单的身份验证:
- Active Directory 域服务 (AD DS)
- SQL Server 数据库之类的数据库
- Novell eDirectory、Novell Directory Services (NDS) 或 Sun ONE 等轻型目录访问协议 (LDAP) 数据存储
基于表单的身份验证根据用户在登录表单(通常是一个网页)中输入的凭据验证用户身份。未经身份验证的请求将重定向到登录页,用户必须在该页中提供有效凭据并提交表单。系统会为经过身份验证的请求发布一个 Cookie,其中包含用于重建后续请求的标识的项。
若要使用基于表单的身份验证根据不基于 Windows 的身份管理系统或外部身份管理系统对用户进行身份验证,您必须在多个 web.config 文件中注册成员身份提供程序和角色管理器。SharePoint 2013 使用标准 ASP.NET 角色管理器界面来收集有关当前用户的组信息。SharePoint 2013中的授权过程会将每个 ASP.NET 角色视为一个域组。在 web.config 文件中注册角色管理器正如注册用于身份验证的成员身份提供程序一样。
如果要从管理中心网站管理成员身份用户或角色,您必须在管理中心网站的 web.config 文件中注册成员身份提供程序和角色管理器。同时,还必须在承载内容的 Web 应用程序和安全令牌服务的 web.config 文件中注册成员身份提供程序和角色管理器。
SharePoint 2013 中基于 SAML 令牌的身份验证使用 SAML 1.1 协议和 WS 联合身份验证被动请求者配置文件 (WS-F PRP)。它需要与基于声明的环境的管理员进行协商,无论该环境是您自己的内部环境还是合作伙伴环境。如果使用 Active Directory 联合身份验证服务 (AD FS) 2.0,您将具有基于 SAML 令牌的身份验证环境。
对于使用基于声明的身份验证的 Web 应用程序,人员选取器控件在 SharePoint Server 2013 中可用。人员选取器控件使用声明提供程序列出、解析、搜索和确定用户、组与声明的“友好”显示
2.1 组织单元,组织单位 (OU) 组织 Active Directory 环境中的用户和计算机对象。为进行托管,可以按下图所示设置组织单位结构。
您至少需要将“组策略”链接到“域根”、“域控制器 OU”、“SharePoint 服务器 OU”和“客户 OU”。
根域,适用于整个域的安全将适用于域策略。这些设置包含在适用于整个域的组策略对象 (GPO) 中。
域控制器OU,域控制器保存组织中最敏感的数据,数据控制安全配置本身。适用于此级别的 GPO 用于配置和保护域中的域控制器。
SharePoint服务器OU,SharePoint 服务器具有目录中其他服务器不包含的角色。将这些服务器放在自己的 OU 中将允许唯一策略适用于这些服务器。它们还可以与目录中的其他服务器分离。如果必须创建不同的 GPO,可以创建子 OU(例如匿名访问内容服务器与经过身份验证的内容服务器)。
客户OU,此顶级 OU 使所有用户均可与目录的其余部分分离。下一级 OU 包含客户 OU。每个客户有一个 OU。这使客户的所有用户帐户和计算机帐户均可与其他客户的这些帐户分离。此外,这是在多租户部署中支持用户配置文件同步所需的 OU 结构。要让用户相信自己登录到自己的自定义域,请使用 Active Directory 服务接口编辑器 (ADSI Edit) 或其他 AD 工具编辑每个客户 OU 的 uPNSuffixes 属性,如下图中所示。
配置客户 OU 的 uPNSuffixes 属性后,其值将可以与该客户 OU 的用户帐户相关联,如下图中所示。
2.2 用户身份验证
用户身份验证可根据身份验证提供程序验证用户的身份,身份验证提供程序是包含用户凭据且可以确认用户正确提交了这些凭据的目录或数据库。Active Directory 域服务 (AD DS) 是身份验证提供程序的一个示例。身份验证提供程序的其他通用名称包括用户目录和属性存储。
身份验证方法是声明用户身份的帐户凭据和其他信息的特定交换。身份验证方法的结果是一种通常采用令牌形式的证明,其中包含指明身份验证提供程序已对用户进行身份验证的声明。
身份验证类型是针对一个或多个身份验证提供程序验证凭据的特定方法,有时使用行业标准协议。身份验证类型可以使用多种身份验证方法。
在验证用户身份后,授权过程将确定用户可以访问的网站、内容和其他功能。
规划用户身份验证类型和方法时应确定以下术语:
-
- 每个 Web 应用程序和区域的用户身份验证类型和方法。
- 支持既定身份验证类型和方法所需的身份验证基础结构。
- 如何迁移使用经典模式身份验证的当前 Web 应用程序和区域以使用基于声明的身份验证。
2.3 Active Directory 联合身份验证服务(AD FS)
SharePoint 2013 支持基于声明的身份验证。Active Directory 联合身份验证服务 (AD FS) 可以配置为作用于 SharePoint 2013 Web 应用程序的标识提供程序安全令牌服务 (IP-STS)。在此配置中,AD FS 颁发由声明组成的基于 SAML 的安全令牌,以便客户端计算机可访问使用基于声明的身份验证的 Web 应用程序。您可以使用 AD FS 以外的替代标识提供程序。但它必须支持 WS-Federation 标准。另外,使用 AD FS 配置时需要自定义代码。
有关如何为 SharePoint 2013 配置基于 SAML 的声明身份验证与 AD FS 的其他信息,请参阅在 SharePoint 2013 中使用 AD FS 配置基于 SAML 的声明身份验证。