1.1 什麼是規則和過濾器?

在高層級中,規則可讓您自定 Identity Manager 傳送和接收更新的方式。

對驅動程式 Shim 撰寫目的之細節若有某種程度的瞭解,將有助於瞭解規則。

當撰寫驅動程式 Shim 時,會嘗試將公司部署驅動程式時,可能會使用的所有項目同步化的能力包含在內。 開發人員會撰寫驅動程式 Shim 來偵測已連接系統中的任何相關變更,然後將此變更傳送至 Identity Vault。

此變更包含於 XML 文件中,並根據 Identity Manager 的規格格式化。 以下片段包含一份此類的 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 您想要在什麼情況下建立物件。 您可以指定在建立規則 (Rule) 中必須出現的特定屬性。 如果沒有這些屬性,Identity Manager 會在必要資訊提供之前,防止物件的建立。

在物件建立後,「佈置」規則會告訴 Identity Manager 要將物件放在哪裡。 您可以指定物件應該建立在與它們來源系統相同的階層式結構中,也可以根據屬性值,將它們放置在完全不同的位置。

如果您要根據物件的位置屬性,將使用者放置在階層中,並根據 Full Name 為它們命名,可以在建立規則中將這些屬性設定為必要。 這可以確保屬性會存在,讓您的佈置策略可以正確運作。

您還可以利用規則來執行許多其他的事項。 使用「規則產生器」,您可以輕易產生唯一值、新增和移除屬性、產生事件與指令、傳送電子郵件等等。 使用 XSLT 直接轉換 XML 文件可進行數種更為進階的轉換作業 (請記住,送出和送入 Identity Vault 的變更都是以 XML 文件進行的)。

您要記住的基本事項是:規則可讓您控制 Identity Manager 處理更新的方式。

繼續瀏覽至節 1.2, 規則介紹以瞭解其他規則類型的相關資訊,然後移至節 2.0, 搭配 Designer 使用規則產生器定義規則節 3.0, 使用 iManager 內的規則產生器定義規則以瞭解如何使用「規則產生器」。

1.1.1 舊版術語的變更

在 DirXML® 1.1a 中,會使用詞彙「規則 (Rule)」來描述規則集、此規則集中的個別規則,以及個別規則中的條件和動作,視上下文而定。 在上下文不明確的情況下,此重疊會造成混淆。

目前在 Identity Manager 2 中,則使用詞彙「規則 (Policy)」 取代先前使用的詞彙「規則 (Rule)」,來描述所發生的高層級轉換。 您現在可以定義規則 (Policy) 集,其中每個規則 (Policy) 都包含一或多個規則 (Rule)。 而詞彙「規則 (Rule)」現在只用來描述個別的條件和動作集。

下表顯示從 DirXML 1.1a 到 Identity Manager 2.x 的術語變更。

表 1-1 從 DirXML 1.1a 到 Identity Manager 2.x 的術語變更

概念

DirXML 1.1a 術語

Identity Manager 2.x 術語

轉換集

規則 (Rule)

規則 (Policy) 集

轉換集中的個別轉換

規則 (Rule)

規則 (Policy)

個別轉換中的條件和動作

規則 (Rule)

規則 (Rule)

下表顯示從 Identity Manager 2.x 到 Identity Manager 3.0 的術語變更。

表 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 規則的主要方法。 它描述透過有序規則 (Rule) 集實作的規則 (Policy)。 規則 (Rule) 是由要測試的一組條件,以及當條件符合時要執行的一組有序動作組合而成。

「DirXML 程序檔」是使用「規則產生器」建立的。「規則產生器」提供了容易使用的 GUI 介面。