【问题标题】:Enable Impersonation for SSRS reports on Azure在 Azure 上为 SSRS 报告启用模拟
【发布时间】:2016-07-29 08:51:15
【问题描述】:

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

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

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

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

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

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

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

  1. 我们能否利用在 Azure 上创建的默认目录中的可用用户?
  2. 如果是,如何指定模拟?

谢谢, 大虾

【问题讨论】:

  • 如果这个问题仍然有效,那么在您将 SSRS 迁移到 Azure VM 后,您的 Web 应用程序驻留在哪里?
  • 我的 Web 应用程序将位于应用服务中

标签: azure reporting-services impersonation


【解决方案1】:

通过您计划的设置,您无法使用身份模拟。这是因为 AppService Web 应用确实在隔离的沙盒环境中运行,该环境不能成为 Windows 域的一部分。

你有几个选择:

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

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

【讨论】:

    猜你喜欢
    • 2016-04-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多