第 1 课:为本教程设置权限

新建日期: 2006 年 4 月 14 日

您将需要先设置用于本教程的计算机,才能按照本教程进行操作。此外,您还需要创建一个属性,该属性可以更改某些虚构 AdventureWorks 雇员的登录信息,以便您设置行级安全权限。通常,在设置自己的安全筛选器时,不需要执行本课中的任何步骤,因为已设置您的组和用户权限以及登录帐户,而且已部署您的报表模型。

若要为本教程设置计算机,您将需要在本课中执行下列操作:

ms365306.note(zh-cn,SQL.90).gif注意:
本教程假定用于本教程的服务器和客户端计算机是同一计算机。
  • 使用计算机管理工具,在用于本教程的计算机上创建两个临时用户帐户。虚拟用户 Rachel Valdez (Rachel0) 和 Garrett Vargas (Garrett1) 已存在于 AdventureWorks 示例数据库中。在后面的课程中您将使用这些临时用户帐户查看本教程的结果。
  • 通过为这些虚拟用户分配目录角色和系统角色,授予他们访问报表服务器和报表管理器的权限。
  • 修改报表模型并将其部署到报表服务器。为了准确说明安全筛选器的工作原理,您将需要创建一个新字段,将虚拟用户从 AdventureWorks 数据库映射到您在计算机上创建的临时用户帐户。
  • 创建一个新登录名,报表模型将使用它访问 AdventureWorks 数据库。
ms365306.note(zh-cn,SQL.90).gif重要提示:
创建这些设置仅仅是为了实现本教程的教学目的。应该以不同方式设置 SQL Server 生产环境,因此在设置安全筛选器时,本课中的步骤不是必需的。请记住,在完成本教程后,请改回这些设置。

创建计算机用户帐户

  1. 单击**“开始”,指向“控制面板”,再指向“管理工具”,然后单击“计算机管理”**。

  2. 在**“计算机管理(本地)”窗格中,双击“本地用户和组”**。

  3. 右键单击**“用户”文件夹,再选择“新建用户”**。

    系统将打开**“新建用户”**对话框。

  4. 在**“用户名”**框中,键入 Rachel0

  5. 在**“全名”**框中,键入 Rachel Valdez

  6. 在**“说明”**框中,键入 Account used for the Model Security tutorial

  7. 在**“密码”**框中,键入 Pass12,Word

    ms365306.note(zh-cn,SQL.90).gif注意:
    为了确保您的计算机更加安全,您应始终使用强密码。强密码的长度至少应为七个字符,且包含下列三个组中的字符:字母、数字和符号。
  8. 在**“确认密码”**框中,键入 Pass12,Word

  9. 清除**“用户在下次登录时必须更改密码”复选框,再单击“创建”**。

    Rachel0 被添加到用户列表中。**“新建用户”**对话框将保持打开状态。

  10. 在**“用户名”**框中,键入 Garrett1

  11. 在**“全名”**框中,键入 Garrett Vargas

  12. 在**“说明”**框中,键入 Account used for the Model Security tutorial

  13. 在**“密码”**框中,键入 Pass12,Word

  14. 在**“确认密码”**框中,键入 Pass12,Word

  15. 清除**“用户在下次登录时必须更改密码”复选框,再单击“创建”**。

    Garrett1 被添加到用户列表中。

  16. 单击**“关闭”**。

    接下来,您需要将这些用户权限授予报表服务器。

为新用户分配目录角色

  1. 若要启动报表管理器,请启动 Microsoft Internet Explorer 6 或更高版本。

  2. 在 Web 浏览器的**“地址”**栏中,键入报表管理器 URL。默认情况下,其 URL 为 http://<ComputerName>/reports。

  3. 选择**“属性”**选项卡。

  4. 单击**“新建角色分配”**。

    ms365306.note(zh-cn,SQL.90).gif注意:
    角色分配指定用户或组可以对报表服务器上的项执行的任务。
  5. 在**“组或用户名”**框中,键入 <计算机名称>\Rachel0

  6. 选中**“浏览器”“报表生成器”**复选框。

  7. 单击**“确定”**。

  8. 单击**“新建角色分配”**。

  9. 在**“组或用户名”**框中,键入 <计算机名称>\Garrett1

  10. 选中**“浏览器”“报表生成器”**复选框。

  11. 单击**“确定”**。

为新用户分配系统角色

  1. 在报表管理器中,单击全局工具栏上的**“站点设置”**。

    将出现**“站点设置”**页。

    ms365306.note(zh-cn,SQL.90).gif注意:
    如果“站点设置”不可用,则说明您没有访问站点设置的权限,需要与管理员联系。
  2. 在**“安全性”部分中,单击“配置站点范围的安全性”**。

  3. 单击**“新建角色分配”**。

  4. 在**“组或用户名”**框中,键入 <计算机名称>\Rachel0

  5. 选中**“系统用户”**复选框。

    ms365306.note(zh-cn,SQL.90).gif注意:
    系统角色将赋予用户或组访问报表管理器的权限。这些角色描述了可以执行的任务或操作。
  6. 单击**“确定”**。

  7. 单击**“新建角色分配”**。

  8. 在“组或用户名”框中,键入 <计算机名称>\Garrett1

  9. 选中**“系统用户”**复选框。

  10. 单击**“确定”**。

    现在,您创建的虚拟用户就能够访问报表服务器上的项,以及登录到运行报表服务器的计算机。

启动 SQL Server Management Studio

  1. 依次指向**“开始”“所有程序”“Microsoft SQL Server 2005”,再单击“SQL Server Management Studio”**。

    将出现**“连接到服务器”对话框。如果未出现该对话框,请在对象资源管理器中,单击“连接”,再选择“数据库引擎”**。

  2. 在**“服务器类型”列表中,选择“数据库引擎”**。

  3. 在**“服务器名称”**列表中,选择用于本教程的数据库服务器。

  4. 单击**“连接”**。

    将打开 SQL Server Management Studio 窗口。接下来,您将为 AdventureWorks 数据库创建一个登录名,以便模型可以使用此虚拟登录名访问数据库。

创建安全登录名

  1. 在对象资源管理器中,展开指定服务器的**“安全性”**节点。

  2. 右键单击**“登录”,再选择“新建登录”**。

    将打开**“登录名 - 新建”**对话框。

  3. 在**“登录名”**框中,键入 TutorialLogin

  4. 选择**“SQL Server 身份验证”**选项。

  5. 在**“密码”**框中,键入 Pass1word

    ms365306.note(zh-cn,SQL.90).gif注意:
    为了确保您的计算机更加安全,您应始终使用强密码。强密码的长度至少应为七个字符,且包含下列三个组中的字符:字母、数字和符号。此外,请确保在完成本教程后删除此登录名。
  6. 在**“确认密码”**框中,键入 Pass1word

  7. 选中**“强制实施密码策略”**复选框。

  8. 清除**“强制密码过期”**复选框。

  9. 在**“默认数据库”下拉列表中,选择“AdventureWorks”**。

  10. 单击**“确定”**。

    TutorialLogin 被添加到“登录名”列表中。您在本课前面部分中创建的虚拟用户将使用此登录名访问 AdventureWorks 数据库。接下来,您需要为该登录名分配 db_datareader 特权。

创建 AdventureWorks 安全用户

  1. 在对象资源管理器中,展开指定服务器的**“数据库”**节点。

  2. 展开 AdventureWorks 的数据库节点。

  3. 双击**“安全性”**。

  4. 右键单击**“用户”,再单击“新建用户”**。

    将打开**“数据库用户 - 新建”**对话框。

  5. 在**“用户名”**框中,键入 TutorialLogin

  6. 在**“登录名”**框中,键入 TutorialLogin

  7. 在**“默认架构”**框中,键入 db_datareader

  8. 在**“数据库角色成员身份”区域中,选中“db_datareader”**复选框。

  9. 单击**“确定”**。

    接下来,您将在 Business Intelligence Development Studio 中打开报表模型示例,创建一个新属性,修改数据源登录信息以使用新登录名,再部署模型。

打开报表模型示例

  1. 依次指向**“开始”“所有程序”“Microsoft SQL Server 2005”,再单击“Business Intelligence Development Studio”**。

  2. 在**“文件”菜单上,指向“打开”,然后单击“项目/解决方案”**。

  3. 在**“打开项目”**对话框中,导航到安装 SQL Server 2005 示例的位置。默认情况下,这些示例安装在以下位置中:C:\Program Files\Microsoft SQL Server\90\Samples。

  4. 双击**“Reporting Services”**。

  5. 双击**“模型示例”**。

  6. 双击**“Adventure Works Model”**。

  7. 选择**“Adventure Works Model.sln”,再单击“打开”**。

  8. 解决方案资源管理器中,双击**“Adventure Works.smdl”**。

    Adventure Works 报表模型示例将在模型设计器中打开。接下来,您将创建一个新表达式,用于将数据库登录信息替换为您在本课前面部分中设置的登录信息。

创建属性

  1. 在模型设计器树视图中,右键单击**“雇员”实体,指向“新建”,再单击“表达式”**。

    将打开“定义公式”对话框。

  2. 单击**“函数”选项卡,再展开“文本”**函数节点。

  3. 双击**“Replace”**函数。

    该函数被添加到公式框中。

  4. 单击**“字段”**选项卡。

  5. 在**“字段”列表中,双击“登录 ID”**。

    在公式框中,find 将被替换为“登录 ID”。

  6. 在公式框中,选择**“replace”**,再键入 "adventure-works"

    ms365306.note(zh-cn,SQL.90).gif注意:
    Adventure-Works 是您需要替换的登录信息。请确保包括双引号。
  7. 在公式框中,选择**“字符串”**,再键入 "ComputerName"

    ms365306.note(zh-cn,SQL.90).gif注意:
    这是用于设置 Rachel0 和 Garrett1 的帐户的计算机的名称。请确保包括双引号。表达式应显示为:REPLACE(Login_ID, "adventure-works", "<computername>")。
  8. 单击**“确定”**。

    “定义公式”对话框将关闭。

  9. 右键单击**“NewExpression”属性,单击“重命名”**,再键入 Login ID2

    在下一课中,应用行级别安全筛选器时将使用此新属性。

  10. 选择**“Login ID2”**。

  11. 在**“属性”窗格中,找到“Nullable”**属性。

  12. 单击下拉箭头,再选择**“True”**。

    Replace 函数可以返回 Null;因此 Nullable 属性必须为 True

修改数据源连接

  1. 解决方案资源管理器中,双击**“Adventure Works.ds”**文件。

    将打开“数据源设计器”对话框。

  2. 单击**“编辑”**。

    将打开“连接管理器”对话框。

  3. 选择**“使用 SQL Server 身份验证”**选项。

  4. 在**“用户名”**框中,键入 TutorialLogin

  5. 在**“密码”**框中,键入 Pass1word

  6. 若要验证连接,请单击**“测试连接”**。

  7. 单击**“确定”,然后再次单击“确定”**。

  8. 若要退出**“数据源设计器”对话框,请单击“确定”**。

    现在可以部署报表模型了。

  9. 在**“文件”菜单上,单击“全部保存”**。

    ms365306.note(zh-cn,SQL.90).gif注意:
    如果已经将 Adventure Works.ds 文件部署到报表服务器,除非您更改默认属性,否则将不更新凭据。若要更改默认属性,请右键单击“Adventure Works Model”项目,再选择“属性”。在“Adventure Works Model 属性页”对话框中,单击“OverwriteDataSources”下拉列表,再选择“True”

部署报表模型示例

  • 在解决方案资源管理器中,右键单击**“Adventure Works Model”项目,再单击“部署”**。

    模型被部署到报表服务器。让 Business Intelligence Development Studio 保持打开,并显示模型。

    ms365306.note(zh-cn,SQL.90).gif重要提示:
    若要验证模型是否已成功部署,您可以查看“错误列表”选项卡。如果出现错误,则需要先解决该问题,然后再继续操作。

后续步骤

现在,在您的计算机上设置了用户帐户、权限和自定义登录名,以便可以成功完成本教程。您在报表服务器上创建了两个虚拟用户,并为他们分配了相应的目录和系统角色权限。您部署了报表模型示例并创建了一个自定义登录名,模型将使用该登录名读取 AdventureWorks 数据库。稍后您将使用此虚拟用户分配行级安全性。

ms365306.note(zh-cn,SQL.90).gif重要提示:
学完本教程后,请记住从本地计算机中删除这些用户帐户,以及删除您授予的所有权限。

在下一课中,将在模型设计器中打开 Adventure Works 报表模型示例,并创建一个默认安全筛选器。请参阅第 2 课:为行级安全性创建属性

请参阅

其他资源

创建、修改和删除角色分配
角色分配
报表管理器
设置系统级安全性
安装示例
SQL Server Reporting Services 示例
GETUSERID(报表生成器)

帮助和信息

获取 SQL Server 2005 帮助