3.2 執行 NrfCaseUpdate 公用程式

本節介紹 NrfCaseUpdate 公用程式的詳細資料。主題包括:

3.2.1 NrfCaseUpdate 綜覽

NrfCaseUpdate 程序對於角色與資源的混合大小寫搜尋能夠提供必要的支援。此程序透過修改使用者應用程式驅動程式使用的 nrfLocalizedDescrs 與 nrfLocalizedNames 屬性來更新綱要。如果 eDirectory 網路樹是使用 3.6.1 或先前版本的 RBPM 建立的,則在安裝 RBPM 4.0.1 以及移轉 Designer 4.0.1 中現有的驅動程式之前,必須執行此程序。如果要執行 4.0.1 版的全新安裝或從 3.7 版升級,則無需執行此步驟。

3.2.2 安裝綜覽

本節為升級與移轉現有 RBPM 環境所需完成的步驟提供了綜覽。此綜覽強調在進行任何升級之前,必須使用 Designer 4.0.1 建立使用者應用程式驅動程式的備份。

  1. 安裝 Designer 4.0.1。

  2. 執行 Identity Vault 健康狀態檢查以確認綱要正確延伸。請使用 TID 3564075 完成健康狀態檢查。

  3. 將現有的使用者應用程式驅動程式輸入至 Designer 4.0.1 中。

  4. 將 Designer 專案歸檔。它代表驅動程式 RBPM 4.0.1 之前版本的狀態。

  5. 執行 NrfCaseUpdate 程序。

  6. 建立新的 Designer 4.0.1 專案並輸入使用者應用程式驅動程式,為移轉做好準備。

  7. 安裝 RBPM 4.0.1。

  8. 使用 Designer 4.0.1 移轉驅動程式。

  9. 部署移轉後的驅動程式。

3.2.3 NrfCaseUpdate 如何對綱要產生影響

NrfCaseUpdate 公用程式在更新 eDirectory 綱要中現有的屬性時,會刪除這些屬性中所有現有的例項。使用者應用程式驅動程式會使用這些屬性,因而將受到此綱要更新的影響,特別是角色與職務分離名稱及描述、自定證明申請以及報告。

NrfCaseUpdate 程序會在執行綱要更新前,提供用於將現有使用者應用程式驅動程式匯出至 LDIF 檔案的公用程式,以此來更新這些驅動程式。在綱要更新後匯入 LDIF 檔案會重新建立在綱要更新期間刪除的所有物件。

同樣,為了起到預防作用,一定要備份所有現有的使用者應用程式驅動程式。請記住,綱要更新會影響所有 Identity Manager 分割區,因此很有必要使用 NrfCaseUpdate 輸出網路樹中的所有使用者應用程式驅動程式。

3.2.4 建立使用者應用程式驅動程式的備份

建議使用 Designer 建立使用者應用程式驅動程式的備份。執行 NrfCaseUpdate 程序前,應遵照以下程序備份現有的使用者應用程式驅動程式︰

  1. 安裝與 RBPM 4.0.1 一起提供的 Designer 4.0.1。

  2. 建立 Identity Vault,並將其對應至包含使用者應用程式驅動程式的 Identity Manager 伺服器。

  3. 使用「即時」->「輸入」指令匯入驅動程式集與使用者應用程式驅動程式。

  4. 儲存並歸檔此 Designer 專案。

3.2.5 使用 NrfCaseUpdate

NrfCaseUpdate 會提示您匯出每個驅動程式,然後再執行綱要更新。如果不確定是否存在使用者應用程式驅動程式,或是不確定其位置,請不要繼續,因為綱要更新可能會使現有的使用者應用程式驅動程式失效。

Identity Manager 安裝目錄 (通常為 /root/idm/jre) 下提供的 JRE 可以用於執行 NrfCaseUpdate。如果需要至 eDirectory 的 SSL 連線,應遵照節 3.2.7, 讓 JRE 進行 SSL 連線 的指示讓 JRE 進行 SSL 連線。

或者,您也可以從包含 eDirectory 證書的 JRE 所在的主機 (例如使用者應用程式伺服器主機) 遠端執行 NrfCaseUpdate 公用程式。這種情況下,需要在將所有驅動程式匯出至 LDIF 之後、綱要更新之前,使用 CTRL-C 結束 NrfCaseUpdate 公用程式。然後,可以使用 ndssch 指令手動更新 eDirectory 主機上的綱要,如下所示︰

ndssch -h hostname adminDN update-nrf-case.sch

附註:NrfCaseUpdate 可以使用多種指令行引數。使用 -help-? 可以查看詳細資訊。

遵循以下步驟執行 NrfCaseUpdate︰

  1. 在執行 NrfCaseUpdate 公用程式之前,確定已經完成 Identity Vault 健康狀態檢查。請使用 TID 3564075 完成健康狀態檢查。

  2. 啟動公用程式之前先識別現有使用者應用程式驅動程式的所有 DN。您需要有驗證身分證明才能將這些驅動程式匯出至 LDIF。

  3. 執行 NrfCaseUpdate 公用程式。也可以選擇使用 -v 選項取得更詳細的輸出資訊︰

    /root/idm/jre/bin/java -jar NrfCaseUpdate.jar -v
    
  4. 系統會詢問您是否已有使用者應用程式驅動程式。如果有,請做肯定回答。否則做否定回答,並跳至步驟 15

    Do you currently have a User Application Driver configured [DEFAULT true] :
    
  5. 接著,公用程式會詢問您是否有多個使用者應用程式驅動程式。如果有,請做肯定回答︰

    Do you currently have more than one (1) User Application Driver configured [DEFAULT false] :
    
  6. 指定擁有適當身分證明、可匯出使用者應用程式驅動程式之管理員的 DN︰

    Specify the DN of the Identity Vault administrator user.
    This user must have inherited supervisor rights to the user application driver specified above.
    (e.g. cn=admin,o=acme):
    
  7. 輸入此管理員的密碼︰

    Specify the Identity Vault administrator password:
    
  8. 輸入代管使用者應用程式驅動程式之 Identity Manager 伺服器的主機名稱或 IP 位址︰

    Specify the DNS address of the Identity Vault (e.g acme.com):
    
  9. 指定連線所使用的連接埠︰

    Specify the Identity Vault port [DEFAULT 389]:
    
  10. 下一個問題是詢問您是否使用 SSL 進行連線。如果要使用 SSL,JRE 要求托管儲存區中存在 eDirectory 證書。若要堅持使用證書,請遵照節 3.2.7, 讓 JRE 進行 SSL 連線 的指示。

    Use SSL to connect to Identity Vault: [DEFAULT false] :
    
  11. 指定要匯出之使用者應用程式驅動程式的完全合法的可辨識名稱︰

    Specify the fully qualified LDAP DN of the User Application driver located in the Identity Vault
    (e.g. cn=UserApplication,cn=driverset,o=acme):
    

    如果 DN 包含空格,則必須將空格括在單引號中,如下所示:

    'cn=UserApplication driver,cn=driverset,o=acme' 
    
  12. 指定使用者應用程式要匯出至其中的 LDIF 檔案的名稱︰

    Specify the LDIF file name where the restore data will be written (enter defaults to nrf-case-restore-data.ldif):
    
  13. 公用程式會張貼儲存到 LDIF 中之物件的相關資訊。

  14. 如果您指出自己擁有多個驅動程式,則會看到以下提示︰

    You indicated you have more than one (1) User Application Driver to configure.
    Do you have another driver to export? [DEFAULT false] :
    
    If you have another driver to export then specify true. The utility will repeat Steps 5 through 12 for each driver. 
    
    If you do not have another driver to export then specify false. Ensure that you have exported all existing drivers before proceeding as the utility will proceed with the schema update.
    
  15. 系統會提示您輸入 ndssch 公用程式的位置以及一般位置。ndssch 公用程式用於更新綱要。

    Please enter the path to the schema utility:
    For Unix/Linux typically /opt/novell/eDirectory/bin/ndssch
    For Windows C:\Novell\NDS\schemaStart.bat:
    
  16. 公用程式會張貼綱要更新的狀態訊息︰

    Schema has successfully been updated for mixed case compliance!
    

    附註:請務必給予 eDirectory 充分的時間來完成綱要變更同步。如果分配的時間太短,可能導致 LDIF 檔案輸入失敗。

  17. 在輸入 LDIF 檔案之前再執行一次 Identity Vault 健康狀態檢查,以確定綱要已正確延伸。請使用 TID 3564075 完成健康狀態檢查。

  18. 匯出所有驅動程式並成功套用綱要更新後,需要匯入每個 LDIF 檔案。您應指示允許傳送 ice 指令中的參考。建議使用以下指令行︰

    ice -l [mylogfile.log] -v -SLDIF -f [your_created_ldif] -c -DLDAP -s [hostname] -p [389/636] -d [cn=myadmin,o=mycompany] -w [MYPASSWORD] -F -B
    
  19. 重新匯入所有驅動程式後,確認 NrfCaseUpdate 程序是否成功。如需相關資訊,請參閱節 3.2.6, NrfCaseUpdate 程序的確認

  20. 確認 NrfCaseUpdate 程序成功後,可以繼續安裝 RBPM 4.0.1。

3.2.6 NrfCaseUpdate 程序的確認

重新匯入所有驅動程式後,在使用者應用程式中檢閱以下項目,以確認還原是否成功︰

  • 角色名稱與描述

  • 職務分離名稱與描述

  • 證明申請,包括自定申請

  • 報告

確認完成後,可以繼續進行安裝並升級到 RBPM 4.0.1。

3.2.7 讓 JRE 進行 SSL 連線

本節介紹如何將 JRE 設定為使用 SSL 連線。

首先,從 Identity Vault 中的證書管理中心匯出自行簽署的證書︰

  1. 在 iManager 的「角色及任務」檢視窗中,按一下「目錄管理」>「修改物件」

  2. 選取 Identity Vault 的證書管理中心物件,然後按一下「確定」。通常可在安全性容器中找到該物件,其命名為 網路樹名稱 CA.Security。

  3. 按一下「證書」>「自行簽署的證書」

  4. 按一下「輸出」。

  5. 當詢問您是否要匯出含證書的私密金鑰時,請按一下「」,然後按一下「下一步」。

  6. 選取二進位 DER 格式。

  7. 按一下「儲存匯出的證書」連結。

  8. 瀏覽至電腦上要儲存檔案的位置,然後按一下「儲存」。

  9. 按一下「關閉」。

接著,將自行簽署的證書匯入到 JRE 的托管儲存區中。

  1. 使用 JRE 中包含的 keytool 公用程式。

  2. 在指令提示中輸入以下指令,將證書匯入到角色對應管理員的托管儲存區中︰

    keytool -import -file name_of_cert_file -trustcacerts -noprompt -keystore filename -storepass password
    

    例如:

    keytool -import -file tree_ca_root.b64 -trustcacerts -noprompt -keystore cacerts -storepass changeit
    

3.2.8 還原失效的使用者應用程式驅動程式

如果在使用 NrfCaseUpdate 處理現有的使用者應用程式驅動程式之前,綱要更新已經套用至該驅動程式,則驅動程式將失效,您需要使用備份還原該驅動程式。

重要:千萬不要刪除或重新命名失效的使用者應用程式驅動程式,否則會使所有驅動程式的關聯都失效。此外,如果您在角色與資源服務驅動程式執行期間刪除了使用者應用程式驅動程式,則角色與資源服務驅動程式會偵測到角色刪除事件,並移除指定使用者的角色。

此外,由於綱要變更無法以這種方式進行調整,因此僅將備份的驅動程式重新部署至 Identity Manager 並不夠。以下程序透過部署重新命名後的驅動程式副本以產生要還原的資料,藉以執行還原操作。

以下程序概述了使用 Designer 4.0.1 還原使用者應用程式驅動程式備份的程序︰

  1. 重新啟動 eDirectory 伺服器,以確保綱要修改已生效。

  2. 開啟包含使用者應用程式驅動程式 UserAppDriver 之備份的 Designer 4.0.1 專案的副本。由於此程序會修改驅動程式的名稱,因此一定要使用專案的副本。

  3. 選取使用者應用程式驅動程式與 Identity Vault 之間的連接器,然後按一下滑鼠右鍵並選擇「內容」。

  4. 指定新名稱,例如 UserAppDriver_restore。選取「套用」,然後按一下「確定」。

  5. 按一下「儲存」以儲存專案。

  6. 選取 ID Vault 並選擇「即時」->「綱要」->「比較」以同步化 ID Vault 綱要,然後選擇「更新 Designer 以執行調整動作」。

  7. 儲存專案。

  8. 選取驅動程式並選擇「驅動程式」->「部署」」,藉以部署重新命名後的驅動程式。

  9. 執行 NrfCaseUpdate 並將新命名的驅動程式匯出至 LDIF 檔案。

  10. 建立 LDIF 檔案的副本以進行編輯。

  11. 編輯 LDIF 檔案並重新命名所有驅動程式參考,以反映您正在還原的使用者應用程式驅動程式。例如,如果您的原始使用者應用程式驅動程式為 cn=UserAppDriver,則需要將 cn=UserAppDriver_restore 重新命名為 cn=UserAppDriver。此步驟將有效建立一個反映實際使用者應用程式驅動程式的 LDIF 檔案。

  12. 使用 ice 匯入修改後的 LDIF 檔案︰

    ice -l[mylogfile.log] -v -SLDIF -f[your_created_ldif] -c -DLDAP -s[hostname] -p[389/636] -d[cn=myadmin,o=mycompany] -w[MYPASSWORD] -F -B
    
  13. 注意使用 ice 匯入的狀態,以確保其成功。

  14. 遵照節 3.2.6, NrfCaseUpdate 程序的確認 中的指示確認驅動程式的還原情況。

  15. 從驅動程式集中刪除重新命名後的驅動程式。