为Azure上的SSRS报告启用模拟

时间:2016-07-29 08:51:16

标签: azure reporting-services impersonation

在我们当前的生产设置中,我们已经设置了SSRS,并且已经能够在我们的.NET Web应用程序中成功使用SSRS报告多年。我们在Web.Config中使用了Impersonation(可能还有其他解决方案,我们必须使用它),如下所示。

<identity  impersonate="true" userName="domainname/username" password="password"></identity>

这个解决方案效果很好,因为我们的Active Di 教区长和SSRS服务器位于同一网络/域中。

现在,作为Azure迁移的一部分,我们已将SSRS服务器迁移到Azure VM。我们可以使用VM中的Report Server Manager查看报告。现在,当我们访问Web应用程序(App Service - Web App)时,我们收到以下错误。下面是我们使用的更新的模拟属性。

<identity  impersonate="true" userName="username@ouremailaddressdomainname.onmicrosoft.com" password="password"></identity>

“无法从配置文件中指定的凭据创建Windows用户令牌。操作系统出错”用户名或密码不正确“

显然,这是因为我们在Azure中没有Active Directory域设置。以下是我的问题。

  1. 我们可以利用在Azure上创建的默认目录中的可用用户吗?
  2. 如果是,我如何指定模仿?
  3. 谢谢, Prawin

1 个答案:

答案 0 :(得分:0)

根据您的计划设置,您无法使用身份模拟。这是因为AppService Web Apps确实在一个孤立的沙盒环境中运行,该环境不能成为Windows域的一部分。

您有几种选择:

  • 更改报告服务器以使用混合模式身份验证并为具有适当权限的SQL Server登录和用户创建本地。然后配置报告应用程序以提供这些SQL Server凭据
  • 将您的Web应用程序移动到同一个VM(不需要域环境)作为报表服务器(或仅处理报表的部分)
  • 将您的应用程序移至单独的VM并利用Azure Active Directory域服务使VM成为同一域的一部分(一个过度的IMO)

我会投票选出第一个选项,因为它需要最少的更改并利用PaaS服务(App Service)。其他一切都是矫枉过正或只是滥用云平台。