报表生成器是一种即席报告工具,它使用配置为本机模式或 SharePoint 集成模式的 SQL Server Reporting Services 报表服务器进行安装。
报表生成器的访问权限取决于以下因素:
用于确定报表生成器是否在报表服务器上可用的服务器属性。
角色分配或权限,它们使报表生成器可用于单个用户或组。
用于确定用户凭据是否可以传递到报表服务器或匿名访问的身份验证设置是在应用程序文件上配置的。
若要使用报表生成器,必须具有要使用的已发布报表模型。
先决条件
报表生成器在 MicrosoftSQL Server 的每个版本中都不可用。 有关 SQL Server 各版本支持的功能列表,请参阅 SQL Server 2014 各版本支持的功能。
客户端计算机必须安装 Microsoft .NET Framework 2.0。 .NET Framework 提供用于运行 ClickOnce 应用程序的基础结构。
必须使用 Microsoft Internet Explorer 6.0 或更高版本。
报表生成器始终在完全受信任的环境中运行,无法将其配置为在部分受信任的环境中运行。 在以前的版本中,可以部分信任运行报表生成器,但 SQL Server 2008 及更高版本中不支持该选项。
启用和禁用报表生成器
默认情况下,报表生成器处于启用状态。 报表服务器管理员可以通过将报表服务器系统属性 EnableReportDesignClientDownload 设置为 false 来禁用报表生成器功能。 设置此属性将禁用该报表服务器的报表生成器下载。
若要设置报表服务器系统属性,可以使用 Management Studio 或脚本:
若要使用 Management Studio,请连接到报表服务器并使用“高级服务器属性”页进行设置
EnableReportDesignClientDownloadfalse。 有关如何打开此页面的详细信息,请参阅“设置报表服务器属性”(Management Studio)。若要查看设置报表服务器属性的示例脚本,请参阅 脚本部署和管理任务。
角色分配以允许在本机模式报表服务器上使用报表生成器权限
在本机模式报表服务器上,创建包括使用报表生成器的任务的用户角色分配。 您必须是内容管理员和系统管理员,才能在项级和站点级创建或修改角色定义和角色分配。
以下说明假定你使用的是预定义的角色。 如果修改了角色定义,或者从 SQL Server 2000 升级,请检查角色以验证它们是否包含必要的任务。 有关创建角色分配的详细信息,请参阅 授予用户对报表服务器(报表管理器)的访问权限。
创建角色分配后,用户将有权执行以下作:
分配给系统用户角色和浏览者角色的用户可以在报表服务器上查看已发布的报表生成器报表,而不必启动报表生成器。
分配给系统用户角色和报表生成者角色的用户可以生成模型,启动报表生成器和创建报表,以及将报表保存到报表服务器。
分配给系统用户角色和发布者角色的用户可以将模型从模型设计器发布到报表服务器。 模型用作报表生成器中的数据源。
分配给系统管理员角色和内容管理员角色的用户拥有创建、查看和管理报表生成器报表的完全权限。
验证所需的任务是否位于角色定义中
启动 Management Studio 并连接到报表服务器。
打开 “安全性” 文件夹。
打开 “系统角色” 文件夹。
右键单击“系统管理员”,然后选择“属性” 。
选择“ 执行报表定义 ”,然后单击“ 确定”。
右键单击“系统用户”,然后选择“属性” 。
选择“ 执行报表定义 ”,然后单击“ 确定”。
打开 “角色” 文件夹。
右键单击“浏览器”,然后选择“属性” 。
选择 “查看模型 ”,然后单击“ 确定”。
右键单击“内容管理器”,然后选择“属性” 。
选择 “查看模型”、“ 管理模型”、“ 使用报表”,然后单击“ 确定”。
右键单击“发布服务器”,然后选择“属性” 。
选择“ 管理模型 ”,然后单击“ 确定”。
如果报表生成器角色不存在,请创建该角色:
打开 “安全性” 文件夹。
右键单击“角色”选择“新建角色” 。
在“名称”中,键入 报表生成器。
在“说明”中,输入角色的说明,以便报表管理器中的用户知道角色的用途。
添加下列任务:“使用报表”、“查看报表”、“查看模型”、“查看资源”、“查看文件夹”和“管理单独的订阅”。
单击“ 确定 ”保存角色。
创建角色分配以授予报表生成器访问权限
启动报表管理器。
单击 “网站设置”。
单击“ 安全性”。
如果要为其配置报表生成器访问权限的用户或组已存在角色分配,请单击“ 编辑”。
否则,请单击“ 新建角色分配”。 在组或用户中,以以下格式输入 Windows 域用户或组帐户: <domain>\<account>。 如果使用表单身份验证或自定义安全性,请以适合部署的格式指定用户或组帐户。
选择 “系统用户”,然后单击“ 确定”。
单击“ 主页”。
单击“ 文件夹设置” 选项卡。
单击“安全”选项卡。
如果要为其配置报表生成器访问权限的用户或组已存在角色分配,请单击“ 编辑”。
否则,请单击“ 新建角色分配”。 在组或用户中,以以下格式输入 Windows 域用户或组帐户: <domain>\<account>。 如果使用表单身份验证或自定义安全性,请以适合部署的格式指定用户或组帐户。
选择 报表生成器,然后单击“ 应用”。
重复为其他用户或组创建或修改角色分配。
为报表生成器在 SharePoint 集成模式的报表服务器上授予访问权限
在 SharePoint 集成模式报表服务器上,将报表生成器访问权授予具有“参与讨论”或“完全控制”权限级别的 SharePoint 用户。
如果使用自定义权限级别,则必须在权限级别包括“添加项”和“编辑项”。 有关报表生成器通过内置权限级别访问的详细信息,请参阅 Windows SharePoint Services 中用于报表服务器项的内置安全性。 关于自定义权限级别的权限要求的更多信息,请参阅 在 SharePoint Web 应用程序中为报表服务器操作设置权限。
身份验证注意事项和凭据重用
报表生成器使用 ClickOnce 技术在客户端计算机上下载并安装其应用程序文件。 ClickOnce 技术适用于单向应用程序部署,用于将程序文件放置在客户端计算机上,并在默认用户的标识下将应用程序作为单独的进程运行。 由于报表生成器必须重新连接到报表服务器以获取应用程序文件和报表服务器数据,因此必须了解 ClickOnce 如何设置安全上下文,并在不同情况下向远程计算机发出请求:
ClickOnce 始终作为单独的进程在客户端计算机上运行。 进程标识是默认的 Windows 用户凭据。 ClickOnce 不会与 Internet Explorer 共享会话数据,也不会从 Internet Explorer 获取当前用户安全上下文。
ClickOnce 发送请求,这些请求在身份验证标头中指定了 Windows 集成安全性。 如果为不同的身份验证类型配置了服务器,服务器将失败来自 ClickOnce 的请求,并显示身份验证错误。 若要解决此问题,必须配置服务器以实现 Windows 集成安全性,或者必须启用匿名访问来消除身份验证检查。
报表生成器将打开其自己的与报表服务器的连接。 如果不将 Windows 集成安全性与单一登录结合使用,则用户必须重新键入其凭据,以便报表生成器连接到报表服务器。
下表描述了报表服务器支持的身份验证类型,以及访问报表生成器是否需要其他配置。
| 报表服务器身份验证类型 | 报表生成器和 ClickOnce 应用程序启动器如何响应 |
|---|---|
| 协商 (默认值) NTLM (默认值) |
在 Windows 集成安全性下,如果客户端和服务器部署在同一域中,则 ClickOnce 和 Report Builder 的经过身份验证的请求通常会成功,用户将使用有权访问报表生成器的域帐户登录到客户端计算机,并且报表服务器配置为使用 Windows 身份验证。 请求成功,因为 ClickOnce 和与报表服务器的浏览器连接具有相同的用户标识。 如果用户使用运行方式打开 Internet Explorer 并指定了非默认凭据,则请求将失败。 如果报表服务器上的用户会话是在特定帐户下建立的,并且 ClickOnce 在不同的帐户下运行,则报表服务器将拒绝对文件的访问权限。 |
| Kerberos | Internet Explorer 不直接支持 Kerberos,而它是使用报表生成器所需的。 |
| 基本身份验证 | ClickOnce 不支持基本身份验证。 它不会构建在身份验证标头中指定基本身份验证的请求。 它不会传递凭据或提示用户提供凭据。 可以通过启用对报表生成器应用程序文件的匿名访问来解决这些问题。 如果启用对报表生成器应用程序文件的匿名访问,请求将成功,因为报表服务器会忽略身份验证标头。 有关如何启用对报表生成器的匿名访问的详细信息,请参阅 在报表服务器上配置基本身份验证。 ClickOnce 检索应用程序文件后,报表生成器将打开与报表服务器的单独连接。 用户必须重新键入其凭据才能让报表生成器连接到报表服务器。 报表生成器不会从 Internet Explorer 或 ClickOnce 收集凭据。 如果报表服务器配置为基本身份验证,并且未启用对报表生成器程序文件的匿名访问,则请求将失败。 请求失败,因为 ClickOnce 在其请求上指定 Windows 集成安全性。 如果将报表服务器配置为基本身份验证,服务器将拒绝请求,因为它指定了无效的安全包,并且因为它缺少报表服务器所需的凭据。 此外,如果报表服务器配置为使用 SharePoint 集成模式,并且 SharePoint 网站使用基本身份验证,则当用户尝试使用 ClickOnce 在其客户端计算机上安装报表生成器时,会遇到 401 错误。 发生这种情况是因为 SharePoint 使用 Cookie 在会话期间使用户保持身份验证,但 ClickOnce 不支持 Cookie。 当用户启动 ClickOnce 应用程序(如报表生成器)时,应用程序不会将 Cookie 传递给 SharePoint,因此 SharePoint 拒绝访问并返回 401 错误。 可以通过尝试以下选项之一来解决此问题: 提供用户凭据时,请选择“ 记住我的密码 ”选项。 启用对 SharePoint 网站集的匿名访问。 配置环境,使用户不提供凭据。 例如,在 Intranet 环境中,可以将 SharePoint 服务器配置为属于工作组,然后在本地计算机上创建用户帐户。 |
| 习惯 | 将报表服务器配置为使用自定义身份验证时,会在报表服务器上启用匿名访问,并且未通过身份验证检查接受请求。 ClickOnce 检索应用程序文件后,报表生成器将打开与报表服务器的单独连接。 用户必须重新键入其凭据才能让报表生成器连接到报表服务器。 报表生成器不会从 Internet Explorer 或 ClickOnce 收集凭据。 |
另请参阅
使用报表服务器进行身份验证
Reporting Services 和 Power View 浏览器支持的规划(Reporting Services 2014)
开始报表生成器(报表生成器)
报表管理器(SSRS 本机模式)
连接到 Management Studio 中的报表服务器
报表服务器系统属性