4.4 實作具有 SecretStore 的身分證明提供規則

可以自定具有 SecretStore 之「身分證明提供」規則實作的幅度極大。 實作的步驟會視安裝 SecretStore 的平台、進行提供的應用程式和涉及的 Identity Manager 驅動程式而有所不同。

實作具有 SecretStore 的「身分證明提供」規則:

4.4.1 符合具有 Novell SecretStore 之身分證明提供規則的要求

若要使用具有 SecretStore 的「身分證明提供規則」,必須備妥下列項目:

  • 含支援套件 1 的 Identity Manager 3.0
    • 必須安裝於 eDirectory 8.7x;不支援 eDirectory 8.8
    • 驗證 jsso.jaridmcp.jarjnet.jar 是否位於 Identity Manager Java 程式庫的標準位置
  • SecretStore 3.3 或以上版本

驗證自己的環境符合要求後,請繼續進行節 4.4.2, 決定 Novell SecretStore 的部署組態參數

4.4.2 決定 Novell SecretStore 的部署組態參數

為了提供圖 4-1 所示的部署案例中描述的同步化功能,第一步就是蒐集與 Identity Manager 和 SecretStore 環境相關的所有企業流程資訊。您可以列印表 4-3, SecretStore 的身分證明提供規則工作表,並用它做為記錄資訊的工作表。

表 4-3 SecretStore 的身分證明提供規則工作表

需要組態資訊

資訊

1) 要設定哪些應用程式的組態,以供 Web 的「單一登入」提供使用?

 

2) SecretStore 儲存機制伺服器的 DNS 名稱或 IP 位址。

 

3) SecretStore 儲存機制伺服器的 SSL LDAP 連接埠。

 

4) SecretStore 儲存機制伺服器之管理員的完全合法 LDAP 可辨識名稱。

 

5) SecretStore 儲存機制伺服器之管理員的密碼。

 

6) 從 SecretStore 伺服器輸出之 SSL 證書的完整路徑和名稱。 證書必須要在 Identity Manager 伺服器本地上。

 

7) 決定是多個驅動程式會使用一個 SecretStore 儲存機制,還是每個驅動程式都會使用個別的儲存機制。

 

8) 記錄正在使用的 SecretStore 機密類型。

現有兩種受支援的機密類型:

  • A: 應用程式機密 (SS_App: 字首)
  • C: 身分證明集機密 (SS_CredSet: 字首)

9) 每個提供的應用程式之應用程式 ID 或「身分證明集」名稱。

 

10) 尋找每個應用程式的所有必要驗證金鑰,例如「使用者名稱」和「密碼」。 這些對每個應用程式而言可能都不同。

 

11) 決定任何一個驗證金鑰值是否可與靜態值一併設定。

 

12) 針對對於每個使用者而言不同或可以不同的非靜態值,記下非靜態資訊 (事件資訊或 Identity Vault 屬性值) 的來源。

 

13) 如果您正在驅動程式上實作 SecretStore 提供,且驅動程式也正在將密碼同步化至目標應用程式,請決定 SecretStore 提供要在密碼於目標應用程式伺服器中設定之前或之後發生。

 

14) 要在其中儲存儲存機制和應用程式物件之「驅動程式」物件的名稱。 (可為不同的驅動程式。)

 

15) 決定目標應用程式的「使用者」物件 DN。

 

範例提供組態資料

使用者的 SecretStore 身分證明會提供給「財務」部門的 GroupWise 領域伺服器,而該身分證明所使用下列範例資料則已透過提供案例來決定,且會用於 Finance eDirectory 驗證樹中的使用者身上。

SecretStore 儲存機制資訊

表 4-4 SecretStore 的範例身分證明提供規則工作表

需要組態資訊

資訊

1) 要設定哪些應用程式的組態,以供 Web 的「單一登入」提供使用?

GroupWise

2) SecretStore 儲存機制伺服器的 DNS 名稱或 IP 位址。

151.150.191.5

3) SecretStore 儲存機制伺服器的 SSL LDAP 連接埠。

636

4) SecretStore 儲存機制伺服器之管理員的完全合法 LDAP 可辨識名稱。

cn=admin,ou=finance,o=Tesetco Financials

5) SecretStore 儲存機制伺服器之管理員的密碼。

dixml

6) 從 SecretStore 伺服器輸出之 SSL 證書的完整路徑和名稱。 證書必須要在 Identity Manager 伺服器本地上。

c:\novell\nds\FinanceAD.cer

7) 決定是多個驅動程式會使用一個 SecretStore 儲存機制,還是每個驅動程式都會使用個別的儲存機制。

此例中只有一個儲存機制。

8) 記錄正在使用的 SecretStore 機密類型。

現有兩種受支援的機密類型:

  • A: 應用程式機密 (SS_App: 字首)
  • C: 身分證明集機密 (SS_CredSet: 字首)

9) 每個提供的應用程式的應用程式 ID 或「身分證明集」名稱。

GroupWise_Credentials

10) 尋找每個應用程式的所有必要驗證金鑰,例如「使用者名稱」和「密碼」。 這些對每個應用程式而言可能都不同。

使用者名稱 密碼

11) 決定任何一個驗證金鑰值是否可與靜態值一併設定。

此案例沒有靜態資訊。

12) 針對對於每個使用者而言不同或可以不同的非靜態值,記下非靜態資訊 (事件資訊或 Identity Vault 屬性值) 的來源。

使用者名稱: Identity Vault 屬性 “CN” 密碼: 事件 <password>

13) 如果您正在驅動程式上實作 SecretStore 提供,且驅動程式也正在將密碼同步化至目標應用程式,請決定 SecretStore 提供要在密碼於目標應用程式伺服器中設定之前或之後發生。

之後

14) 要在其中儲存應用程式物件和儲存機制之「驅動程式」物件的名稱。 (可為不同的驅動程式。)

GroupWise-Finance 驅動程式

15) 決定目標應用程式的「使用者」物件 DN。

Identity Vault 屬性 “DirXML-ADContext”

其他環境資訊:

  • 「財務」部門 eDirectory 樹會做為所有 Finance 應用程式的 SecretStore 儲存機制使用。
  • 所有的財務部門提供驅動程式都位於稱為 Finance Drivers 的驅動程式集中。
  • 當 Identity Vault 屬性 employeeStatus 設為值 “I” 時,必須刪除 GroupWise 帳戶,且必須從 Active Directory 使用者中移除該 GroupWise 使用者帳戶的 SecretStore 身分證明。

如蒐集的資料所示,SecretStore 儲存機制資訊廣泛適用於提供「財務」部門應用程式的所有驅動程式。 此外,可以用靜態方式設定所有提供資訊的組態,但不包含 Username、Password 及 Target User DN 這些 GroupWise 登入參數。

所有的參數都決定好後,請繼續進行節 4.4.3, 建立 Novell SecretStore 的儲存機制物件

4.4.3 建立 Novell SecretStore 的儲存機制物件

儲存機制物件會儲存 SecretStore 的靜態組態資訊。 儲存機制資訊獨立於使用應用程式身分證明的應用程式以外。 不論已連接系統為何 (如 SAP、PeopleSoft、Notes 等),此資訊均適用於所有的提供事件。儲存機制物件可在 Designer 或 iManager 中建立。

在 Designer 中建立 Novell SecretStore 的儲存機制物件

下列是您可以用來在 Designer 中建立儲存機制物件的眾多方法之一。

  1. 在大綱檢視窗中,以滑鼠右鍵按一下儲存機制物件要儲存的所在驅動程式物件。

  2. 按一下「身分證明提供 > 新儲存機制物件」。

  3. 指定儲存機制物件的名稱。

  4. 選取「NSSRepository.xml」以使用 SecretStore 範本。

  5. 按一下「確定」。

  6. 在大綱檢視窗中連按兩下儲存機制物件,新增組態資訊。

  7. 按一下「」儲存新儲存機制物件。

  8. 指定 SecretStore 伺服器的 DNS 名稱或 IP 位址。 請參閱工作表項目 2)

  9. 指定 SecretStore 伺服器的 SSL 連接埠。 請參閱工作表項目 3)

  10. 指定從 SecretStore 伺服器輸出之 SSL 證書的完整路徑。 路徑必須包含證書名稱,且必須要在 Identity Manager 伺服器本地上。 請參閱工作表項目 6)

    附註:如需如何輸出 SSL 證書的相關資訊,請參閱 iManager 文件。

  11. 指定 SecretStore 管理員的完全合法 LDAP 可辨識名稱。 請參閱工作表項目 4)

  12. 按一下「設定密碼」。

  13. 指定兩次 SecretStore 管理員的密碼,然後按一下「確定」。 請參閱工作表項目 5)

  14. 檢視資訊,然後按一下「儲存」圖示 儲存資訊。

  15. (選擇性) 如果想要建立儲存機制物件的其他組態參數,請按一下「新增項目」圖示

    1. 指定參數的名稱。

    2. 指定參數的顯示名稱。

    3. 指定供您參考的參數描述。

      參數會儲存為字串。

    4. 按一下「確定」。

    5. 按一下「儲存」圖示 儲存儲存機制物件。

儲存機制物件建立後,請繼續到在 Designer 中建立 Novell SecureLogin 的應用程式物件

在 iManager 中建立 Novell SecretStore 的儲存機制物件

  1. 在 iManager 中,選取「身分證明提供 > 組態」。

  2. 瀏覽至儲存機制物件儲存的所在「驅動程式」物件並加以選取,然後按一下「確定」。

  3. 按一下新增」建立儲存機制。

  4. 指定儲存機制物件的名稱。

  5. 選取「NSSRepository.xml」以使用 SecretStore 範本建立儲存機制。

  6. 按一下「確定」。

  7. 指定 SecretStore 伺服器的 DNS 名稱或 IP 位址。 請參閱工作表項目 2)

  8. 指定 SecretStore 伺服器的 SSL 連接埠。 請參閱工作表項目 3)

  9. 指定從 SecretStore 伺服器輸出之 SSL 證書的完整路徑。 路徑必須包含證書名稱,且必須要在 Identity Manager 伺服器本地上。 請參閱工作表項目 6)

    附註:如需如何輸出 SSL 證書的相關資訊,請參閱 iManager 文件。

  10. 指定 SecretStore 管理員的完全合法 LDAP 可辨識名稱。 請參閱工作表項目 4)

  11. 按一下「設定密碼」。

  12. 指定兩次 SecretStore 管理員的密碼,然後按一下「確定」。 請參閱工作表項目 5)

  13. 檢視指定的值,然後按一下「確定」。

  14. (選擇性) 如果想要建立儲存機制物件的其他組態參數,請按一下「新增」。

    範例資訊出自於圖 4-1 中的案例。

    1. 指定參數的名稱。

    2. 指定參數的顯示名稱。

    3. 指定供您參考的參數描述。

      參數會儲存為字串。

    4. 按一下「確定」。

儲存機制物件建立後,請繼續進行在 iManager 中建立 Novell SecureLogin 的應用程式物件

4.4.4 建立 Novell SecretStore 的應用程式物件

應用程式會儲存 SecretStore 的靜態組態參數。 應用程式資訊是使用應用程式身分證明的應用程式特有的 (例如 GroupWise 用戶端資訊或 SAP 資料庫用戶端資訊)。 應用程式物件可在 Designer 或 iManager 中建立。

在 Designer 中建立 Novell SecretStore 的應用程式物件

下列是您可以用來在 Designer 中建立應用程式物件的眾多方法之一。

  1. 在大綱檢視窗中,以滑鼠右鍵按一下應用程式物件要儲存的所在驅動程式物件。

  2. 按一下「身分證明提供 > 新應用程式物件」。

  3. 指定應用程式物件的名稱。

  4. 選取「NSSApplication.xml」以使用 SecretStore 範本。

  5. 按一下「確定」。

  6. 在大綱檢視窗中連按兩下應用程式物件,新增組態資訊。

  7. 按一下「」儲存新應用程式物件。。

  8. 指定 SecretStore 應用程式 ID。 請參閱工作表項目 9)

  9. 選取「SecretStore 機密類型」。 請參閱工作表項目 8)

  10. 選取「SecretStore 共用機密類型」。 請參閱工作表項目 8)

  11. 選取「SecretStore 使用增強性保護旗標」為「停用」或「啟用」。

  12. 按一下「設定密碼」設定「增強性保護密碼」(如果已啟用的話)。

  13. 指定兩次密碼,然後按一下「確定」。

  14. 按一下「儲存」圖示 儲存應用程式。

  15. 按一下「新增項目」圖示 新增應用程式需要的驗證金鑰。

    1. 指定驗證金鑰的名稱。

    2. 指定驗證金鑰的顯示名稱。

    3. 指定供您參考的驗證金鑰描述。

      驗證金鑰會儲存為字串。

    4. 按一下「確定」。

    5. 針對每個需要輸入的新驗證金鑰,重複步驟 15

  16. 如果驗證金鑰是所有使用者身分證明所共用的靜態值,則指定驗證金鑰。

  17. 按一下「儲存」圖示 儲存應用程式。

應用程式物件建立後,請繼續進行節 4.4.5, 設定 Novell SecretStore 的身分證明提供規則組態

在 iManager 中建立 Novell SecretStore 的應用程式物件

  1. 在 iManager 中,選取「身分證明提供 > 組態」。

  2. 瀏覽至應用程式物件儲存的所在「驅動程式」物件並加以選取,然後按一下「確定」。

  3. 選取「應用程式」索引標籤,然後按一下「新增」。

  4. 指定應用程式物件的名稱

  5. 選取「NSSApplication.xml」以使用 SecretStore 範本建立應用程式。

  6. 按一下「確定」。

  7. 指定「SecretStore 應用程式 ID」。 請參閱工作表項目 9)

  8. 選取「SecretStore 機密類型」。 請參閱工作表項目 7)。 SecretStore 類型為「共用」或「不共用」。

  9. 選取「SecretStore 共用機密類型」。 請參閱工作表項目 8)。 「共用」的 SecretStore 類型為「身分證明集」或「應用程式」。

  10. 選取 SecretStore「使用增強性保護旗標」為「停用」或「啟用」。

  11. 按一下「設定密碼」設定「增強性保護密碼」(如果已啟用的話)。

  12. 指定兩次密碼,然後按一下「確定」。

  13. 按一下「新增」建立應用程式需要的驗證金鑰。 請參閱工作表項目 10)

    1. 指定驗證金鑰的名稱。

    2. 指定驗證金鑰的顯示名稱。

    3. 指定供您參考的驗證金鑰描述。

      驗證金鑰會儲存為字串。

    4. 按一下「確定」。

    5. 如需應用程式需要的驗證金鑰,請重複步驟 13

  14. 如果驗證金鑰值為靜態值,則指定該值,然後按一下「確定」。

應用程式物件建立後,請繼續進行節 4.4.5, 設定 Novell SecretStore 的身分證明提供規則組態

4.4.5 設定 Novell SecretStore 的身分證明提供規則組態

儲存機制物件和應用程式物件建立後,便需要建立規則以提供 SecretStore 資訊。 規則會使用儲存於儲存機制和應用程式物件中的資訊。 「規則產生器」中有兩種動作,可以提供 SecretStore 身分證明:

清除 SSO 身分證明

清除 SSO 身分證明」動作可讓您清除 SSO 身分證明,所以便可取消提供物件。

圖 4-6 清除 SSO 身分證明

  • 輸入身分證明儲存物件 DN: 瀏覽至儲存機制物件並加以選取。

  • 輸入目標使用者 DN: 使用「引數產生器」建立目標使用者 DN。 請參閱工作表項目 15)

  • 輸入應用程式身分證明 ID: 指定應用程式 ID。 請參閱工作表項目 9)

  • 輸入登入參數字串: 啟動「字串產生器」並輸入應用程式的每個驗證金鑰。 請參閱工作表項目 10)

設定 SSO 身分證明

設定 SSO 身分證明」動作可讓您在使用者物件建立或密碼經過修改時,設定 SSO 身分證明。

圖 4-7 設定 SSO 身分證明

  • 輸入身分證明儲存物件 DN: 瀏覽至儲存機制物件並加以選取。

  • 輸入目標使用者 DN: 使用「引數產生器」建立目標使用者 DN。 請參閱工作表項目 15)

  • 輸入應用程式身分證明 ID: 指定應用程式 ID。 請參閱工作表項目 9)

  • 輸入登入參數字串: 啟動「字串產生器」並輸入應用程式的每個驗證金鑰。 請參閱工作表項目 10)

範例身分證明提供規則

您可以實作並自定身分證明提供規則,以符合環境需求。 下列範例說明如何實作圖 4-5 中呈現之案例的規則。

在「財務」案例中,SecretStore 提供會發生在 GroupWise 中的密碼成功設定以後。 大多數的必要參數組態都是以靜態方式設定,而且都可以透過存機制物件和應用程式物件,供所有的規則使用。 不過,有些資料參數並非靜態 (CN、password 及 DirXML-ADContext),而且只有在GroupWise 使用者 <add><modify-password> 指令完成,且 GroupWise 驅動程式 Shim 傳回 <output> 狀態文件後才可使用。 <output> 文件不再包含任何「訂閱者」操作屬性,且指令的「使用者」網路位置也遺失,因此阻止了對於物件的查詢。 因此有必要進行下列幾項操作:

  • 確定 GroupWise 驅動程式的「訂閱者建立」規則強制非靜態資料參數存在。
  • 將「訂閱者」指令發出至 GroupWise 驅動程式 Shim 之前,先快取提供操作所需的非靜態參數。
  • 指令成功完成後取回已快取的資料,以便用於 SecretStore 提供。

附註:Identity Manager 3.0 支援套件 1 的媒體上有 XML 格式的範例規則。 檔名為 SampleInputTransform.xmlSampleSubCommandTransform.xmlSampleSubEventTransform.xml。 這些檔案位於下列目錄中:

  • linux\setup\utilities\cred_prov
  • nt\dirxml\utilities\cred_prov
  • nw\dirxml\utilities\cred_prov

如果在安裝公用程式時選取「身分證明提供範例規則」,這些檔案便會安裝到 Identity Manager 伺服器。 範例規則會安裝到下列位置 (視平台而定):

  • Windows: C:\Novell\NDS\DirXMLUtilities (此為預設值;使用者於安裝時可加以變更)
  • NetWare: SYS:\System\DirXmlUtilities
  • Linux (eDir 8.7): /usr/lib/dirxml/rules/credprov

範例規則提供您一個起點,讓您開發用於個人環境的規則。

操作資料快取

可供所需操作資料之快取使用的機制為 <operation-data> 元素。 因為您可能需要從 <add><modify-password> 指令提供 SecretStore 帳戶,所以實作非靜態資料快取規則的合理位置就是在「訂閱者指令轉換」規則中。 下列範例顯示典型的「SecretStore 提供」元素:

<operation-data> <nss-sync-data> <nss-target-user-dn> cn=GLCANYON,ou=finance,o=Testco Financials </nss-target-user-dn> <nss-app-username>GCANYON</nsl-app-username> <password><!-- content suppressed --></password> <nss-passphrase-answer>50024222</nsl-passphrase-answer> </nss-sync-data> </operation-data>

在來自於圖 4-5 的範例「財務」部門案例中,若要填入操作資料封包內容,則需要下列這些值:

  • <nss-target-user-dn> 元素會從 Identity Vault 中,以 DirXML-ADContext 屬性值加以填入,該值則已由 eDirectory 驅動程式設定。 若要確保 eDirectory 驅動程式設定該值時,GroupWise 驅動程式會收到通知,請務必將 DirXML-ADContext 做為通知屬性新增至「訂閱者」過濾器。
  • <nss-app-username> 元素會由 Identity Vault 中的 CN 屬性值填入。
  • password 元素會由 <add><modify-password> 指令中的 <password> 元素值填入。

SecretStore 提供

在此範例案例中,可將操作資料從其中取回,並用於 SecretStore 身分證明提供的第一個可用位置就是在驅動程式的「輸出轉換」規則中。 範例案例中實作了兩種規則:

  • 密碼同步化成功後,設定「SecretStore 身分證明」
  • 如果應用程式已刪除 (Identity Vault 物件未刪除),則移除「SecretStore 身分證明」

    附註:SampleInputTransform.xml 檔案中有範例規則,可在密碼同步化成功後設定 SecretStore 身分證明。 該檔案位於 Identity Manager 3.0 支援套件 1 的媒體上,公用程式目錄的 cred_prov 資料夾中。

「設定 SecretStore 身分證明」規則需要確定只有在傳回的指令狀態為 Success,且之前設定的 <operation-data> 存在時,提供才會發生。

SecretStore 取消提供

有許多案例可以使用規則,其中已連接應用程式的使用者帳戶已刪除,而 Identity Vault 帳戶則予以保留。 在「財務」案例中,當使用者的 Identity Vault 屬性值 semployeeStatus 設為 “I” 時,則有必要刪除 GroupWise 帳戶並取消提供 SecretStore 身分證明。 為了處理此情況,GroupWise 驅動程式的「訂閱者事件轉換」包含要將修改屬性值轉換為物件刪除的規則。 因為刪除指令完成後仍需要 eDirectory 帳戶名稱,所以 <operation-data> 事件需要在 <delete> 指令進行時設定,如此便可在「輸入轉換」規則中供 SecretStore 取消提供規則使用。

<operation-data> <nss-sync-data> <nss-target-user-dn> cn=GLCANYON,ou=finance,o=Testco Financials </nss-targer-user-dn> </nss-sync-data> </operation-data>

在 Identity Manager 3.0 支援套件 1 的媒體上,位於 utilities 目錄的 SampleSubEventTransform.xml 檔案中有用於將 <modify> 事件轉換為 <delete> 並建立此元素的規則 (其格式為 XML)。