6.8 基于职能的权利策略之间的冲突解析

6.8.1 冲突概述

创建权利策略时,影响特定用户的多项策略在将权利指派给该用户时可能会发生冲突。

以下是解析冲突的方法。 对于某些权利,您可以更改冲突解析。

  • 不具有值的权利是加性的。 大多数情况下,帐户权利不具有值。 如果通过任何权利策略向用户授予已连接系统中的帐户,此用户将在该系统中接收帐户。 其它权利策略是否冲突并不重要;因为结果是加性的。

    授予帐户的冲突解析方法始终是不能更改的。

    不具有值的权利就如同电灯开关一样,不是打开就是关闭,如同授予或未授予。

    例如,如果管理员权利策略授予 Jean Chandler 一个 Exchange 帐户,但是 Jean Chandler 却被同样授予 Exchange 帐户的收发室员工权利策略排除在外,则 Jean 仍可以获得 Exchange 帐户。

  • 默认情况下,有值权利是加性的,但是可以选择按优先级进行解析。 权利(如组成员资格权利)的值具有组名称列表,或权利的特性具有值。 默认情况下,这些权利也是加性的。

    如果需要,可以更改这些权利的冲突解析。

    管理每个权利冲突解析的设置是在该权利中定义的。 驱动程序提供的每种权利都分别列在清单中。 有值的权利具有冲突解析特性,该特性是单独为每个权利设置的。 默认设置为 conflict-resolution="priority"。 其它可能的值为 conflict-resolution="union"

    • conflict-resolution=“union” —  “Union”值表示该权利是加性的。 将授予用户任何策略中的成员资格所指派的所有权利。 不同的权利值将会简单相加,然后用户就可以获得所有值。

      例如,如果 Jameel 是商业展示承包人策略的成员,该策略授予 GroupWise 电子邮件分发列表(名称为商业展示邮件列表)的成员资格;而在同样也指派电子邮件分发列表(名称为商业展示邮件列表)的商业展示管理员策略中 Jameel 却被排除在成员资格之外,则他在电子邮件分发列表中仍能接收成员资格。

      再举一例,如果在 AD 组(名称为收发室全体员工)中通过收发室策略授予 Consuela 成员资格,同样还在 AD 组(名称为紧急响应)中通过紧急志愿者策略授予 Consuela 成员资格,则在 AD 的两个组中都将授予她成员资格。

      如果这样设置,则策略列表中权利策略的顺序对权利并不重要。

    • conflict-resolution=“priority” —  “Priority”值表示如果两个不同策略中的值发生冲突,或者某个策略包含一个用户而其它策略却排除该用户,则授予该用户的权利只是那些位于权利策略列表中较高位置的权利。

      如果使用此设置,之前的示例会有截然不同的结果。

      在以上有关 Jameel 的示例中,如果 GroupWise 电子邮件分发列表权利具有“priority”值并且在列表中商业展示管理员策略的位置高于商业展示承包人策略,则在商业展示邮件列表中将不授予 Jameel 成员资格。

      在以上有关 Consuela 的示例中,如果 AD NOS 组成员资格具有“priority”值,并且在列表中收发室策略的位置高于紧急志愿者策略,则将仅在收发室全体员工组中授予 Consuela 成员资格。 在紧急响应组中将不授予 Consuela 成员资格,因为冲突解析是按优先级进行的,而不是加性的。

      例如,如果对环境进行配置,使用基于职能的权利将用户置于另一系统的分级结构中,此功能会很有用。 您一定希望将用户放置在某个位置上,而不是同时置于两个位置。

      请牢记,该设置对于每个驱动程序提供的每个权利都是独立的。

      作为一般规则,如果使用“Priority”设置,在列表中应该将管理员 (administrator) 或管理员 (manager) 策略置于高于终端用户或个别贡献者策略的位置。 应该使成员资格限制严格的组高于成员资格限制宽松的组。

6.8.2 为个别权利更改冲突解析方法

  1. 在 iManager 中,单击 Identity Manager >“Identity Manager 概述”,然后选择驱动程序集。

    将显示驱动程序集中所有驱动程序图形展示的页。

    选择驱动程序集

    图 6-7 驱动程序集

  2. 单击驱动程序状态按钮并选择“停止驱动程序”。

  3. 单击驱动程序图标,该驱动程序提供要更改的权利。

    将出现显示该驱动程序策略图标和该驱动程序图标的页。 在屏幕的中间位置,选择“查看所有权利”图标(红线圈住部分)。

    选择“查看所有权利”图标
  4. 在“管理权利”页,单击权利名称,在 XML 查看器中调出此权利。

  5. 选择“启用 XML 编辑”复选框。

  6. 在 XML 中,找出要更改的权利定义。

    以下是要查找的行的示例:

    <entitlement conflict-resolution="union" description="Grants membership to GroupWise Distribution lists" display-name="GroupWise Distribution Lists" name="gwDistLists">
    
  7. 更改 conflict-resolution 值。 以下是两个可能的值:

    conflict-resolution="union"
    
    conflict-resolution="priority"
    

    有关这些值的信息,请参见基于职能的权利策略之间的冲突解析

  8. 单击“重启动”,重启动权利服务驱动程序。

6.8.3 区分权利策略的优先级

默认情况下,不需考虑权利策略列表的顺序。 因为 Identity Manager 附带的驱动程序配置将 conflict-resolution="union" 作为每个权利的冲突解析方法。

如果将任何权利更改为 conflict-resolution="priority",则需要注意权利策略列表的顺序,但只需注意所更改的那些权利。有关这些值的信息,请参见基于职能的权利策略之间的冲突解析

使用权利策略列表旁的箭头按钮,可以更改权利策略的顺序。 列表中处于第一位置的策略具有最高优先级。

  1. 在 iManager 中,单击“基于职能的权利”>“基于职能的权利”。

  2. 搜索并选择驱动程序集。

    将出现带有权利策略列表的页。

  3. 使用箭头按钮在列表中将策略向上或向下移动,可更改权利策略的优先级。

    将权利策略移动到列表中更高的位置,它就具有了更高的优先级。

    调整策略优先级iManager 中的权利策略列表,鼠标位于向上箭头处。 鼠标悬停时的文本显示“向上调整优先级”。
  4. 单击“关闭”重启动驱动程序。

    重启动驱动程序后,优先级更改才能生效。