1.1 什么是策略和过滤器?

使用策略可以在很大程度上自定义 Identity Manager 发送和接收更新的方式。

理解有关驱动程序 Shim 编写目的的某些详细信息有助于理解策略。

部署驱动程序的公司编写驱动程序 Shim 是为了同步可能使用到的任何内容。开发者编写驱动程序 Shim 以检测已连接系统中的所有相关更改,然后将检测到的更改传递给 Identity Vault。

在一个根据 Identity Manager 规范格式化的 XML 文档中包含检测到的更改。以下代码片段中包含其中一个 XML 文档:

<nds dtdversion="2.0" ndsversion="8.7.3">
<source>
   <product version="2.0">DirXML</product>
   <contact>Novell, Inc.</contact>
</source>

<input>
   <add class-name="User" event-id="0" src-dn="\ACME\Sales\Smith"
   src-entry-id="33071">
      <add-attr attr-name="Surname">
         <value timestamp="1040071990#3" type="string">Smith</value>
      </add-attr>
      <add-attr attr-name="Telephone Number">
         <value timestamp="1040072034#1" type="teleNumber">111-1111</value>
      </add-attr>
   </add>
</input>
</nds>

驱动程序能够报告所有相关的更改,您可以据此过滤信息。过滤器用于阻止信息。您可以修改过滤器,仅允许所需的信息进入您的环境。有关哪些更改很重要以及如何处理这些更改的逻辑是在引擎中而不是驱动程序 Shim 中处理的。

如果某家公司并不怎么关心组,则可以使用在 Identity Vault 或已连接系统中阻止所有有关组的操作的过滤器。如果某家公司很重视用户和组,则可以使用允许在 Identity Vault 和已连接系统之间同步这两种类型对象的过滤器。

在驱动程序自定义中,第一步是定义过滤器,仅同步那些您关注的对象。

第二步是定义 Identity Manager 对过滤器允许的对象所执行的操作。上文的 XML 文档中的添加操作就是这样的例子,将姓名为 Smith、电话号码是 111-1111 的用户添加到已连接系统中。假定您允许此操作,则 Identity Manager 需要决定如何处理此用户。

Identity Manager 将以特定顺序应用一组策略,从而确定需要执行的操作。

首先,匹配策略将回答以下问题:“此对象是否已在数据存储区中?”要回答此问题,您需要定义对象的唯一特性。因为电子邮件地址一般是唯一的,所以要检查的常用特性可以是电子邮件地址。您可以定义这样一个策略:如果两个对象的电子邮件地址相同,则它们是同一对象。

如果找到匹配项,则 Identity Manager 将该匹配项记录在称为关联的特性中。关联是一个唯一值,Identity Manager 可使用它将已连接系统中的对象关联起来。

未找到匹配项时将调用创建策略。创建策略将告诉 Identity Manager 您希望在何种情况下创建对象。您可以将某些特性设为创建规则中的必需项。如果这些特性不存在,Identity Manager 将阻止对象的创建,直到提供了所需的信息。

创建对象后,布局策略将通知 Identity Manager 放置对象的位置。您可以指定应该在与对象原来的系统相同的层次结构中创建对象,或者可以根据某个特性值将对象放置在完全不同的位置。

如果希望根据对象的位置特性按层次放置用户,并根据全名为它们命名,则可以将这些特性设为创建策略中的必需项。这样可以确保该特性存在,从而使布局策略正常工作。

还可以使用策略做很多其它的事情。使用策略构建器,可以轻松地生成唯一值、添加和去除特性、生成事件和命令、发送电子邮件等。甚至还可以进行更高级的转换,方法是使用 XSLT 直接转换 XML 文档(请记住,在 XML 文档中的 Identity Vault 之间发送更改)。

要记住的基本内容是使用策略可以控制 Identity Manager 如何处理更新。

请继续转到Section 1.2, 策略简介学习更多有关不同类型的策略的内容,然后转到Section 2.0, 通过使用带有 Designer 的策略构建器定义策略Section 3.0, 在 iManager 中使用策略构建器定义策略学习如何使用策略构建器。

1.1.1 与较早版本相比的术语变更

在 DirXML® 1.1a 中,术语“规则”用来说明规则集、规则集中的各个规则或每个规则中的各种条件和操作,具体取决于环境。如果环境交待不清,这种重叠在某些情况下会导致混淆。

在 Identity Manager 2 中,现在使用“策略”代替以前使用的“规则”来描述所发生的高级转换。您现在要定义的是策略集,其中每项策略包含一个或多个规则。而术语“规则”现在仅用于描述单个条件和操作集。

下表说明了从 DirXML 1.1a 到 Identity Manager 2.x 的术语变更情况。

Table 1-1 从 DirXML 1.1a 到 Identity Manager 2.x 的术语变更情况

概念

DirXML 1.1a 术语

Identity Manager 2.x 术语

转换集

规则

策略集

策略集中的单个转换

规则

策略

单个转换中的条件和操作

规则

规则

下表说明了从 Identity Manager 2.x 到 Identity Manager 3.0 的术语变更情况。

Table 1-2 从 Identity Manager 2.x 到 Identity Manager 3.0 的术语变更情况

概念

Identity Manager 2.x 术语

Identity Manager 3 术语

产品

DirXML

Identity Manager

安装该产品的服务器

DirXML 服务器

Metadirectory 服务器

应用程序或数据库中正在同步数据的服务器

DirXML 已连接系统服务器

已连接系统服务器

对象的储存位置

eDirectory™

Identity Vault

处理部件

DirXML 引擎

Metadirectory 引擎

1.1.2 DirXML 底稿

DirXML 底稿是实施 Identity Manager 策略的主要方法。它说明了有序规则集实施的策略。规则包含要测试的条件集,以及条件符合时要执行的有序操作集。

使用策略构建器可以创建 DirXML 底稿,它提供了易于使用的 GUI 界面。