IBM®
跳转到主要内容
    中国 [选择]    使用条款
 
 
Select a scope: Search for:    
    首页    产品    服务与解决方案     支持与下载    个性化服务    
跳转到主要内容

developerWorks 中国  >  Information Management  >

使用 IBM InfoSphere Warehouse Cubing Services 设计和部署一个安全模型

developerWorks
文档选项

未显示需要 JavaScript 的文档选项

讨论

英文原文

英文原文


级别: 初级

Cecilia Chu, Cubing Services 成员, IBM

2009 年 11 月 05 日

在 IBM InfoSphere™ Warehouse V9.7 中,Cubing Services 修改了保护多维数据集安全性的方法,同时提供一种保护维度安全的方法。根据安全需求,您也许需要将对 OLAP 数据的访问限制到多维数据集级别,或粒度更小的维度级别。在本文中,您将学习如何通过在 Design Studio 中创建角色、策略和授权定义多维数据集和维度安全。本文首先介绍如何将安全模型导出到一个文件并使用 Administration Console 将安全模型导入 InfoSphere Warehouse 控制数据库。导入安全模型后,您将学习如何指示 Cube Server 实施安全模型中的规则。

简介

Cubing Services 提供对关系数据的多维度访问。这个服务允许对数据仓库直接发送 MDX 查询,使数据仓库成为分析工具的单一数据源,减少数据仓库更新与分析工具访问仓库数据之间的延迟。作为 InfoSphere Warehouse 的一个组件,Cubing Services 提供设计、部署和管理关系数据的多维度模型所需的所有工具。

在 InfoSphere Warehouse V9.5 中,Cubing Services 允许您使用 Administration Console 保卫您的多维数据集,您可以授予或拒绝某个角色对多维数据集的查询权限。在 V9.7 中,您仍然可以限制对多维数据集的访问,但您使用的工具是 Design Studio。

默认情况下,如果角色有权访问一个多维数据集,那么它也有权访问一个维度的所有成员。从 V9.7 开始,您可以将角色限制为只访问一个维度的部分成员。这样,您就可以保证只有合法用户可以访问他们需要的信息。

例如,有一个 GO Sales and Marketing 多维数据集,它包含关于不同国家的零售商的信息。某个国家的销售经理需要访问所在国的零售商信息,但不必访问其他国家的零售商信息。使用维度安全,您可以将销售经理能够访问的 Retailers 维度的成员限制为他们所管理的国家的零售商。图 1 展示了针对美国的经理在 GO Sales and Marketing 多维数据集上施加的限制。


图 1. 针对美国的销售经理的 Retailers 维度
这个层级突出显示 All、Americas、United States、Champs 和 Seattle 垂直路径,Canada、Sporting Goods、Toronto 路径没有突出显示;Asia Pacific、Australia、Top 终端设备、St. Kilda 路径没有突出显示

维度成员以层级顺序显示。带有星号的成员对美国的经理可见,没有星号的则不可见。当美国经理查询多维数据集的所有成员时,他们只能查看美国的结果,如图 2 所示。


图 2. 针对美国的销售经理的查询结果
显示零售商和销售合计的表,包括总计、美洲合计、美国合计等

美国经理可以查看在美国的销售合计,不能查看其他国家的销售合计。

尽管美国经理不能查看美国之外的其他国家的单独的销售合计,但他们可以推算那些零售商的销售合计。例如,美洲地区的销售总计不仅包括美国,还包括美洲的其他国家,如加拿大。根据美洲销售总计和美国销售合计,他们可以推算出美洲的其他国家的销售合计。

要限制角色可以访问的一个维度的多维数据集和成员,需要设计和部署一个安全模型。安全模型包含访问 OLAP 对象的规则。安全模型并不包含这些 OLAP 对象的实际定义 — 那是多维数据集模型的工作。由于安全模型依赖于多维数据集模型,应该首先设计和部署多维数据集模型。

理解设计和部署安全模型的步骤

设计和部署安全模型的高级步骤是:

  1. 在 Design Studio 中创建一个安全模型。

  2. 将安全模型从 Design Studio 导出到一个 XML 文件。

  3. 使用 Administration Console 将安全模型从 XML 文件导入 InfoSphere Warehouse 控制数据库。

  4. 在 Administration Console 中查看安全模型。

  5. 指示 Cube Server 刷新安全模型并开始实施安全模型。

  6. 修改安全模型(如有必要)。

  7. 使用 Administration Console 删除安全模型(如有必要)。

图 3 展示了这些步骤在 Cubing Services 组件之间的流程。


图 3. 设计和部署安全模型的步骤流程
展示 7 个步骤流程的图形




回页首


创建安全模型

Cubing Services 安全模型包含以下元素:

  • Resource —— 一个 OLAP 对象,在其中定义了安全性,比如多维数据集或维度

  • Role —— 共享相同的安全特权的一组用户

  • Policy —— 访问资源的规则,比如允许对多维数据集进行读访问,或者拒绝对 Retailers 维度的美国成员的祖先或后代成员进行读访问

  • Authorization —— 资源、角色和策略之间的联系

图 4 展示了这些安全模型元素。


图 4. 安全模型元素
标题为 Authorization 的圆圈中的 Resource、Role 和 Policy

要创建一个安全模型,在 Design Studio 中打开多维数据集模型,然后在 Data Project Explorer 中选择要定义安全性的资源。在 Design Studio 中,您可以对多维数据集、层级和多维数据集事实(fact)定义安全性。Design Studio 中的多维数据集层级和多维数据集事实对应于 Cube Server 中的维度。注意,不能在虚拟多维数据集上定义安全性。如果需要保护一个虚拟多维数据集,需要在虚拟多维数据集所基于的非虚拟多维数据集上定义安全性。虚拟多维数据集将继承它的基础多维数据集的安全定义。

定义多维数据集安全性

在多维数据集上定义安全性之前,必须先启用它,方法是打开多维数据集的 Properties 视图并勾选 Authorizations 选项卡上的 Enable Security 复选框,如图 5 所示。


图 5. 为多维数据集启用安全性
显示 Enable Security 已选中的屏幕截图

启用安全后,您将看到 Policies 选项卡上有两个多维数据集策略:Read Allowed 和 Read Denied,如图 6 所示。Read Allowed 策略允许访问多维数据集,而 Read Denied 策略拒绝访问多维数据集。


图 6. 一个多维数据集的策略
显示选中 Read Allowed 策略的屏幕截图

要对角色分配策略,需要输入角色名并在 Authorizations 选项卡中选择策略。在图 7 中,角色 United States Sales Managers 被分配了策略 Read Allowed。


图 7. 一个多维数据集的 Authorizations
显示选中 Default Role 的屏幕截图

注意,图 7 中出现了一个名为 Default Role 的角色。如果用户不属于在多维数据集上具有显式授权的角色,则该用户被视为默认角色的成员。例如,如果用户 Joe 不是角色 United States Sales Managers 的成员,那么他将被视为角色 Default Role 的成员。

除了默认角色,每个多维数据集还有一个默认策略。默认策略就是指分配给默认角色的策略。首次在多维数据集上启用安全性时,默认策略是 Read Allowed 策略。但是,默认策略也可以更改为 Read Denied 策略。

默认角色和默认策略共同构成默认授权:多维数据集上针对没有显式访问规则的用户的隐式访问规则。

定义维度安全性

非度量(Non-measures)维度

从 InfoSphere Warehouse V9.7 开始,您可以在维度上定义安全性,方法是指定角色可以访问的维度成员。在 Design Studio 的 Data Project Explorer 中选择维度的一个层级。然后通过勾选 Properties 视图的 Authorizations 选项卡上的 Enable Security 复选框启用安全性,如图 8 所示。


图 8. 启用维度安全性
显示为 Retailers 选中 Default Role 并勾选了 Enable Security 的屏幕截图

启用安全性后,您可以在 Policies 选项卡上为该维度创建策略。策略包含名称、说明、允许的成员组和拒绝的成员组。允许和拒绝的成员组必须是 MDX 表达式,表达式的计算结果为该维度的成员组。从 Allowed Members 和 Denied Members 字段,您可以启动 MDX Expression Builder 来构建 MDX 表达式。注意,当您单击 Validate 按钮时,MDX Expression Builder 只检查语法错误。

您必须为 Allowed Members 或 Denied Members 指定一个表达式。如果没有为 Allowed Members 指定表达式,那么将认为该维度的所有成员都可以被分配了策略的角色访问。如果没有为 Denied Members 指定表达式,那么该维度的任何成员都可以被分配了策略的角色访问。如果同时为 Allowed Members 和 Denied Members 指定了表达式,那么分配了该策略的角色可以访问在 Allowed Members 中指定的成员,但不能访问在 Denied Members 中指定的成员。

例如,图 9 展示了 Retailers 维度的策略。United States Retailers 策略允许访问美国成员的祖先成员和后代成员。


图 9. 一个非度量维度的策略 (查看大图)
选中了 Policies 选项卡并突出显示 United States Retailers 的屏幕截图

图 9 显示了两个策略:一个 All Allowed 策略允许访问维度的所有成员,一个 All Denied 策略拒绝访问维度的所有成员。为简便起见,这些策略将自动创建。注意,分配了 All Denied 策略的角色不会访问多维数据集的任何单元,因为该角色不能沿维度的任何成员分割多维数据集。

您可以在 Authorizations 选项卡上对角色分配策略。一个策略可以分配给多个角色,一个角色也可以接受多个策略。如果一个角色分配了多个策略,那么该角色中的用户有权访问的成员为:策略中指定的 Allowed Members 的集合减去在策略中指定的 Denied Members 的集合。这对属于多个角色的用户也适用。

例如,图 10 显示 United States Retailers 策略已经分配给 United States Sales Managers 角色。


图 10. 非度量维度的授权
显示对 Retailers 选择 United States Sales 并勾选 Enable Security 的屏幕截图

和多维数据集一样,每个维度都有一个默认角色和策略。只要用户不属于对维度具有显式授权的角色,它就属于默认角色的成员,可以根据默认策略访问该维度。默认策略可以是任意策略,包括您自己创建的策略。

度量维度

除了非度量维度之外,您还可以在度量维度上定义安全性。要在度量维度上定义安全性,在 Data Project Explorer 中选择 Cube Facts 对象,然后执行与在非度量维度上定义安全性相同的步骤。

图 11 显示度量维度上的安全性。它显示 United States Sales Managers 只能访问 Sale total 度量。


图 11. 一个度量维度的授权
显示对 Cube Facts 选中 United States Sales Managers 并勾选 Enable Security 的屏幕截图

管理角色

要查看安全模型中的角色,在 Data Project Explorer 中选择 OLAP 角色,如图 12 所示。


图 12. OLAP 角色
显示在 Data Project Explorer 中选中 OLAP Roles 的屏幕截图

您可以在 OLAP 角色对象的 Properties 属性中添加、修改和删除角色。图 13 显示名为 United States Sales Managers 的安全模型中的一个角色。


图 13. 角色属性
显示 Roles 选项卡已选中并突出显示 United States Sales Managers 的屏幕截图




回页首


导出安全模型

安全模型设计结束后,您可以将它导出到一个文件,以便稍后使用 Administration Console 导入。一个导出向导将帮助您完成导出过程,在导出向导中选择要导出的多维数据集,如图 14 所示。


图 14. 导出向导
显示带有文件名 c:/temp/csgodw_security.xml 的 Export Cubing Services Security 窗口的屏幕截图

与选中的多维数据集及其维度相关联的安全对象将被导出。只有启用了安全性的多维数据集可以被导出,并且在这些多维数据集中,只有启用了安全性的维度可以被导出。在这些启用了安全性的多维数据集和维度中,将只导出被某个授权引用了的角色和策略。

导出完成后,指定的文件将包含安全模型。该文件与导出多维数据集模型时创建的文件不同且单独存在。您必须保证两个文件同步,以便 Cube Server 正确实施安全规则。如果执行以下操作,则需要重新导出和重新导入安全模型。

  1. 导出安全模型
  2. 导入安全模型
  3. 修改多维数据集模型
  4. 导出多维数据集模型
  5. 导入多维数据集模型




回页首


导入安全模型

在导入包含安全模型的文件之前,使用 Administration Console 将包含多维数据集模型的文件导入 InfoSphere Warehouse 控制数据库。

当您导入包含多维数据集模型的文件时,系统将提示您选择一个数据库。您需要在导入安全模型时选择相同的数据库,如图 15 所示。


图 15. Security Import Wizard, Step 1
Security Import Wizard, Step 1 的屏幕截图,Connection name 是 gsdb

和上一版 Cubing Services 一样,这个数据库用于在用户查询多维数据集模型中的多维数据集时验证用户。

选择数据库后,选择要导出的安全文件,如图 16 所示。


图 16. Import wizard, Step 2
Security Import Wizard, Step 2 的屏幕截图,Security XML 文件为 c:/temp/csgodw_security.xml

选择要导入的安全文件之后,映射角色。您可以将在 Design Studio 中创建的角色映射到在 Administration Console 中创建的角色,如图 17 所示。


图 17. Import wizard, Step 3
Security Import Wizard, Step 3 的屏幕截图,Existing Roles on Server 是 'create new role'

如果在 Administration Console 中没有创建角色,您可以保留默认映射,使 Design Studio 中创建的角色自动在 Administration Console 中创建。Cube Server 管理员(负责管理角色和向用户分配角色)可能已经在 Administration Console 中创建了角色。由于管理员创建的角色名可能与您创建的不同,角色映射消除了名称之间的差异。

映射角色后,指定安全文件导入过程中出现的冲突的解决方式。冲突在资源级别检测,有 3 个选项用于解决冲突:

  • Merge Replace —— 如果某个资源的库中有安全元数据,文件中的安全元数据将替换资源库中的安全元数据。

  • Merge Ignore —— 如果某个资源的库中有安全元数据,文件中的安全元数据将被忽略,资源库中的安全元数据将被保留。

  • Replace – 资源库中与安全文件中的多维数据集关联的所有安全元数据将被删除,文件中的所有安全元数据将添加进来。

图 18 展示了向导中的上述选项。


图 18. Import wizard, Step 4
Security Import Wizard, Step 4 的屏幕截图,Start Import 显示了 3 个 Import Collision 选项

合并选项示例

下面是上述 3 个冲突解决选项的示例,这些示例对现有安全模型和导入安全模型的假设如下:

现有安全模型

  • 多维数据集:GO Sales and Marketing
    • 策略:Read Allowed
    • 授权:(Default Role、Read Allowed)
    • 维度:Retailers
      • 策略:All Allowed
      • 授权:(Default Role、All Allowed)
    • 维度:Products
      • 策略:All Allowed
      • 授权:(Default Role, All Allowed)
  • 多维数据集:hr
    • 策略:Read Denied
    • 授权:(Default Role, Read Denied)

导入的安全模型

  • 多维数据集:GO Sales and Marketing
    • 策略:Read Allowed、Read Denied
    • 授权:(Default Role、Read Denied)、(United States Sales Managers、Read Allowed)
    • 维度:Retailers
      • 策略:All Denied、United States Retailers
      • 授权:(Default Role、All Denied)、(United States Sales Managers、United States Retailers)
    • 维度:Measures
      • 策略:All Denied、Sale Total
      • 授权:(Default Role、All Denied)、(United States Sales Managers、Sale Total)
  • 多维数据集:warehouse
    • 策略:Read Allowed
    • 授权:(Default Role、Read Allowed)

Merge Replace 选项示例:

如果您选择 Merge Replace 选项解决现有安全模型和导入安全模型之间的冲突,每个多维数据集或维度将按照表 1 中左边部分粗体显示的方法处理。生成的安全模型显示在表 1 右边部分。


表 1. 展示用 Merge Replace 选项解决冲突的示例

现有的安全模型

  • 多维数据集:GO Sales and Marketing (被替换)
    • 策略:Read Allowed
    • 授权:(Default Role、Read Allowed)
    • 维度: Retailers (被替换)
      • 策略:All Allowed
      • 授权:(Default Role、All Allowed)
    • 维度:Products (保留)
      • 策略:All Allowed
      • 授权:(Default Role、All Allowed)
  • 多维数据集:hr (保留)
    • 策略:Read Denied
    • 授权:(Default Role、Read Denied)

导入的安全模型

  • 多维数据集:GO Sales and Marketing (采用)
    • 策略:Read Allowed、Read Denied
    • 授权:(Default Role、Read Denied)、(United States Sales Managers、Read Allowed)
    • 维度:Retailers (采用)
      • 策略:All Denied、United States Retailers
      • 授权:(Default Role、All Denied)、(United States Sales Managers、United States Retailers)
    • 维度:Measures (添加)
      • 策略:All Denied、Sale Total
      • 授权:(Default Role、All Denied)、(United States Sales Managers、Sale Total)
  • 多维数据集:warehouse (添加)
    • 策略:Read Allowed
    • 授权:(Default Role、Read Allowed)

生成的安全模型

  • 多维数据集:GO Sales and Marketing
    • 策略:Read Allowed, Read Denied
    • 授权:(Default Role、Read Denied)、(United States Sales Managers、Read Allowed)
    • 维度:Retailers
      • 策略:All Denied、United States Retailers
      • 授权:(Default Role、All Denied)、(United States Sales Managers, United States Retailers)
    • 维度:Measures
      • 策略:All Denied、Sale Total
      • 授权;(Default Role、All Denied)、(United States Sales Managers, Sale Total)
    • 维度:Products
      • 策略:All Allowed
      • 授权:(Default Role、All Allowed)
  • 多维数据集:hr
    • 策略:Read Denied
    • 授权:(Default Role、Read Denied)
  • 多维数据集:warehouse
    • 策略:Read Allowed
    • 授权:(Default Role、Read Allowed)

如果您选择 Merge Replace 选项,则生成的安全模型包含与来自导入安全模型的 GO Sales and Marketing 多维数据集和 Retailers 维度关联的安全元数据。由于导入安全模型中的多维数据集和维度与现有安全模型中的多维数据集和维度相冲突,因此与现有安全模型中的多维数据集和维度关联的安全元数据被替换。由于 Products 维度和 hr 多维数据集没有出现在现有安全模型中,因此与这些资源关联的策略和授权保留在生成的安全模型中。类似地,与 Measures 维度和 warehouse 多维数据集关联的策略和授权被添加到生成的安全模型中,因为该维度和多维数据集没有出现在现有安全模型中。

Merge Ignore 选项示例:

如果您选择 Merge Ignore 选项解决现有安全模型和导入安全模型之间的冲突,每个多维数据集或维度将按照表 2 中左边部分粗体显示的方法处理。生成的安全模型显示在表 2 右边部分。


表 2. 展示用 Merge Ignore 选项解决冲突的示例

现有安全模型

  • 多维数据集:GO Sales and Marketing (保留)
    • 策略:Read Allowed
    • 授权:(Default Role、Read Allowed)
    • 维度:Retailers (保留)
      • 策略:All Allowed
      • 授权:(Default Role、All Allowed)
    • 维度:Products (保留)
      • 策略:All Allowed
      • 授权:(Default Role、All Allowed)
  • 多维数据集:hr (保留)
    • 策略:Read Denied
    • 授权:(Default Role、Read Denied)

导入安全模型

  • 多维数据集:GO Sales and Marketing (忽略)
    • 策略:Read Allowed、Read Denied
    • 授权:(Default Role、Read Denied)、(United States Sales Managers、Read Allowed)
    • 维度:Retailers (忽略)
      • 策略:All Denied、United States Retailers
      • 授权:(Default Role、All Denied)、(United States Sales Managers、United States Retailers)
    • 维度:Measures (添加)
      • 策略:All Denied、Sale Total
      • 授权:(Default Role、All Denied)、(United States Sales Managers、Sale Total)
  • 多维数据集:warehouse (添加)
    • 策略:Read Allowed
    • 授权:(Default Role、Read Allowed)

生成的安全模型

  • 多维数据集:GO Sales and Marketing
    • 策略:Read Allowed
    • 授权:(Default Role、Read Allowed)
    • 维度:Retailers
      • 策略:All Allowed
      • 授权:(Default Role、All Allowed)
    • 维度:Products
      • 策略:All Allowed
      • 授权:(Default Role、All Allowed)
    • 维度:Measures
      • 策略:All Denied、Sale Total
      • 授权:(Default Role、All Denied)、(United States Sales Managers、Sale Total)
  • 多维数据集:hr
    • 策略:Read Denied
    • 授权:(Default Role、Read Denied)
  • 多维数据集:warehouse
    • 策略:Read Allowed
    • 授权:(Default Role、Read Allowed)

选择 Merge Ignore 选项时,导入安全模型中与 GO Sales and Marketing 多维数据集和 Retailers 维度关联的安全元数据被忽略了,因为这些多维数据集和维度与现有安全模型中的多维数据集和维度冲突。与现有安全模型中的多维数据集和维度关联的安全元数据保留在生成的安全模型中。现有安全模型中的 Products 维度和 hr 多维数据集没有出现在导入安全模型中,因此与这些资源关联的策略和授权也保留在生成的安全模型中。由于导入安全模型中的 Measures 维度和 warehouse 多维数据集没有出现在现有安全模型中,因此与这些资源关联的策略和授权被添加到生成的安全模型中。

Replace 选项示例:

如果您选择 Replace 选项解决现有安全模型和导入安全模型之间的冲突,每个多维数据集或维度将按照表 3 中左边部分粗体显示的方法处理。生成的安全模型显示在表 3 右边部分。


表 3. 展示用 Replace 选项解决冲突的示例

现有安全模型

  • 多维数据集:GO Sales and Marketing (被替换)
    • 策略:Read Allowed
    • 授权:(Default Role、Read Allowed)
    • 维度:Retailers (被替换)
      • 策略:All Allowed
      • 授权:(Default Role、All Allowed)
    • 维度:Products (删除)
      • 策略:All Allowed
      • 授权:(Default Role、All Allowed)
  • 多维数据集:hr (保留)
    • 策略:Read Denied
    • 授权:(Default Role、Read Denied)

导入安全模型

  • 多维数据集:GO Sales and Marketing (采用)
    • 策略:Read Allowed, Read Denied
    • 授权:(Default Role、Read Denied)、(United States Sales Managers, Read Allowed)
    • 维度:Retailers (采用)
      • 策略:All Denied、United States Retailers
      • 授权:(Default Role、All Denied)、(United States Sales Managers、 United States Retailers)
    • 维度:Measures (添加)
      • 策略:All Denied、Sale Total
      • 授权:(Default Role、All Denied)、(United States Sales Managers、Sale Total)
  • 多维数据集:warehouse (添加)
    • 策略:Read Allowed
    • 授权:(Default Role、Read Allowed)

生成的安全模型

  • 多维数据集:GO Sales and Marketing
    • 策略:Read Allowed、Read Denied
    • 授权:(Default Role、Read Denied)、(United States Sales Managers、Read Allowed)
    • 维度:Retailers
      • 策略:All Denied、United States Retailers
      • 维度(Default Role、All Denied)、(United States Sales Managers、United States Retailers)
    • 维度:Measures
      • 策略:All Denied、Sale Total
      • 授权:(Default Role、All Denied)、(United States Sales Managers、Sale Total)
  • 多维数据集:hr
    • 策略:Read Denied
    • 授权:(Default Role、Read Denied)
  • 多维数据集:warehouse
    • 策略:Read Allowed
    • 授权:(Default Role、Read Allowed)

如果您选择 Replace 选项,生成的安全模型不包含与来自现有安全模型的 GO Sales and Marketing 多维数据集和 Retailers 及 Products 维度关联的任何安全元数据。与导入安全模型中的多维数据集及其维度关联的策略和授权将替换与现有安全模型中相同多维数据集及其维度关联的所有策略和授权。因为现有安全模型中的 hr 多维数据集没有和导入安全模型中的任何多维数据集冲突,与该多维数据集关联的安全元数据保留在生成的安全模型中。另外,生成的安全模型包含与导入安全模型中的 warehouse 多维数据集关联的安全元数据,因为该多维数据集没有和现有安全模型中的任何多维数据集冲突。





回页首


查看安全模型

导入安全模型后,由于安全模型存储在存储库中,您可以使用 Administration Console 查看它。Administration Console 提供两个视图查看存储库中的安全元数据:一个按多维数据集查看,另一个按角色查看。图 19 显示了与角色 United States Sales Managers 关联的安全元数据。


图 19. 与一个角色关联的安全元数据 (查看大图)
显示资源特权的 View Privileges 屏幕截图




回页首


实施安全模型

向角色添加用户

要使 Cube Server 在用户执行查询时实施安全模型,需要向角色添加用户。您可以使用 Administration Console 向角色添加用户。选择一个角色并单击 Manage Roles 页面上的 Manage Users 按钮,可以添加和删除 Manage Users 页面上的用户。图 29 展示角色 United States Sales Managers 有一个名为 db2admin 的用户。


图 20. 一个角色中的用户
显示 User Name 为 db2admin 的 Manage Users 的屏幕截图

角色中的用户必须是 DB2 用户,因为 Cube Server 将验证任务委托给 DB2。用户的特定要求取决于 DB2 的安全配置。例如,如果 DB2 使用一个基于操作系统的验证机制配置,则用户需要验证操作系统用户 ID 和密码。联系您的数据库管理员或参考 DB2 文档了解关于您的 DB2 实例的安全配置的更多信息。

重新加载安全性

用户查询一个多维数据集时,Cube Server 将联系 DB2 并请求它验证用户。验证后,Cube Server 将确定用户是否有权访问查询中引用的多维数据集和维度的成员。为此,Cube Server 将使用用 Administration Console 导入的安全模型中包含的授权信息。

使用 Administration Console 导入的安全模型影响所有使安全模型中的多维数据集可用的 Cube Servers。Cube Server 只有在启动后才能实施安全模型中的规则。如果导入安全模型时多维数据集服务器正在运行,则服务器不会实施安全模型中的规则,直到重新启动服务器或指示服务器重新加载安全性。重新加载安全性对 Cube Server 客户机的影响比重新启动 Cube Server 低,因此,要更新安全模型,建议让 Cube Server 重新加载安全性而不是重新启动服务器。重新加载安全性的方法是在 Administration Console 的 Manage Cube Servers 中选择要加载安全性的 Cube Server 并单击 Reload Security。

Cube Server 重新加载安全性后,它将根据安全模型中的策略对用户授权。图 21 展示角色 United States Sales Managers 中的一个用户 db2admin 在查询 Measures 和 Retailers 维度中的所有成员时将看到的内容。


图 21. 为角色 United States Sales Managers 中的一个用户实施安全性
显示零售商和销售合计,包括总计、美洲合计、美国合计等,与图 2 相同




回页首


修改安全模型

按照以下步骤修改导入到存储库中的安全模型:

  1. 重新打开 Design Studio。
  2. 在 Design Studio 中修改安全模型。
  3. 重复本文中导出、导入和实施安全模型的步骤。

如果您修改了多维数据集模型(比如删除或重命名维度),您可能需要修改或重新导出安全模型。





回页首


删除安全模型

要删除多维数据集模型中与一个多维数据集关联的安全元数据,使用 Administration Console 执行以下操作:

  1. 在 Manage Cube Models 页面上选择多维数据集模型。
  2. 单击 Edit 图标。
  3. 选择多维数据集。
  4. 单击 Delete Cubes and Security 图标,如图 22 所示。

图 22. 删除多维数据集和安全性
显示 Delete Cubes and Security 弹出菜单的 CSGODW Cube Model 的屏幕截图

您可以选择只删除与多维数据集关联的安全元数据,如图 23 所示。


图 23. 删除与多维数据集关联的安全元数据
Delete Cubes and Security Policies 的屏幕截图,显示选中了 Security 和 GO Sales and Marketing 多维数据集

删除与多维数据集关联的安全元数据后,指示使多维数据集可用的 Cube Servers 重新加载安全(如果它们在删除时正在运行的话)。这样做可以指示服务器立即停止实施安全性。





回页首


结束语

在本文中,您学习了 Cubing Services 中的多维数据集和维度安全。使用 IBM InfoSphere Warehouse V9.7,您可以限制对多维数据集和维度的访问,方法是在 Design Studio 中创建一个安全模型,将它导出到一个文件,使用 Administration Console 导入安全模型,指示 Cube Server 实施安全模型。您还学习了如何使用 Design Studio 更新安全模型和如何使用 Administration Console 删除安全模型。



参考资料

学习

获得产品和技术

讨论


关于作者

Cecilia Chu 是 Cubing Services 团队的成员,开发了 InfoSphere Warehouse V9.7 中的维度安全特性。




对本文的评价










回页首


IBM 公司保留在 developerWorks 网站上发表的内容的著作权。未经IBM公司或原始作者的书面明确许可,请勿转载。如果您希望转载,请通过 提交转载请求表单 联系我们的编辑团队。
    关于 IBM 隐私条约 联系 IBM 使用条款