![]() | |
Sun[TM] Identity Manager 8.0 管理 |
第 16 章
資料匯出程式資料匯出程式功能可讓您將有關使用者、角色及其他物件類型的資訊寫入外部資料倉儲。
請閱讀本章以獲得協助您設定與維護資料匯出程式的資訊和程序。如需有關規劃與實作資料匯出程式的完整詳細資訊,請參閱「Identity Manager Technical Deployment Overview」。
本章包含以下主題:
何謂資料匯出程式?Identity Manager 包含及處理與分散式系統及應用程式之間管理身份識別相關的資料。為了改善整體效能,Identity Manager 不會保留其在一般佈建與其他日常作業期間產生的所有資料。例如,Identity Manager 預設不會保留中間狀態工作流程作業與作業實例。如果需要擷取 Identity Manager 通常捨棄的所有或部分資料,請啟用資料匯出程式功能。
啟用資料匯出程式之後,Identity Manager 會將偵測到對指定物件 (資料類型) 所做的每項變更,在儲存庫表格中儲存為一筆記錄。在作業將其寫入外部資料倉儲之前,這些事件會排入佇列 (您可以配置匯出每種資料類型的頻率)。匯出的資料可進一步處理,或在使用商業轉換、報告及分析工具查詢與轉換時做為依據。
將資料匯出至資料倉儲對 Identity Manager 伺服器的效能會造成不良影響,除非有匯出資料的業務需求,否則不應啟用此功能。
Identity Manager 也可讓您建立及執行鑑識查詢。鑑識查詢會搜尋資料倉儲,並識別符合您指定條件的 [使用者] 或 [角色] 物件。詳細資訊請參閱配置鑑識查詢。
規劃實作資料匯出程式由於預設會停用資料匯出程式,因此必須加以配置才能運作。資料匯出程式的配置需要決定下列事項,配置才可開始。
啟用資料匯出程式之後,預設配置會匯出所有資料類型的所有屬性。如此會耗用永遠不會用到的倉儲儲存,而可能導致 Identity Manager 與倉儲不必要的處理負擔。對於稍後有機會用到的資料,資料倉儲會以保守謹慎的態度擷取資料。您不需要匯出所有可匯出的資料。您可以配置要匯出的資料類型,並禁止匯出某些事件。
一旦決定上述事項,請使用下列步驟實作資料匯出程式:
- (選擇性) 為選取的類型自訂匯出模式,然後重新產生倉儲 DDL。詳細資訊請參閱「Identity Manager Technical Deployment Overview」。
- 在倉儲 RDBMS 上建立使用者帳號,然後在此系統上載入倉儲 DDL。詳細資訊請參閱「Identity Manager Technical Deployment Overview」。
- 如配置資料匯出程式所述配置資料匯出程式。
- 測試資料匯出程式以確保其配置正確。詳細資訊請參閱測試資料匯出程式。
- (選擇性) 建立可搜尋寫入至資料倉儲之資料的鑑識查詢。詳細資訊請參閱配置鑑識查詢。
- 使用 JMX 並監視記錄檔以維護資料匯出程式。詳細資訊請參閱維護資料匯出程式。
配置資料匯出程式[資料匯出程式配置] 頁面可讓您定義要保留的資料類型、指定要匯出的屬性,以及排程何時匯出資料。每種資料類型皆可獨立配置。
若要配置資料匯出程式,請執行以下步驟:
- 在管理員介面的主功能表中,按一下 [配置]。然後按一下 [倉儲] 輔助標籤。[資料匯出程式配置] 頁面隨即開啟。
圖 16-1
資料匯出程式配置- 若要定義讀取與寫入連線,請按一下 [增加連線] 按鈕。[編輯資料庫連線] 頁面會隨即開啟。
完成此頁面上的所有欄位,然後按一下 [儲存] 以返回 [資料匯出程式配置] 頁面。詳細資訊請參閱定義讀取與寫入連線。
- 若要指定 WIC 類別及資料庫連線,請在 [倉儲配置資訊] 區段中,按一下 [編輯] 連結。[資料匯出程式倉儲配置] 頁面隨即開啟。
完成此頁面上的所有欄位,然後按一下 [儲存] 以返回 [資料匯出程式配置] 頁面。詳細資訊請參閱定義倉儲配置資訊。
- 在 [倉儲模型配置] 表格中,按一下資料類型連結。[資料匯出程式類型配置] 頁面隨即開啟。
完成此頁面上的 [匯出]、[屬性] 與 [排程] 標籤,然後按一下 [儲存] 以返回 [資料匯出程式配置] 頁面。詳細資訊請參閱配置倉儲模型。
每個資料類型均重複此步驟。
- 若要配置匯出作業常駐程式,請在 [倉儲作業配置] 區段中,按一下 [編輯] 連結。[資料匯出程式倉儲配置] 頁面隨即開啟。
完成此頁面上的所有欄位,然後按一下 [儲存] 以返回 [資料匯出程式配置] 頁面。詳細資訊請參閱配置倉儲作業。
備註
一旦完成這些步驟,匯出作業便可完整運作。啟用匯出之後,資料記錄即會開始排入佇列等候匯出。若未啟用匯出作業,佇列表格會填滿,接著佇列會暫停。匯出較小的批次 (較常匯出) 一般而言比匯出較大的批次還要有效率,但是匯出還受限於倉儲本身的寫入可用性,這就會受到其他因素限制。
- 您也可以設定最大佇列大小。詳細資訊請參閱修改配置物件。
定義讀取與寫入連線
Identity Manager 在匯入週期期間使用寫入連線。讀取連線則用於表示目前在倉儲中的記錄數目 (在倉儲配置期間),以及處理鑑識查詢介面。
倉儲連線可定義為應用程式伺服器的資料來源、JDBC 連線或資料庫資源的參照。若定義了 JDBC 連線或資料庫資源,則資料匯出在寫入作業期間會大量使用少數連線,然後再關閉所有連線。資料匯出程式僅在倉儲配置期間及執行鑑識查詢期間使用讀取連線,作業完成後即會關閉這些連線。
匯出程式針對寫入連線與讀取連線使用相同的模式,且兩者可使用相同的連線資訊。但是,若您有獨立的連線,部署會寫入一組倉儲分段備份表格,將該表轉換為實際倉儲,然後再將倉儲表格轉換為供 Identity Manager 讀取的資料超市。
您可以編輯 [資料匯出程式配置] 表單,以避免 Identity Manager 讀取倉儲。此表單包含 includeWarehouseCount 特性,可使 Identity Manager 查詢倉儲並顯示每種資料類型的記錄筆數。若要停用此功能,請複製 [資料匯出程式配置] 表單,將 includeWarehouseCount 特性的值變更為 true,再匯入您的自訂表單。
若要定義讀取與寫入連線,請執行以下步驟︰
若要使用獨立的讀取與寫入連線,請重複此程序。
定義倉儲配置資訊
若要配置倉儲,您必須選取讀取連線、寫入連線,並指定倉儲介面程式碼工廠類別。WIC 工廠類別提供 Identity Manager 與倉儲之間的介面。Identity Manager 提供預設的程式碼實作,但您也可以建立自己的程式碼實作。如需有關建立自訂工廠類別的資訊,請參閱「Identity Manager Technical Deployment Overview」。
$WSHOME/exporter 目錄中必須有內含工廠類別的 JAR 檔案和所有支援的 JAR 檔案,且該目錄需位在執行匯出作業的 Identity Manager 伺服器上,以及所有配置資料匯出程式的伺服器上。任何指定時間內僅一部 Identity Manager 伺服器可匯出資料。
若要定義倉儲配置資訊,請執行以下步驟:
配置倉儲模型
可匯出的資料類型各有一組選項,用於控制是否要匯出類型,以及類型的匯出方式與時機。由於匯出資料會增加 Identity Manager 伺服器的負載,因此僅有業務需求的資料類型才應啟用匯出。
下表描述可匯出的所有資料類型。
若要配置倉儲模型,請執行以下步驟:
- 從 [資料匯出程式配置] 頁面按一下資料類型連結。
- 在 [匯出] 標籤中,指定是否要匯出資料類型。若不要匯出此資料類型,請取消選取 [匯出] 核取方塊,並按一下 [儲存]。否則,請視需要選取此 [匯出] 標籤中的剩餘選項。
- [屬性] 標籤可讓您選取要指定做為鑑識查詢一部分的屬性,以及希望顯示於查詢結果的屬性。您無法刪除管理員介面的預設屬性。如需有關變更預設屬性的資訊,請參閱「Identity Manager Technical Deployment Overview」。
新的屬性名稱具有下列特性:
- 在 [排程] 標籤中,指定資料類型相關聯之資訊的匯出頻率。週期是從伺服器上的午夜起算。每隔 20 分鐘的週期會整點執行,接著是整點後的 20 分鐘及 40 分鐘。若嘗試匯出的時間較排程的週期長,則會略過下一個週期。例如,若將週期定義為 20 分鐘並自午夜開始,而完成匯出需要 25 分鐘,則下一個匯出會在 12:40 開始。原始排程的 12:20 不會發生匯出。
配置倉儲作業
您不需要在專屬伺服器上執行匯出作業,但若要匯出大量資料,可考慮如此執行。匯出作業在從 Identity Manager 傳送資料至倉儲時的效率極高,而且在匯出作業期間會儘量消耗 CPU。若不使用專屬伺服器,則應限制伺服器處理互動流量,因為大量匯出時,回應時間會明顯地拉長。
若要配置倉儲配置資訊,請執行以下步驟:
- 從 [資料匯出程式配置] 頁面,按一下 [倉儲作業配置] 區段中的 [編輯] 連結。
圖 16-4
資料倉儲排程配置- 從 [啟動模式] 下拉式功能表中選取選項,以決定在 Identity Manager 啟動時,是否要自動啟動倉儲作業。選取 [已停用] 表示必須手動啟動作業。
- 核取 [以本人身份執行] 核取方塊可使用您的管理帳號執行匯出程式作業。
- 選取可執行作業的伺服器。您可以指定多部伺服器,但一次只能執行一項倉儲作業。若執行作業的伺服器停止,排程程式會從清單 (如果有) 上的其他伺服器上自動重新啟動作業。
- 在寫入 [佇列讀取區塊大小] 欄位前,指定從佇列讀入記憶體緩衝區的記錄筆數。此欄位的預設值適用於大部分的匯出作業。若 Identity Manager 儲存庫伺服器較倉儲伺服器慢,請增加此值。
- 在 [佇列寫入區塊大小] 欄位中,指定單一作業事件中,寫入倉儲的記錄筆數。
- 在 [佇列清空執行緒計數] 欄位中,指定用以讀取已排入佇列之記錄的 Identity Manager 執行緒數目。若佇列表格存有大量不同類型的記錄,請增加此數值。若佇列表格的資料類型數量很少,請減少此數值。
- 按一下 [儲存] 以儲存配置變更並返回 [資料匯出程式配置] 頁面。
修改配置物件
配置並執行資料匯出程式之後,即會從內部佇列表格中擷取所有配置要排入佇列的資料類型。依預設,此表格沒有上限,但可透過編輯 [資料倉儲配置] 配置物件來配置上限。此物件具有名為 warehouseConfig 的巢式物件。將下列內容增加至 warehouseConfig 物件:
<Attribute name='maxQueueSize' value='YourValue'/>
maxQueueSize 的值可為小於 231 的任何正整數。達到上限後,資料匯出程式將停用佇列。在清空佇列之前,無法匯出產生的資料。
一般的 Identity Manager 作業每小時可產生數千筆已變更的記錄,因此佇列表格的大小增加極快。由於佇列表格位於 Identity Manager 儲存庫中,此增加會消耗 RDBMS 的表格空間,故而可能會用盡表格空間。若表格空間有限,則可能必須設定佇列上限。
使用 Data Queue JMX MBean 以監視佇列表格的大小。詳細資訊請參閱監視資料匯出程式。
測試資料匯出程式正確配置資料匯出程式之後,將會以背景程序運作,並依配置的間隔將資料傳送至倉儲。若需執行匯出程式,請使用 [資料倉儲匯出程式啟動程式] 作業。
若要啟動資料倉儲匯出程式啟動程式,請執行以下步驟:
- 停用倉儲作業。詳細資訊請參閱配置倉儲作業。
- 按一下主功能表中的 [伺服器作業]。然後按一下 [執行作業] 輔助標籤。[可用的作業] 頁面會隨即開啟。
- 按一下 [資料倉儲匯出程式啟動程式] 連結。[啟動作業] 頁面隨即開啟。
- 選取 [除錯選項] 核取方塊以顯示其他選項。
- 選取 [忽略初始的 LastMod] 核取方塊,會讓匯出程式忽略「上次輪詢」的時間戳記,而匯出程式會使用此時間戳記判定已從 Identity Manager 儲存庫中匯出的記錄。選取此選項時,將匯出 Identity Manager 儲存庫中所選類型的全部記錄。
- 選擇要從 [匯出一次] 清單中匯出的資料類型。若未在 [匯出一次] 清單中選擇任何類型,匯出作業會以常駐程式來執行,並根據之前定義的排程進行匯出。若選取一或多種資料類型,Identity Manager 會立即匯出這些類型,然後結束匯出作業。
- 視需要設定頁面上其他欄位的值。
- 按一下 [啟動] 開始作業。
配置鑑識查詢鑑識查詢可讓 Identity Manager 讀取資料倉儲中已儲存的資料, 並且可根據使用者、角色或相關資料類型目前或之前的值,識別使用者或角色。鑑識查詢類似於「尋找使用者」或「尋找角色」報告,但不同之處在於符合條件可根據之前的資料來計算,而除了正在查詢的使用者或角色之外,還可搜尋資料類型不同的屬性。
鑑識查詢的目的在對使用 Identity Manager 的結果採取行動。鑑識查詢不是一般用途的報告工具。
鑑識查詢可詢問類似下列的問題:
鑑識查詢的結果無法儲存。若要執行一般倉儲資料報告,請使用商業報告工具。
建立查詢
鑑識查詢可搜尋「使用者」或「角色」物件。查詢可以很複雜,讓作者得以針對相關資料類型選取一個或多個屬性條件。使用者鑑識查詢可搜尋下列資料類型的屬性:使用者、帳號、資源帳號、角色、軟體權利文件和工作項目。角色鑑識查詢可搜尋下列資料類型的屬性:角色、使用者和工作項目。
在單一資料類型中,所有屬性條件邏輯上皆使用 AND,因此必須符合所有條件才會出現相符項目。依預設,相符項目與所有資料類型之關係為 AND,但若選取 [使用 OR] 核取方塊,則相符項目與所有資料類型之關係邏輯上使用 OR。
倉儲可在單一「使用者」或「角色」物件中包含多筆記錄,且對該同一使用者或角色的單一查詢可傳回多個相符項目。為協助區分這些相符項目,可限定每種資料類型的日期範圍,如此一來,僅指定日期範圍內的記錄才會視為相符項目。也可限定每種相關資料類型的日期範圍,因此可以發出下列形式的查詢:
find all Users with Resource Account on ERP1 between May and July 2005 who were attested by Fred Jones between June and August 2005 (尋找 Fred Jones 在 2005 年 6 月到 8 月間驗證,且從 2005 年 5 月到 7 月間在 ERP1 上具有資源帳號的所有使 用者)
日期範圍是從午夜至午夜為基礎。例如,2007 年 5 月 3 日到 2007 年 5 月 5 日的範圍為 48 小時。不會包括自 2007 年 5 月 5 日起的任何記錄。
查詢定義中必須指定每個屬性條件的運算元 (要加以比較的值)。此模式限制某些屬性必須有幾組可能值,但其他屬性則沒有限制。例如,大部分日期欄位的輸入必須使用 YYYY-MM-DD HH:mm:ss 格式。
若要建立鑑識查詢,請執行以下步驟:
- 在管理員介面的主功能表中,按一下 [規範遵循]。
[稽核策略] 頁面 ([管理策略] 標籤) 隨即開啟。
- 按一下 [鑑識查詢] 輔助標籤。
[搜尋資料倉儲] 頁面隨即開啟。
圖 16-5
搜尋資料倉儲- 從 [類型] 下拉式功能表中,選取是否搜尋使用者或角色記錄。
- 選取 [使用 OR] 核取方塊,使 Identity Manager 對查詢的每種資料類型結果執行邏輯 OR。依預設,系統會對結果執行邏輯 AND。
- 選取將在鑑識查詢中出現之代表資料類型的標籤。
- 在可用的屬性中,挑選您想在鑑識查詢結果中顯示的屬性。
- 指定 [只返回前] 欄位中的值。使用多個資料類型的條件時,該限制會將套用至每個類型的子查詢,而最後的結果為所有子查詢的交集。因此,最後結果可能會因為對子查詢的限制之故,而排除部分的記錄。
- 按一下 [搜尋] 立即執行鑑識查詢,或按一下 [儲存查詢] 以重複使用查詢。如需有關重複使用鑑識查詢的資訊,請參閱儲存鑑識查詢。
儲存鑑識查詢
配置查詢之後 (也可選擇執行查詢以確保查詢後產生所需的結果),您可以儲存查詢以供稍後執行。
若要儲存鑑識查詢,請執行以下步驟:
- 從 [搜尋資料倉儲] 頁面按一下 [儲存查詢]。[儲存鑑識查詢] 頁面隨即開啟。
- 指定查詢的名稱與描述。
- 選取 [儲存條件值] 核取方塊可儲存您在 [搜尋資料倉儲] 頁面中輸入的條件值 (字串與整數)。若未選取此核取方塊,則會以已儲存的鑑識查詢做為範本,且必須在每次執行查詢時輸入值。
- 任何人皆可執行已儲存的查詢,但預設只有查詢作者可修改查詢。若要允許其他使用者修改您的查詢,請選取 [允許其他人變更此查詢] 核取方塊。
- 由於查詢傳回「使用者」或「角色」物件,因此您可以選擇要顯示在結果中的物件屬性。若您要顯示的屬性不在 [要顯示的屬性] 清單中,則可移至 [資料匯出程式配置] 頁面,並將可顯示的屬性新增至「使用者」或「角色」類型。
載入查詢
您可以載入任何使用者儲存的查詢,但僅可變更自己建立的查詢,或其他人標記為任何人皆可修改的查詢。
若要載入鑑識查詢,請執行以下步驟:
維護資料匯出程式本節說明您可以追蹤資料匯出程式狀態的方式:
監視資料匯出程式
配置並執行匯出程式之後,可選擇監視匯出程式以確保其持續運作。匯出程式有數個 JMX Bean,可用於決定匯出程式的運作方式。JMX Bean 包含下列統計資料:匯出程式的平均讀取/寫入速率、內部記憶體佇列的目前/最大大小,以及永久性佇列的大小。匯出程式在匯出期間還會產生稽核記錄,每種資類類型的每個週期各一個記錄。稽核記錄包含已匯出類型的記錄筆數,以及匯出所需的時間。
資料匯出程式提供下列 JMX 管理 Bean,可用於監視匯出程式。
表 16-2 JMX 管理 Bean
Bean 名稱
說明
DataExporter
包含目前已排入佇列的匯出數目,以及佇列的上限。
DataQueue
包含目前已快取的已排入佇列匯出作業數目,以及快取的資料取得率。
ExporterTask
包含匯出的讀取數 (從 Identity Manager)、寫入數 (至倉儲)、讀取與寫入的速率 (記錄筆數/秒),以及錯誤數。
資料匯出程式可配置為在一般的 Identity Manager 作業期間,將匯出記錄排入佇列至佇列表格中。由於佇列可能需要擴充到能容納大量記錄,且需要在伺服器重新啟動之後仍能保留,因此會以 Identity Manager 儲存庫的表格支援佇列。寫入至儲存庫通常會使一般的 Identity Manager 作業速度變慢,因此在記錄可在儲存庫中保留之前,佇列會使用少量的記憶體快取來作為記錄緩衝區。
DataQueue MBean 屬性可設定為顯示佇列在記憶體中的記錄上限 (在單一 Identity Manager 伺服器上)。在平衡的系統上,記憶體快取的記錄筆數應很小且會很快歸零。若您觀察到此數目變大 (千位數) 或在幾秒內未歸零,則應調查儲存庫的寫入效能。
ExportTask MBean 包含兩個錯誤數,其中一個是讀取的錯誤數,另一個是寫入的錯誤數。這些計數應為零,但有幾個可能發生錯誤的原因,特別是在寫入期間。最常見的寫入錯誤是由於匯出的資料不符合倉儲表格欄所致,通常是字串溢位。某些匯出的字串資料沒有限制,但匯出表格欄必須有上限。
監視記錄
Identity Manager 有兩個沒有增長限制的物件集: 稽核記錄和系統記錄檔。資料匯出程式可藉此解決與這些與記錄檔表格相關的維護問題。
稽核記錄
Identity Manager 將不可變的稽核記錄寫入稽核記錄,以做為其所執行作業的歷程稽核軌跡。Identity Manager 在特定報告中使用這些記錄,並可能在管理員介面中顯示記錄的資料。但是,由於稽核記錄會無限制地並以適中的速率增長,因此部署人員必須判斷何時截斷稽核記錄。在資料匯出程式出現之前,若要保留截斷前的記錄,必須強制從儲存庫傾印表格。若啟用資料匯出程式並將其配置成匯出記錄檔記錄,則會在倉儲中保留舊記錄,且 Identity Manager 可視需要截斷稽核表格。
系統記錄檔
系統記錄檔和稽核記錄一樣,皆具有不可變的特性,但一般而言系統記錄檔的產生較不頻繁。資料匯出程式無法匯出系統記錄檔。若要截斷系統記錄檔並保留舊記錄,您必須在儲存庫中傾印表格。