YS.*_*YS. 25 sql-server ssrs role
第一张海报,长期潜伏在这里。在报告中激活应用程序角色的最佳方法是什么?
我尝试了不同的方法,到目前为止唯一有效的方法是像这样嵌入对应用程序角色的调用:-
EXEC sp_setapprole 'REPORTZ', 's3cr3t';
select *
from mytable
where ID < 10000
Run Code Online (Sandbox Code Playgroud)
在数据集中。它确实有效......但不是我喜欢的(当然不是我想要进入生产环境的形状)。
我更希望我可以在运行时通过自定义程序集或报告服务中的某种“服务器挂钩”以某种方式“劫持”或“注入”应用程序角色激活行(在这两种情况下,我都不知道如何)
非常感谢您的时间+亲切的关注。
是的。
我发现有几种方法可以做到这一点,而无需诉诸任何过于花哨的东西。
第一种方法是使用 Windows 集成身份验证并将权限分配给代表应用程序用户的组。
您可以创建可以授予的角色,然后set role在数据库中的代码中使用该角色。这样,您就不会传递密码,而是首先对应用程序进行身份验证。
第一个的优点是在 AD 域中易于管理谁有权访问该应用程序。管理会相对简单。主要缺点是它仅限于集成身份验证有意义的情况,并且您必须始终支持集成身份验证。此外,每个跃点最终都需要 3 路身份验证(服务器、客户端和 KDC 之间)。
第二种方法的优点是它可能是最容易填充的,并且它不会通过网络公开任何安全信息,并且它可以在集成身份验证无法正常工作的情况下工作。
在尝试扩展报告服务之前,我会尝试这两种方法。正如评论所建议的,http://msdn.microsoft.com/en-us/library/aa237582%28v=SQL.80%29.aspx可能会有所帮助并且可能有效,但它在概念上比尝试管理角色更复杂直接地。