在高層級中,規則可讓您自定 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 內的規則產生器定義規則以瞭解如何使用「規則產生器」。
在 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 的術語變更。
「DirXML 程序檔」是實作 Identity Manager 規則的主要方法。 它描述透過有序規則 (Rule) 集實作的規則 (Policy)。 規則 (Rule) 是由要測試的一組條件,以及當條件符合時要執行的一組有序動作組合而成。
「DirXML 程序檔」是使用「規則產生器」建立的。「規則產生器」提供了容易使用的 GUI 介面。