4.1 資料同步

資料同步提供自動化企業流程的基礎。以最簡單的形式來說,資料同步是指資料從已變更資料項目的位置移動到需要資料項目的其他位置。例如,假設在公司的人力資源系統中,員工的電話號碼有所變動,則在儲存員工電話號碼的所有其他系統上,會自動反映這一變更。

Identity Manager 不只是會同步身分識別資料,Identity Manager 還能同步儲存在連接的應用程式或 Identity Vault 中任何類型的資料。

資料同步 (包括密碼同步) 是由 Identity Manager 解決方案的五個基本元件所提供:Identity Vault、Identity Manager 引擎、驅動程式、遠端載入器及連接的應用程式。下圖顯示這些元件。

圖 4-2 Identity Manager 架構元件

下列幾節說明每一個元件,並為您解說在組織裡的各系統之間有效地同步資料所應該瞭解的概念:

4.1.1 元件

Identity Vault: Identity Vault 可做為您在應用程式之間要同步的資料的 Metadirectory。例如,從 PeopleSoft 系統同步至 Lotus Notes 的資料會先新增至 Identity Vault,然後再傳送至 Lotus Notes 系統。此外,Identity Vault 還會儲存 Identity Manager 的特定資訊,例如驅動程式組態、參數和規則。Novell eDirectory 用於 Identity Vault。

Identity Manager 引擎: 當 Identity Vault 或連接的應用程式中的資料發生變更時,Identity Manager 引擎會負責處理變更。對於 Identity Vault 中發生的事件,引擎會處理變更,並透過驅動程式發出指令給應用程式。對於應用程式中發生的事件,引擎會接收驅動程式送來的變更、處理變更,然後發出指令給 Identity Vault。Identity Manager 引擎也稱為 Metadirectory 引擎。

驅動程式: 驅動程式會連接至您要管理身分識別資訊的應用程式。驅動程式有兩項基本責任:將應用程式中的資料變更 (事件) 回報給 Identity Manager 引擎;將 Identity Manager 引擎所提交的資料變更 (指令) 貫徹到應用程式。

遠端載入器: 驅動程式也必須安裝到連接的應用程式所在的相同伺服器上,並加以執行。如果應用程式和 Identity Manager 引擎位於同一部伺服器上,則您只要在這部伺服器上安裝驅動程式即可。但如果應用程式和 Identity Manager 引擎不在同一部伺服器上 (換言之,應用程式在引擎伺服器遠端,不在本端),您必須在應用程式的伺服器上安裝驅動程式和遠端載入器。遠端載入器會載入驅動程式,並代表驅動程式與 Identity Manager 引擎進行通訊。

應用程式: 驅動程式所連接的系統、目錄、資料庫或作業系統。應用程式必須提供 API,供驅動程式用來判斷應用程式資料的變更,然後使應用程式資料變更生效。應用程式通常稱為「連接的系統」。

4.1.2 重要概念

通道: 在 Identity Vault 與連接的系統之間,資料會沿著兩條不同的「通道」流動。「訂閱者通道」提供從 Identity Vault 至連接的系統之間的資料流程,換言之,連接的系統會訂閱 Identity Vault 中的資料。「發行者通道」提供從連接的系統至 Identity Vault 之間的資料流程,換言之,連接的系統會將資料發行至 Identity Vault。

資料表示法: 資料是以「XML 文件」的形式在通道中流動。當 Identity Vault 或連接的系統中發生變更時會建立 XML 文件。XML 文件會傳送至 Identity Manager 引擎,該引擎會根據與驅動程式通道關聯的一組過濾器和規則來處理文件。完成對 XML 文件的所有處理後,Identity Manager 引擎會利用文件來對 Identity Vault (發行者通道) 啟始化適當的變更,或是驅動程式會利用文件,在連接的系統 (訂閱者通道) 中啟始化適當的變更。

資料管理: 當 XML 文件流經驅動程式通道時,文件資料會受到與通道關聯「規則」的影響。

原則可用在許多方面,包括變更資料格式、在 Identity Vault 與連接的系統之間對應屬性、根據條件封鎖資料流程、產生電子郵件通知,以及修改資料變更的類型。

資料流程控制: 過濾器 (或稱為「過濾器規則」) 可控制資料流程。過濾器會指定在 Identity Vault 與連接的系統之間要同步的資料項目。例如,系統之間通常會同步使用者資料。因此,大多數連接的系統的過濾器中會列出使用者資料。不過,對大多數應用程式而言,印表機通常不是很重要,因此在大多數連接的系統的過濾器中,並不會出現印表機資料。

在 Identity Vault 與連接的系統之間,每一種關係都有兩個過濾器:「訂閱者」通道上的過濾器可控制從 Identity Vault 至連接的系統之間的資料流程,以及「發行者」通道上的過濾器則可控制從連接的系統至 Identity Vault 之間的資料流程。

管理來源: 與身分識別關聯的大多數資料項目都有一個概念擁有者。資料項目的擁有者就是該項目的「管理來源」。一般而言,只有資料項目的管理來源才能變更資料項目。

例如,企業電子郵件系統通常就是員工電子郵件地址的管理來源。如果企業白頁目錄的管理員變更該系統某位員工的電子郵件地址,則此變更對於員工是否實際上收到已變更之地址的電子郵件並不會有影響,因為必須在電子郵件系統中進行變更才有效。

Identity Manager 使用過濾器來指定項目的管理來源。例如,如果在 PBX 系統與 Identity Vault 之間的關係過濾器允許員工的電話號碼從 PBX 系統流入 Identity Vault,但不允許從 Identity Vault 流入 PBX 系統,則 PBX 系統就是電話號碼的管理來源。如果其他所有連接的系統關係只允許電話號碼從 Identity Vault 流至連接的系統,但反向則不允許,實際結果為 PBX 系統在企業中是員工電話號碼的唯一管理來源。

自動化佈建: 自動化佈建是指 Identity Manager 產生使用者佈建動作的能力,而不僅僅是簡單的資料項目的同步而己。

例如,在一般的 Identity Manager 系統中,人力資源資料庫是大部分員工資料的管理來源,將員工新增至 HR 資料庫會促成在 Identity Vault 中自動建立對應的帳戶。建立 Identity Vault 帳戶又進而促成在電子郵件系統中自動建立員工的電子郵件帳戶。用來提供電子郵件系統帳戶的資料取自於 Identity Vault,並且可能包含員工姓名、所在位置、電話號碼等等。

您有許多方法可以控制帳戶、存取和資料的自動提供,包括:

  • 資料項目值︰ 例如,各大樓的存取資料庫帳戶的自動建立,可利用員工所在位置屬性的值加以控制。

  • 核准工作流程: 例如,在財務部門建立員工會促成自動傳送電子郵件給財務部門主管,要求核准在財務系統中建立新的員工帳戶。接著從電子郵件中引導財務部門主管開啟可讓其核准或拒絕申請的網頁。如果核准,則會促成在財務系統中自動建立員工的帳戶。

  • 角色指定︰ 例如,授予員工「會計」角色。Identity Manager 會透過系統工作流程 (沒有人工介入) 或人工核准流程 (或是雙管齊下),提供員工指定給「會計」角色的所有帳戶、存取和資料。

授權: 授權代表連接的系統中的某項資源,例如帳戶或群組成員資格。當使用者符合在連接的系統的授權所建立的準則時,Identity Manager 就會處理使用者的事件,結果就會授予使用者資源的存取。當然,所有的規則都必須完備,才能啟用資源的存取。例如,如果使用者符合 Active Directory 中 Exchange 帳戶的準則,則 Identity Manager 引擎會透過一組提供 Exchange 帳戶的 Active Directory 驅動程式規則來處理使用者。

授權的主要好處在於,您只需要在一個授權中定義存取資源的商業邏輯,而不需在多個驅動程式規則中定義。例如,您可以定義一個「帳戶」授權,在四個連接的系統中給予使用者帳戶。是否提供帳戶給使用者取決於授權,這意味著這四個驅動程式的規則都不需要包含業務邏輯。相反地,規則只需要提供授予帳戶的機制。如果您需要變更商業邏輯,則只要在授權中變更即可,不需在每一個驅動程式中變更。

工作: 在大多數情況下,Identity Manager 會因應資料變更或使用者申請來採取動作。例如,當一個系統中有某一項資料變更時,Identity Manager 會在另一個系統中變更對應的資料。或者,當使用者申請存取系統時,Identity Manager 會啟始適當的程序 (工作流程、資源提供等等) 來提供存取。

「工作」可讓 Identity Manager 執行不是由資料變更或使用者申請所啟始的動作。工作是由儲存在 Identity Vault 中的組態資料及一段對應的實作程式碼組成。Identity Manager 包含一些預先定義的工作,這些工作可執行的動作包括啟動或停止驅動程式、傳送密碼過期電子郵件通知,以及檢查驅動程式的狀態等。您也可以實作自定工作來執行其他動作;在自定工作中,您 (或開發人員/顧問) 需要建立必要的程式碼來執行所要的動作。

工作順序: 只要 Identity Vault 或連接的應用程式中的資料一有變動,通常就會馬上處理。工作順序可讓您排定要在特定日期與時間執行的任務。例如,已雇用一位新員工,但排定在一個月後才上班。需要將這位員工新增至 HR 資料庫,但在到職日之前,不應授予任何企業資源 (電子郵件、伺服器等等) 的存取權。如果沒有工作順序,就會立即授予員工存取。只要實作工作順序,就會建立一個只有在到職日才會啟始帳戶提供的工作順序。