从客户端应用程序到 Analysis Services 实例的连接需要 Windows 身份验证(集成)。 可以使用以下任一方法提供 Windows 用户标识:
NTLM
Kerberos (请参阅 为 Kerberos 配置分析服务的受限委派)
连接字符串中的 EffectiveUserName
基本或匿名(需要配置 HTTP 访问)
已存储凭据
请注意,Claims 身份验证不受支持。 不能使用 Windows 声明令牌访问 Analysis Services。 Analysis Services 客户端库仅适用于 Windows 安全原则。 如果 BI 解决方案包含声明身份认证,则需要为每个用户设立 Windows 身份影子账户,或者使用存储的凭据来访问分析服务数据。
有关 BI 和 Analysis Services 身份验证流的详细信息,请参阅 Microsoft BI 身份验证和标识委派。
了解身份验证选项
连接到 Analysis Services 数据库需要 Windows 用户或组标识和相关权限。 标识可能是需要查看报表的任何人使用的常规用途登录名,但更可能的情况包括单个用户的标识。
通常,表格或多维模型根据发出请求的人员,按对象或数据本身具有不同的数据访问级别。 若要满足此要求,可以使用 NTLM、Kerberos、EffectiveUserName 或基本身份验证。 所有这些技术都提供了一种方法,用于通过每个连接传入不同的用户标识。 但是,其中大多数选择都受单个跃点限制的约束。 只有具有委派的 Kerberos 才允许原始用户标识跨多个计算机连接流向远程服务器上的后端数据存储。
NTLM
对于指定 SSPI=Negotiate连接,NTLM 是 Kerberos 域控制器不可用时使用的备份身份验证子系统。 在 NTLM 下,只要请求是从客户端到服务器的直接连接,任何用户或客户端应用程序都可以访问服务器资源,请求连接的人员有权访问资源,并且客户端和服务器计算机位于同一域中。
在多层解决方案中,NLTM 的单跃点限制可以是主要约束。 发出请求的用户标识可以精确模拟在一个远程服务器上,但不会进一步传输。 如果当前操作需要在多台计算机上运行服务,您需要配置 Kerberos 约束委派以在后端服务器上重新使用安全令牌。 或者,您可以使用存储的凭据或基本身份验证,通过单跳连接传递新的身份信息。
Kerberos 身份验证和 Kerberos 约束委派
Kerberos 身份验证是 Active Directory 域中 Windows 集成安全性的基础。 与 NTLM 一样,除非启用委派,否则在 Kerberos 协议下的模拟仅限于单个跳跃。
为了支持多跃点连接,Kerberos 既提供约束委派,又提供不受约束的委派,但在大多数情况下,约束委派被视为安全最佳做法。 约束委派允许服务将用户标识的安全令牌传递到远程计算机上的指定下层服务。 对于多层应用程序,将用户标识从中间层应用程序服务器委托给后端数据库(例如 Analysis Services)是一个常见要求。 例如,基于用户标识返回不同数据的表格或多维模型需要中间层服务的标识委派,以避免用户重新输入凭据或以其他方式获取安全凭据。
约束委派要求在 Active Directory 中进行额外配置,即明确授权请求发送端和接收端的服务进行委派。 尽管前面存在配置成本,但配置服务后,密码更新在 Active Directory 中独立管理。 无需更新应用程序中的存储帐户信息,就像使用进一步介绍的存储凭据选项一样。
有关在约束委派环境中配置 Analysis Services 的详细信息,请参阅 为 Kerberos 约束委派配置 Analysis Services。
注释
Windows Server 2012 支持跨域进行约束委派。 相比之下,在功能级别较低的域中(如 Windows Server 2008 或 2008 R2)中配置 Kerberos 约束委派需要客户端和服务器计算机都是同一域的成员。
EffectiveUserName
EffectiveUserName 是用于将标识信息传递给 Analysis Services 的连接字符串属性。 PowerPivot for SharePoint 使用它在使用情况日志中记录用户活动。 Excel Services 和 PerformancePoint Services 可用于检索 SharePoint 中的工作簿或仪表板使用的数据。 它还可以用于对 Analysis Services 实例执行操作的自定义应用程序或脚本。
有关在 SharePoint 中使用 EffectiveUserName 的详细信息,请参阅 在 SharePoint Server 2010 中使用 Analysis Services EffectiveUserName。
基本身份验证和匿名用户
基本身份验证提供了连接到后端服务器作为特定用户的第四种替代方法。 使用基本身份验证时,Windows 用户名和密码在连接字符串上传递,引入了额外的线路加密要求,以确保在传输过程中保护敏感信息。 使用基本身份验证的一个重要优点是,身份验证请求可以跨越域边界。
对于匿名身份验证,可以将匿名用户标识设置为特定的 Windows 用户帐户(默认情况下IUSR_GUEST)或应用程序池标识。 匿名用户帐户将用于 Analysis Services 连接,并且必须对 Analysis Services 实例具有数据访问权限。 使用此方法时,仅使用与匿名帐户绑定的用户身份进行连接。 如果应用程序需要其他标识管理,则需要选择其他方法之一,或者使用所提供的标识管理解决方案进行补充。
基本身份验证和匿名身份验证仅在配置 Analysis Services 使用 IIS 和 msmdpump.dll 进行 HTTP 访问时才可用。 有关详细信息,请参阅 配置对 Internet Information Services (IIS) 8.0 上的 Analysis Services 的 HTTP 访问。
存储的凭据
大多数中间层应用程序服务包括用于存储用户名和密码的功能,这些用户名和密码随后用于从下层数据存储(例如 Analysis Services 或 SQL Server 关系引擎)中检索数据。 因此,存储的凭据为检索数据提供了第五种替代方法。 此方法的限制包括与保持用户名和密码保持最新状态相关的维护开销,以及对连接使用单个标识。 如果解决方案需要原始调用方的身份,则存储的凭据将不是可行的替代方法。
有关存储的凭据的详细信息,请参阅在 SharePoint Server 2013 中创建、修改和删除共享数据源(SSRS)并使用 Excel Services 和 Secure Store Service。
另请参阅
将模拟身份与传输层安全配合使用
在 Internet Information Services (IIS) 8.0 上配置 Analysis Services 的 HTTP 访问
Kerberos 约束委派配置 Analysis Services
针对 Analysis Services 实例的 SPN 注册
连接至分析服务