21.1 關於工作流程提供

Identity Manager 的主要功能就是工作流程提供,它是管理使用者存取組織中安全資源的程序。 這些資源可能包含數位實體,例如使用者帳戶、電腦和資料庫。 在本版次中,提供的資源會映射至 Identity Manager 授權。

Identity Manager 可以為多種「提供申請」提供服務。 提供申請是用於授予或撤銷對組織資源之存取權的使用者或系統動作。 它們可以由一般使用者透過 Identity Manager 使用者應用程式直接啟始,或間接回應在身份儲存區 (eDirectory) 中發生的事件。

當提供申請需要組織中一或多個人員的許可時,申請便會啟動工作流程。 工作流程會協調完成申請所需的核准。 一些提供申請需要單個人員的核准;而其他提供申請則需要數個人員的核准。 在某些例項中,無需任何核准即可完成申請。

部份工作流程需要處理以循序方式繼續,且要循序執行每個核准步驟。 其他工作流程會提供對平行處理的支援。 定義提供申請時,您要指定讓工作流程支援循序處理還是平行處理。

Identity Manager 會提供一組 Web 型態的工具,管理員可以使用這些工具在使用者應用程式中建立提供功能。 這些工具可讓您設定提供申請的組態,並管理正在進行中的工作流程。 若要設定提供申請的組態,管理員需要建立提供申請定義,將資源結合至工作流程。

21.1.1 高層級結構

下圖顯示 Identity Manager 中包含的工作流程提供系統高層級結構:

描述: 描述: 圖例

下列各節描述此結構的每個元件。

提供 Web 介面

Identity Manager 使用者應用程式會提供 Web 介面,一般使用者可透過該介面提交提供申請,並在提交申請之後對這些申請進行管理。 使用者應用程式還會提供能夠指定提供工作流程之委託和代理的「組織管理員」或「使用者應用程式管理員」。

提示:您可以在 Identity Manager 使用者應用程式的「申請與核准」索引標籤上找到提供和工作流程動作。

如需委託和代理的相關資訊,請參閱節 21.3, 提供安全性。 如需使用使用者應用程式的完整詳細資料,請參閱《Identity Manager 使用者應用程式:使用者指南》。

iManager 管理工具

iManager 會提供您可用於設定和管理提供申請及其相關工作流程的外掛程式。

若要設定提供申請的組態,請將其結合至提供的資源,指定相關工作流程的執行時期特性,然後啟用它以供使用。 在啟始提供申請之後,您可以使用 iManager 來檢視執行中工作流程程序的狀態,重新指定工作流程內的活動,或者在工作流程阻塞時終止該工作流程。

Identity Manager 使用者應用程式驅動程式

除了支援提供資源的一般使用者申請之外,Identity Manager 還可讓您啟始提供申請,以回應在 eDirectory 中發生的事件。 Identity Manager 的「使用者應用程式驅動程式」會監聽事件,並藉由啟始對應的提供申請進行回應。 之後,這些申請可能會啟始工作流程來處理核准程序。 例如,如果設定為執行此動作,則 Identity Manager 將支援下列情況:在 eDirectory 中新增使用者會自動執行預先指定的提供申請和工作流程。

提供系統

「提供系統」會執行啟始和完成提供申請所需的所有處理。 如果申請需要一或多個核准,則「提供系統」隨後會呼叫「工作流程」系統,以啟動工作流程程序。 提供必要的核准之後,「提供系統」就會供應申請的資源。

「提供系統」會維護在身份儲存區 (eDirectory) 中可用而未解決之提供申請的相關資訊。

若要啟始申請或執行完成申請所需的處理,系統會透過「目錄抽象層」來存取身份儲存區。

如需「目錄抽象層」的詳細資料,請參閱節 4.0, 設定目錄抽象層的組態

工作流程系統

當提供申請需要一或多個核准時,「工作流程系統」會協調核准程序。 在處理的過程中,它會與下列元件互動:

  • 工作流程資料庫
  • 指令碼引擎
  • Audit
  • SMTP
  • 安全性系統

工作流程資料庫

為了追蹤進行中的工作流程狀態,「工作流程系統」會將資訊儲存在資料庫中。 此資料庫會維護工作流程程序例項、工作清單 (佇列) 和工作流程收件人的相關資訊。 此外,它還會儲存在執行工作流程程序期間新增的任何備註。

指令碼引擎

每當工作流程包含必須評估的動態運算式時,「工作流程系統」就會呼叫「指令碼引擎」。 動態運算式可以包含變數、函數和運算子,以及「目錄抽象層」中實體的參考。

Novell Audit

若要記錄工作流程程序狀態的相關資訊,「工作流程系統」會與 Novell Audit 互動。 在處理過程中,工作流程可能會記錄已發生之各種事件的相關資訊。 然後,使用者可以使用 Novell Audit 報告工具來查看記錄資料。

如需設定記錄的詳細資料,請參閱節 5.0, 設定記錄。 如需控制想要 Identity Manager 使用者應用程式產生之記錄訊息層級的詳細資料,請參閱節 12.0, 記錄組態

SMTP

工作流程程序經常會在執行過程中的不同時機傳送電子郵件通知。 例如,當使用者將工作流程活動指定給新收件人時,可能就會傳送電子郵件。

管理員可以在 iManager 中編輯電子郵件範本,然後將此範本用於工作流程程序中。 在執行時期,「工作流程系統」會從 eDirectory 中取回它,並以適用於通知的動態文字取代標籤。

電子郵件通知透過「簡易郵件傳輸協定 (Simple Mail Transfer Protocol,SMTP)」進行處理。

如需電子郵件通知所需的基本設定步驟,請參閱節 23.3, 設定電子郵件伺服器的組態節 23.4, 使用已安裝的電子郵件範本。 如需設定工作流程之電子郵件通知組態的詳細資料,請參閱設定工作流程活動的組態

安全性

「安全性」系統會處理工作流程提供應用程式之安全性的所有方面。

如需工作流程安全性的相關資訊,請參閱節 21.3, 提供安全性

21.1.2 提供和工作流程範例

假設使用者在 IT 系統上需要帳戶。 若要設定帳戶,使用者會透過 Identity Manager 使用者應用程式啟始申請。 此申請會啟動工作流程,以協調核准程序。 在授予必要的核准之後,便會完成申請。 在此程序中有三個基本步驟,概述如下。

步驟 1:啟始申請

在 Identity Manager 使用者應用程式中,使用者會依類別瀏覽資源清單,並選取要提供的一種資源。 在身份儲存區中,選取的提供資源提供申請定義相關聯。 提供申請定義是提供系統中最重要的物件。 它將提供資源結合至工作流程,並做為工作流程程序向一般使用者公開的方法。 提供申請定義會提供所有必要的資訊,以向使用者顯示啟始申請表單,並啟動啟始申請之後的流程。

在此範例中,使用者會選取「新帳戶」資源。 當使用者啟始申請時,Web 應用程式會從「提供系統」(從提供申請定義取得這些物件) 取回啟始申請表單,以及相關聯之啟始申請資料的描述。

啟始提供申請時,「提供系統」會追蹤啟始者與收件者。 啟始者是建立申請的人員。 而收件者又是為之建立申請的人員。 在某些情況下,啟始者和收件者可能是相同的人員。

每個提供申請都具有與其相關聯的操作。 該操作指定使用者是要授予還是要撤銷資源。

步驟 2:核准申請

在使用者啟始申請之後,「提供系統」會啟動工作流程程序。 工作流程程序會協調核准。 在此範例中,需要兩個層級的核准,一個來自於使用者的管理員,而另一個來自於管理員的監督者。 如果工作流程中的任何使用者拒絕核准,則流程都會終止且申請會被拒。

附註:Identity Manager 隨附一組提供申請範本,最高可支援五個層級的工作流程核准。 在 Identity Manager 的後續版本中,基於 Eclipse 之設計環境提供的工具可讓您建立自己的自定工作流程程序。 如需此版次隨附之範本的相關資訊,請參閱節 22.2, 使用已安裝的範本

工作流程可以循序方式或平行方式來處理核准。 在循序工作流程中,必須先處理目前的核准任務,然後才能開始下一個核准任務。 在平行工作流程中,使用者可以同時處理核准任務。

循序流程 下列為具有兩個核准之循序工作流程的基本設計模式:

描述: 描述: 圖例

平行流程 下列為具有兩個核准之平行工作流程的基本設計模式:

描述: 描述: 圖例

附註:您可以輕鬆變更顯示標籤 (「第一個」核准、「第二個」核准等) 來滿足應用程式要求。 針對平行流程,建議您指定不表示循序處理的標籤。 例如,建議您指定像是「平行核准三段之一」、「平行核准三段之二」等等的標籤。

工作流程定義由下列元件組成

程序元件

描述

活動

活動是代表任務的物件。 活動可以向使用者呈現資訊,並回應使用者互動,或執行使用者看不見的背景函數。

在上面顯示的工作流程範例中,活動以方塊表示。

在 Identity Manager 使用者應用程式中,處理核准程序的使用者活動稱為任務。 一般使用者可以藉由按一下動作群組「我的工作」中的「我的任務」,查看其佇列中的任務清單。 若要查看已針對特定任務處理的工作流程活動,使用者可以選取任務,並按一下「任務詳細資料」表單上的「檢視備註歷程」按鈕。

若要查看已針對特定提供申請處理的工作流程活動,使用者可以按一下「我的申請」,選取申請,然後按一下「申請詳細資料」表單上的「檢視備註與流程歷程」按鈕。

如需「我的任務」和「我的申請」動作的相關資訊,請參閱《Identity Manager 使用者應用程式:使用者指南》。

連結

連結是將工作流程中的活動結合在一起的項目。 連結代表在兩個活動之間所遵循的路徑。

活動可以具有多個內送連結和多個外送連結。 當活動具有多個外送連結時,選取的連結視活動的結果而定。 該結果是活動執行之處理的最終結果。 例如,「使用者」活動可能具有已核准或被拒的結果,根據使用者採取的動作而定。

在上面顯示的工作流程範例中,連結以箭頭代表。

啟動活動 工作流程程序以執行啟動活動開始。 此活動會使用啟始申請資料啟始化工作文件。 它也會結合數個系統值 (例如啟始者和接收者),以便可以將這些系統值用於程序檔運算式中。

使用者活動 「啟動」活動執行完成之後,「工作流程系統」會將處理轉遞至流程中的第一個「使用者」活動。 「使用者」活動是支援使用者互動的活動。 若要處理這些互動,活動會顯示表單,以讓使用者處理申請。 在上面顯示的工作流程範例中,「第一個」核准「第二個」核准是「使用者」活動的範例。 可以當地語系化「使用者」活動的顯示標籤,以滿足國際要求。

「使用者」活動可以支援下列一或多個動作

  • 要求
  • 核准
  • 拒絕 (Deny)
  • 拒絕 (Refuse)
  • 重新指定 (僅限「組織管理員」和「使用者應用程式管理員」使用)

附註:表單上的欄位和按鈕會根據所申請之資源和設定工作流程組態之方式而定。 例如,產品隨附的許多範本都不支援拒絕 (Refuse) 動作。

「使用者」活動具有五個可能的結果

  • 已核准
  • 被拒 (Denied)
  • 被拒 (Refused)
  • 錯誤
  • 逾時

附註:如果使用者未採取任何動作,則可能會發生「錯誤」和「逾時」結果。

如果使用者核准申請,則工作流程會將控制轉遞至流程中的下一個活動。 如果無需任何的進一步核准,則會提供資源。 如果使用者拒絕申請,則工作項目會轉遞給工作流程中的下一個活動,且申請會被拒。 或者,使用者可以重新指定任務 (如果該使用者是「組織管理員」或「使用者應用程式管理員」),這會將工作項目置於另一個使用者的佇列中。

附註:已設定產品隨附之提供申請範本的組態,以在申請被拒時終止工作流程程序。 在申請被拒時,工作項目會轉遞給「完成」活動,以終止流程。

已被指定「使用者」活動的使用者稱為收件人。 活動的收件人可能會透過電子郵件得到指定的任務通知。 若要執行與活動相關聯的工作,收件人可以按一下電子郵件中的 URL,在工作清單 (佇列) 中找到任務,然後要求該任務。

收件人必須在指定的一段時間內回應「使用者」活動,否則該活動會逾時。 一般而言,逾時間隔以小時或天為單位表示,以允許使用者有足夠的時間來回應。

當活動逾時時,工作流程程序可能會嘗試重新完成活動,根據針對活動指定的重試計數而定。 在某些情況下,可能會設定工作流程程序的組態,以將已逾時的活動提升到另一個使用者。 在此情況下,要將活動重新指定給新的收件人 (例如,使用者的管理員),讓這位使用者有機會完成活動的工作。 如果上次重試逾時,則該活動會標示為已核准或被拒,根據設定工作流程組態的方式而定。

條件式活動 在執行的過程中,工作流程程序可能會執行測試,並檢查結果,以查看下一步的操作。 「條件式」活動提供此功能。 「條件式」活動會使用指令碼運算式,來定義要評估的條件。 在上面顯示的工作流程範例中,「核准條件」是「條件式」活動的範例。

「條件式」活動支援三個可能的結果

  • True
  • False
  • 錯誤

分支和合併活動 在支援平行處理的工作流程中,「分支」活動可讓兩個使用者平行處理工作項目的不同區域。 在使用者完成工作之後,「合併」活動會同步化流程中的內送分支。

提供活動 「提供」活動會完成提供申請。 僅當所有必要的核准都提供時,才會執行此活動。

如需提供步驟的詳細資料,請參閱步驟 3:完成申請

完成活動 「完成」活動是工作流程中的最後一個活動。 當流程中的所有活動都已完成,且流程的最終結果可用時,才可以執行「完成」活動。 「工作流程系統」可以藉由檢查「完成」活動的連結,判定程序的最終狀態。 整體流程狀態在核准連結到達「完成」活動時為「已核准」。 如果任何其他結果 (拒絕、逾時或錯誤) 導致「完成」活動,則整體流程狀態為「被拒」。

當工作流程程序到達「完成」活動,且狀態為已核准時,則核准程序完成,且提供申請可以完成。

步驟 3:完成申請

當已核准提供申請時,「工作流程系統」可以開始提供步驟。 此時,控制會傳遞回到「提供系統」。

為了完成提供申請,「提供系統」可能會執行 Identity Manager 授權,或者直接處理 eDirectory 物件和它的屬性。 在提供步驟期間,它會建立所有相關的物件,並且在收件者上記錄提供動作的結果,如提供資料定義中所述。 根據使用者是否申請授權或撤銷操作而定,這可能會涉及設定或移除收件者上屬性的值,或者新增或移除收件者上多值屬性的項目。 涉及的屬性是 eDirectory 屬性 (可能藉由將輔助類別新增至收件者以使其可用)。 屬性值本身可能會很簡易,或者可能會是允許「提供系統」指定內部子屬性值的複雜類型。