6.7 過濾器

過濾器控制 Identity Vault 與已連接系統之間資料的流動。過濾器在一個 Identity Manager 驅動程式組態中有多種用處。圖 6-1 中,有四處代表過濾器常見用處的位置都顯示了過濾器,但實際上此驅動程式只有一個過濾器。

儘管通道允許資料流動,我們仍然在通道中加入了規則與過濾器,以控制哪些資料可以通過通道以及資料到達目的地時顯示成何樣。例如,您可以透過設定驅動程式過濾器來禁止某個屬性值 (如電話號碼) 從已連接系統傳送至 Identity Vault,反之亦然。如此可幫助您規定 Identity Vault 或已連接系統是否為授權來源,以滿足特定業務需求。例如,如果在 PBX 系統與 Identity Vault 之間的關係過濾器允許員工的電話號碼從 PBX 系統流入 Identity Vault,但不允許從 Identity Vault 流入 PBX 系統,那麼 PBX 系統就是電話號碼的授權來源。如果其他所有已連接系統關係只允許電話號碼從 Identity Vault 流至已連接系統,不允許反向流動,其效果便是 PBX 系統是企業中員工電話號碼的唯一授權來源。

驅動程式過濾器會針對兩個通道指定 Identity Vault 為其處理事件和指令的那些物件的類別和屬性。它會告知 Metadirectory 引擎有關驅動程式組態關注的事件與資訊。從 Identity Vault 的角度來看,如果事件符合過濾器中的某個物件類別,或者符合設定為「同步化」、「通知」或「重設」的屬性,便會排入驅動程式的佇列。如果 Identity Vault 中發生的事件不符合過濾器中指定的資料類型,則會被此驅動程式忽略。同樣,如果應用程式中發生的事件不符合過濾器中指定的資料類型,也會被忽略,儘管 Shim 仍要對它們進行檢查以確定是否需要進行處理。例如,如果 Identity Manager 驅動程式組態應當只同步使用者資訊,過濾器會指定「使用者」物件,對其他 Identity Vault 物件的修改便會忽略。在可用的「使用者」類別屬性中,過濾器會指定所選屬性,例如「CN」、「名」、「姓」以及「電話號碼」。對其他使用者類別屬性的修改便會忽略。大多數已連接系統的過濾器中都會列出使用者物件類別及相關的資料屬性集。

6.7.1 同步化屬性

在發行者通道中,一旦某個事件已排入佇列等待通道處理,並且通過了輸入轉換、綱要對應及事件轉換,系統便會從輸入文件中選取「同步化」屬性,並移除未設定為「同步化」或「通知」的所有屬性。系統還會對設定為「重設」的屬性予以處理,會向 Identity Vault 查詢正確的值並將該值傳回應用程式以復原剛才所做的所有變更。在訂閱者通道中,「同步化」過濾器的工作方式與在發行者通道中的相同。唯一的區別在於,事件是從 Identity Vault 而非已連接系統發起。

6.7.2 通知屬性

借助「通知」屬性,您不必將事件文件中的屬性資料同步至 Identity Vault 便能使用該資料。例如,您需要從 HR 系統中獲得某人的名字、中間名和姓氏以建立帳戶,但又不想將其中間名儲存於 Identity Vault 中。透過將中間名屬性設定為「通知」,您不必將中間名儲存於 Identity Vault 中就能存取該屬性值。所有設定為「通知」的屬性都會在提交至目的地之前從文件中去除。