1.2 Identity Manager

Identity Manager 用于 Identity Vault 与已连接系统之间的数据同步。 已连接系统包含应用程序、目录、数据库或文件。

Identity Manager 包括多个部件。 下图说明了它的基本部件及基本部件间的关系:

图 1-1 Identity Manager 部件

Metadirectory 引擎是 Identity Manager 体系结构中的关键模块。它提供的接口允许 Identity Manager 驱动程序与 Identity Vault 同步信息,即使完全不同的数据系统也可以连接并共享数据。

Metadirectory 引擎使用 XML 格式处理 Identity Vault 数据和 Identity Vault 事件。它利用一个规则处理器和一个数据转换引擎,对两个系统间流动的数据进行处理:

  1. 读取所有 Identity Manager 驱动程序的过滤器。
  2. 为相应的 Identity Vault 事件注册驱动程序。
  3. 按照每个驱动程序的规格过滤数据。
  4. 为传递到每个驱动程序的 Identity Vault 事件设置超速缓存。

Identity Vault 在进行初始化时执行以下步骤:

1.2.1 Metadirectory 引擎

Metadirectory 引擎可以分为两个部件: eDirectory 接口和同步引擎。

eDirectory 接口

eDirectory 接口内置于 Metadirectory 引擎中,用于检测 eDirectory 中发生的事件。 此接口通过使用事件超速缓存保证将事件递送至 Identity Manager。 eDirectory 接口支持多驱动程序装载,这意味着虽然只为 eDirectory 服务器运行了一个 Identity Manager 实例,但它可以与多个已连接系统进行通讯。 此接口中还内置有回送检测功能,可防止 Identity Vault 和已连接系统间发生事件循环。 虽然此接口中已包含回送保护,但开发者还是应该在单个已连接系统驱动程序中构建回送检测。

同步引擎

同步引擎对引擎中出现的每个事件应用 Identity Manager 策略。 这些策略是在策略构建器中使用 DirXML 底稿创建的。 策略构建器允许通过 GUI 界面创建策略,而不必使用 XML 文档或以 XSLT 编写的样式页。 虽然样式页仍可继续使用,但使用策略构建器将更加简单。 有关策略构建器或 DirXML 底稿的更多信息,请参见《策略构建器和驱动程序自定义指南》

同步引擎可对源文档应用各种策略。 能够完成这些转换是 Identity Manager 最强大的功能之一。 Identity Vault 和已连接系统间的共享数据是实时进行转换的。

1.2.2 驱动程序配置文件

驱动程序配置是 Identity Manager 中附带的预配置 XML 文件, 可以通过 iManager 和 Designer 中的向导进行导入。

这些驱动程序配置中包含样本策略。 这些策略不适用于生产环境,而是作为模板供修改后使用的。

1.2.3 Identity Manager 事件超速缓存

所有通过 eDirectory 生成的事件在被成功处理完毕之前,均储存在事件超速缓存中。这样可保证数据不会因为连接错误、系统资源丢失、驱动程序不可用或任何其它网络故障而丢失。

1.2.4 驱动程序 Shim

驱动程序 Shim 充当已连接系统和 Identity Vault 之间的信息管道。 Shim 可用 Java、C 或 C++ 进行编写。

Metadirectory 引擎和驱动程序 Shim 之间是以 XML 文档的形式进行通讯的,这些 XML 文档将提供对事件、查询和结果的描述。驱动程序 Shim 通常指代该驱动程序。 它是 Identity Vault 和已连接系统之间传送信息的管道。

Shim 支持以下对象事件:

  • 添加(创建)
  • 修改
  • 删除
  • 重命名
  • 移动
  • 查询

此外,Shim 还必须支持已定义的查询功能,以便 Identity Manager 可以对已连接系统进行查询。

当 Identity Vault 中发生的某一事件引起已连接系统中的一项操作时,Identity Manager 就会创建一个 XML 文档来描述该 Identity Vault 事件,并通过订购者通道将它提交到驱动程序 Shim。

当已连接系统中发生某一事件时,驱动程序 Shim 就会生成一个 XML 文档,来描述该已连接系统事件。 然后驱动程序 Shim 通过发布者通道将生成的 XML 文档提交到 Identity Manager。 Identity Manager 利用发布者策略对该事件进行处理,然后令 Identity Vault 执行相应的操作。

1.2.5 驱动程序集

驱动程序集是一个树枝对象,其中包含多个 Identity Manager 驱动程序。 一个驱动程序集每次只能与一个服务器关联。 因此,正在运行的所有驱动程序都必须分组为同一驱动程序集。

驱动程序集对象必须存在于使用它的任何服务器的完全读/写复本中,因此建议对驱动程序集进行分区。 这样建议是为确保当用户的复本移动到其它服务器时,不会移动驱动程序对象。

下图说明驱动程序集在 Designer 中是如何显示的。

图 1-2 Designer 中的驱动程序集

下图说明驱动程序集在 iManager 中是如何显示的。

图 1-3 iManager 中的驱动程序集

在 Designer 的建模程序(如上所示,图 1-2)或 iManager 的概述页(如上所示,图 1-3)中,您可以:

  • 查看和修改驱动程序集及其属性
  • 查看驱动程序集中的驱动程序
  • 更改驱动程序的状态
  • 将驱动程序集与服务器关联
  • 添加或去除驱动程序
  • 查看驱动程序集的激活信息
  • 查看驱动程序集的状态日志

1.2.6 驱动程序对象

驱动程序对象表示连接到与 Identity Vault 相集成的已连接系统的驱动程序。 驱动程序对象及其配置参数由以下部件组成:

  • eDirectory 树中的一个驱动程序对象,包含在驱动程序集对象中。
  • 一个订购者通道对象,包含在驱动程序对象中。
  • 一个发布者对象,包含在驱动程序对象中。
  • 若干策略对象,供驱动程序对象、订购者对象和发布者对象参照。
  • 一个可执行驱动程序 Shim,供驱动程序对象参照。
  • Shim 特定参数,由管理员配置。
  • 驱动程序对象的 eDirectory 口令。 Shim 可使用该口令鉴定 Shim 的远程部分。
  • 鉴定参数,用于连接及鉴定已连接系统。
  • 权利,但并不是每个驱动程序都包含权利。 权利可在创建驱动程序时启用,也可在创建完毕后添加。
  • 驱动程序的启动选项,包括以下三种状态:
    • 禁用: 驱动程序不运行。
    • 手工: 必须通过 iManager 手工启动驱动程序。
    • 自动启动: Identity Vault 启动时,驱动程序会自动启动。
  • 对纲要映射策略的参照。
  • 已连接系统的纲要的 XML 表示形式。 这通常通过 Shim 从已连接系统中自动获得。

在 iManager 中,可以访问 Identity Manager 驱动程序概述,并修改现有驱动程序的参数、策略、样式表和权利。 Identity Manager 驱动程序概述如下图所示。

图 1-4 Identity Manager 驱动程序概述

此外,驱动程序对象还可用于检查 eDirectory 权限。无论驱动程序对象要读取或写入任何对象,都必须向该驱动程序授予足够的 eDirectory 权限。 为此,可以将驱动程序对象设为与该驱动程序同步的 eDirectory 对象的受托者,或授予驱动程序对象安全性等效权限。

有关权限指派的更多信息,请参见《Novell eDirectory 8.8 管理指南》中的“eDirectory 权限”。

1.2.7 发布者通道和订购者通道

Identity Manager 驱动程序包含两个数据处理通道: 发布者通道和订购者通道。 发布者通道将事件从已连接系统发送到 Identity Vault 中。 订购者通道将事件从 Identity Vault 发送到已连接系统中。 每个通道都包含各自的策略,来定义如何处理和转换数据。

图 1-5 Designer 中的发布者通道和订购者通道

图 1-6 iManager 中的发布者通道和订购者通道

1.2.8 事件和命令

在 Identity Manager 中,对事件和命令的区分非常重要。 如果事件是发送给驱动程序的,该事件就是命令。 如果事件是发送给 Identity Manager 的,该事件就是通知。 当驱动程序向 Identity Manager 发送事件通知时,它是在告知 Identity Manager 已连接系统中发生了更改。 随后,Metadirectory 引擎将根据可配置规则,确定必须向 Identity Vault 发送哪些命令(如果有)。

当 Identity Manager 向驱动程序发送命令时,Identity Manager 已将一个 Identity Vault 事件视为输入,并在应用适当的策略后,确定已连接系统中此命令代表的更改是必要的。

1.2.9 策略和过滤器

使用策略和过滤器可以控制数据如何从一个系统流向另一个系统。 正是通过策略中的规则,来定义如何转换起管理作用的 Identity Vault 类、特性和事件,以供在已连接系统中使用的(反之亦然)。 有关策略和过滤器的详细信息,请参考《策略构建器和驱动程序自定义指南》

1.2.10 关联

大多数其它身份管理产品都要求在已连接系统中储存某种标识符,才能将对象从已连接系统映射到目录中。 而使用 Identity Manager 则无需更改已连接系统。 Identity Vault 中的每个对象都包含一个关联表,该表用已连接系统中的唯一标识符映射 Identity Vault 对象。该表采用逆序索引,这样在更新 Identity Vault 时,已连接系统就无需向驱动程序提供 Identity Vault 标识符(例如判别名)。

当发生事件的对象尚未与 Identity Vault 中的另一对象关联时,就要在这两个对象之间创建关联。要创建关联,每个对象之间的最小可定义准则集必须匹配。 例如,可以创建一项策略,声明四个特性中如果任意两个特性匹配度大于 90%(全名、电话号码、员工 ID 和电子邮件地址),则将关联对象。

匹配策略定义了确定两个对象是否相同的准则。如果未发现与已更改对象匹配的对象,可以创建一个新对象。为此,必须满足所有最低创建准则。这些准则由“创建”策略定义。最后,布局策略定义在命名层次中创建新对象的位置。

可以通过以下两种方式之一创建关联:

  • 作为两个对象之间的匹配项
  • 作为特定位置上新建的对象

一旦对象之间形成关联,它一直保持有效,直到管理员删除对象或关联。

关联表

在 Identity Manager 中,关联指将 eDirectory 中的对象与驻留在已连接系统中的对象相匹配。最初安装 Identity Manager 时扩展了 eDirectory 纲要。此扩展包括向所有 eDirectory 对象的库类附加一个新特性。该特性就是关联表。关联表跟踪 eDirectory 对象链接的所有已连接系统对象。此表的构建和维护是自动进行的,因此,尽管经常查看此信息会很有帮助,但却没有必要手工编辑此信息。

可以在 iManager 中查看对象的关联特性。

  1. 在 iManager 中,选择工具栏中的“查看对象”图标。

    查看对象图标
  2. 浏览并选择对象,然后选择“修改对象”。

  3. 选择“Identity Manager”选项卡。

关联特性显示在“Identity Manager”选项卡中。