2.3 计划 Identity Manager 实施的技术方面

2.3.1 使用 Designer

Identity Manager 附带一个名为 Designer 的实用程序。Designer 可用于设计、测试和记录 Identity Manager 驱动程序。 Designer 还可用于查看口令同步和数据流动的方式。 有关更多信息,请参见《Designer 2.1 for Identity Manager 3.5.1 管理指南》。

2.3.2 在服务器上复制 Identity Manager 需要的对象

如果 Identity Manager 环境访问多个服务器以运行多个 Identity Manager 驱动程序,那么规划时要确保在运行这些 Identity Manager 驱动程序的服务器上复制某些 eDirectory 对象。

只要已过滤复本中包括驱动程序需要读取或同步的所有对象和属性,就可以使用这些复本。

请记住,必须为 Identity Manager 驱动程序对象授予对任何要同步的对象的足够 eDirectory 权限,方法是通过显式授权,或者使驱动程序对象的安全性等效于具有所需权限的对象。

运行 Identity Manager 驱动程序的 eDirectory 服务器(如果使用远程装载程序,则是驱动程序参照的 eDirectory 服务器)必须保存下列主复本或读-写复本:

  • 该服务器的驱动程序集对象。

    运行 Identity Manager 的每个服务器都应该具有一个驱动程序集对象。 除非有特定的需求,否则不要将多个服务器与同一个驱动程序集对象关联。

    注:当创建驱动程序集对象时,默认设置是创建独立的分区。 Novell 建议在驱动程序集对象上创建独立的分区。 要使 Identity Manager 正常运行,服务器需要保存驱动程序集对象的完整复本。 如果服务器具有驱动程序集对象的安装位置的完整复本,则不需要分区。

  • 该服务器的服务器对象。

    服务器对象是必需的,因为驱动程序使用它为对象生成密钥对。对于 Remote Loader 鉴定来说,它也至关重要。

  • 需要同步驱动程序的该实例的对象。

    除非这些对象的复本与驱动程序位于同一台服务器上,否则驱动程序不能同步对象。 事实上,Identity Manager 驱动程序将同步在服务器上复制的所有树枝中的对象,除非您创建规则以另行指定(用于范围过滤的规则)。

    例如,如果需要驱动程序同步所有用户对象,最简单的方法是使用驱动程序的一个实例,该驱动程序位于保存所有用户的主复本或读/写复本的服务器上。

    但是,许多环境都没有包含所有用户复本的单台服务器。 相反,完整用户集分布在多台服务器上。 在这种情况下,有三种选择:

    • 将用户聚合到单台服务器。 可通过向现有服务器添加复本来创建保存所有用户的单台服务器。 如果需要,只要必需的用户对象和属性是已过滤复本的一部分,就可以使用已过滤复本减少 eDirectory 数据库的大小。

    • 在启用范围过滤的情况下,使用多台服务器上的驱动程序的多个实例。 如果不希望将用户聚合到单台服务器,则需要确定由哪个服务器集保存所有用户,同时在其中的每个服务器上设置 Identity Manager 驱动程序的一个实例。

      为防止驱动程序的不同实例尝试同步相同的用户,您将需要使用范围过滤来定义每个驱动程序实例应该同步的用户。范围过滤表示向每个驱动程序添加规则,以将驱动程序的管理范围限制到特定的树枝。 请参见使用“范围过滤”管理不同服务器上的用户

    • 在没有范围过滤的情况下,使用多台服务器上的驱动程序的多个实例。 如果要在不同服务器上运行驱动程序的多个实例且不使用已过滤复本,则需要对不同的驱动程序实例定义策略,以使驱动程序能够处理同一身份库 中的不同对象集。

  • 创建用户时需要驱动程序使用的模板对象(如果选择使用模板)。

    Identity Manager 驱动程序不要求指定用于创建用户的 eDirectory 模板对象。 但是,如果指定在 eDirectory 中创建用户时驱动程序应使用模板,则必须在运行驱动程序的服务器上复制模板对象。

  • Identity Manager 驱动程序管理用户时需要使用的任何树枝。

    例如,如果创建了一个名称为“非活动用户”的树枝以保存禁用的用户帐户,则必须使运行驱动程序的服务器上具有该树枝的主复本或读/写复本(最好是主复本)。

  • 驱动程序需要参照的其他任何对象(例如,Avaya* PBX 驱动程序的工作指令对象)。

    如果驱动程序只是读取而不是更改其他对象,则服务器上的这些对象的复本可以是只读复本。

2.3.3 使用“范围过滤”管理不同服务器上的用户

“范围过滤”表示向每个驱动程序添加规则,以将驱动程序的操作范围限制到特定的树枝。 在以下两种情况下,可能需要使用范围过滤:

  • 希望驱动程序只同步特定树枝中的用户。

    默认情况下,Identity Manager 驱动程序将同步运行该驱动程序的服务器上复制的所有树枝中的对象。 要缩小该范围,必须创建范围过滤规则。

  • 希望 Identity Manager 驱动程序同步所有用户,但不希望在同一服务器上复制所有用户。

    要同步所有用户且不将其复制到单台服务器上,则需要确定由哪个服务器集保存所有用户,然后在其中的每台服务器上创建 Identity Manager 驱动程序的实例。 为防止驱动程序的两个实例尝试与相同的用户同步,您将需要使用“范围过滤”来定义驱动程序的每个实例应该同步的用户。

    注:即使服务器的复本当前未重叠,也应该使用范围过滤。 以后,服务器上可能会添加复本,因而可能无意中产生重叠。 如果实施了范围过滤,Identity Manager 驱动程序就不会尝试同步相同的用户,即使以后向服务器添加复本,也是如此。

下面给出了如何使用范围过滤的示例:

下图显示了一个身份库,它带有三个保存用户的树枝:市场营销、财务和开发。同时它还显示了保存驱动程序集的 Identity Manager 树枝。 其中每个树枝都是一个独立的分区。

图 2-5 范围过滤的示例树

在此示例中,Identity manager 管理员有两个身份库 服务器:服务器 A 和服务器 B,如图 2-6 所示。两个服务器都不包含所有用户的拷贝。每个服务器包含三个分区中的两个,因此服务器保存项目的范围重叠。

管理员希望通过 GroupWise 驱动程序同步树中的所有用户,但是不希望将这些用户的复本聚合到单台服务器。他选择使用 GroupWise 驱动程序的两个实例,每台服务器使用一个。 他在每台 Identity Manager 服务器上安装 Identity Manager,然后设置 GroupWise 驱动程序。

服务器 A 保存“市场营销”和“财务”树枝的复本。 同时,Identity Management 树枝的复本也在该服务器上,该树枝保存服务器 A 的驱动程序集以及服务器 A 的 GroupWise 驱动程序对象。

服务器 B 保存 Development 和 Finance 树枝的复本,同时,Identity Management 树枝也在该服务器上,该树枝保存服务器 B 的驱动程序集和服务器 B 的 GroupWise 驱动程序对象。

由于服务器 A 和服务器 B 均保存了“财务”树枝的复本,因此这两个服务器均保存了“财务”树枝中的用户 JBassad。 如果不使用范围过滤,GroupWise 驱动程序 A 和 GroupWise 驱动程序 B 都会同步 Jbassad。

图 2-6 带重叠复本的两个服务器,不使用范围过滤

下图显示由于范围过滤已定义了由哪些驱动程序同步每个树枝,因此它可以防止驱动程序的两个实例管理相同的用户。

图 2-7 范围过滤定义由哪些驱动程序同步每个树枝

Identity Manager 3.5.1 附带了一些预定义的规则。有两个规则可帮助执行范围过滤。“事件转换 - 范围过滤 - 包含子树”和“事件转换 - 范围过滤 - 不包括子树”在 了解 Identity Manager 的策略中有所论述。

对于此示例,可以对服务器 A 和服务器 B 使用“包括子树”预定义规则。可为每个驱动程序定义不同的范围,以便它们只同步指定树枝中的用户。 服务器 A 将同步“市场营销”和“财务”。 服务器 B 将同步“开发”。