Skip to main content

🔐访问控制

建立多维数据集模型后, 不是每个人都能访问所有这些数据. 要解决这个问题可以通过角色来定义访问控制权限, 并将角色分配给用户.

模型访问控制的角色分为两种:

  1. 标准角色 (单一角色)
  2. 复合角色

访问控制概览

访问控制概览界面具有两个功能:

  • 角色管理: 语义模型中所有的角色列表, 可以进行删除操作.
  • 用户管理: 访问控制已分配用户列表, 可以对用户新增, 移除和修改角色分配.
    • 点击添加用户按钮在弹出的添加用户窗口中选择用户添加到用户列表中.
    • 在角色列对每行的用户进行修改角色分配.

点击导航栏右侧的新建角色按钮创建新的角色.

标准角色

标准角色 (单一角色) 是通过控制多维数据集的维度和成员对用户权限进行限制的.

创建标准角色的功能分为以下部分:

  1. 角色概览
  2. 多维数据集
  3. 维度 & 成员

角色概览

在角色概览里, 可以设置角色默认访问权限和分配本角色给用户.

默认访问可选值有:

  • 所有: 用户可以访问语义模型中的所有多维数据集.
  • 所有维度: 用户可以访问语义模型中的所有维度, 但是多维数据集需要另外显式的授权.
  • : 用户不能访问所有的事物, 除非有另外显式的授权.

用户列表可以添加或移除要为用户分配本角色的账号, 与在访问控制概览界面分配用户权限效果一致.

多维数据集

要给本角色显式设置多维数据集的事物权限, 可以通过将多维数据集从模型实体区域拖至角色的多维数据集区域, 然后点击选择要设置的多维数据集, 页面将转到相应的多维数据集权限设置界面.

默认访问:

  • 所有:
  • 自定义:除非角色默认访问设置为'所有维度',否则维度不会继承此多维数据集的访问权限。
  • 无:

维度 & 成员

针对单个多维数据集, 可以将不同的维度(层次结构)添加到角色里, 并且配置其权限控制属性.

  • 默认访问:
    • 所有: 用户可以访问所有维度成员.
    • 自定义: 可以使用最高层级, 最低层级或者成员显式限制具体成员集.
    • : 用户不能访问此维度.
  • 最高层级: 定义用户可访问的最高层级, 防止用户看到太多的 “大局视野” ,如查看累积到 Store Country 级别的收益.
  • 最低层级: 定义用户可访问的最低层级, 防止用户侵入查看个体客户的详细信息.
  • 成员: 逐个指定成员的可见性.

成员的授权具有先后顺序和继承能力, 遵循以下规则:

  1. 成员从父成员那里继承访问权限. 如果你无权访问 California,你就看不到 San Francisco .
  2. 授权依赖先后顺序. 如果你有权访问 USA,但无权访问 Oregon ,那么你将无法看到 Oregon 或 Portland. 但如果你无权访问 Oregon,然后有权访问 USA,你就可以看到所有的东西。
  3. 如果成员的任何子成员是可见的,则成员是可见的. 假设你无权访问 USA,然后有权访问 California 。你将能够看到 USA 和 California,但不能看到 USA 下的其他州。然而,针对 USA 的汇总数仍然会反映其所有的州。
  4. 成员授权不会覆盖层级授权的顶层和底层. 如果你设置 最高层级 等于 客户 [省市],并授予访问 California 的权限,你将无法看到 USA。

汇总策略

如果当前角色不能看到成员的所有子成员,则由汇总策略确定如何计算成员的汇总数。在默认的汇总策略 全部 下,该成员的汇总数包括不可见的子成员的值。

  • 全部. 该成员的总数包括所有子成员。如果不指定汇总策略属性,这是默认策略.
  • 部分: 该成员的总数只包括可访问的子节点.
  • 隐藏: 如果任何子结点无法访问,则隐藏总数.

复合角色

复合角色组合了多个角色,并拥有它们的授权的总和。

如果复合角色的一个或多个组成角色可以看到特定的语义模型对象,那么复合角色就可以看到它。类似地,复合角色相对于特定层次结构的汇总策略是所有角色汇总策略中限制最少的。