2.1 安裝 OpenText Identity Console CE 24.4 (v1.9)

2.1.1 安裝獨立 OpenText Identity Console (非 Docker)

您可以使用下列其中一種方式,安裝 OpenText Identity Console:

附註:為確保功能正常,我們建議您在同一台機器安裝 OpenText Identity Console 和 OpenText eDirectory,機器上必須至少有一個可用的 OpenText eDirectory 例項。

執行互動式安裝

本節說明如何使用互動式安裝方法,安裝獨立的 OpenText Identity Console。

  1. 登入軟體授權和下載入口網站,然後瀏覽至「軟體下載」頁面。

  2. 選取下列項目:

    • 產品:OpenText eDirectory

    • 產品名稱:OpenText eDirectory per User Sub SW E-LTU

    • 版本:9.2、9.3

  3. 下載並擷取 OpenText Identity Console 的最新組建。

  4. 瀏覽至擷取 OpenText Identity Console 組建 > IdentityConsole_<version>_Linux 的目錄。

  5. 以根或根相等的使用者身分登入時,執行以下指令:

    ./identityconsole_install
  6. 閱讀「簡介」內容,然後按 ENTER。

  7. 輸入 'y' 以接受授權合約。這將會在系統上安裝所有必要的 RPM。

  8. 輸入 Identity Console 伺服器的主機名稱 (FQDN)/IP 位址。例如:10.10.33.100

    如果按 Enter 鍵,而不指定 IP 位址,則預設會使用系統的 IP 位址/主機名稱。

  9. 輸入 Identity Console 要監聽的連接埠號碼。預設值為 9000。

  10. 指定要連線的 eDirectory-hosts。您可以擇一提供 IP 位址或網域名稱。例如:localhost:636,xx.xx.xx.xx:636 或 edir.domain.com:636

  11. (有條件) 根據需求,選擇下列其中一個選項:

    • 如果您不想整合 OSP 與 OpenText Identity Console,請選擇「n」並繼續 步驟 12。

    • 如果您要整合 OSP 與 OpenText Identity Console,請選擇「y」並為下列步驟提供輸入:

      1. 使用 LDAPS 連接埠號碼輸入 eDirectory/Identity Vault 伺服器的網域名稱/IP 位址。

        例如:

        192.168.1.1:636

      2. 輸入 eDirectory/Identity Vault 使用者名稱。

        範例:

        cn=admin,ou=org_unit,o=org

      3. 輸入 eDirectory/Identity Vault 密碼。

      4. 再次輸入 eDirectory/Identity Vault 密碼以確認密碼。

      5. 輸入 OSP 伺服器網域名稱/IP 位址和 SSO 伺服器 SSL 連接埠號碼。

      6. 輸入 OSP 用戶端 ID 和 OSP 用戶端密碼。

      7. 輸入 eDirectory/Identity Vault 網路樹名稱。

  12. (有條件) 根據需求,選擇下列其中一個選項:

    • 若要自動擷取 CA 證書,請選擇自動擷取為 y。

    • 如果您不想自動擷取 CA 證書,請選擇自動擷取為 n。

  13. (有條件) 根據需求,選擇下列其中一個選項:

    • 若要從伺服器輸入 CA 證書,請輸入 y,然後按下 Enter 鍵。

      CA 證書會在 /etc/opt/novell/eDirAPI/cert 中成功複製。

      若要手動擷取或新增 CA 證書,請參閱產生 CA 證書

    • 如果您不想從伺服器輸入 CA 證書,請輸入 n 並按下 Enter 鍵。

    • 如果您輸入「q」,安裝就會終止。

  14. (有條件) 選擇下列其中一個選項,以產生伺服器證書:

    • 如果您要產生伺服器證書,請輸入「y」,然後按下 Enter 鍵。為下列步驟提供輸入:

      1. 輸入 eDirectory 使用者名稱。例如,cn=admin,o=novell。

      2. 輸入 eDirectory 使用者密碼。

      3. 重新輸入 eDirectory 使用者密碼。

      4. 輸入伺服器證書名稱。

        範例:servercert

      5. 輸入伺服器證書密碼。

        範例:password@123

      6. 重新輸入伺服器證書密碼。

        範例:password@123

    • 如果您已經有想要使用的伺服器證書,請輸入「n」,然後按下 Enter 鍵。為下列步驟提供輸入:

      1. 手動指定伺服器證書目錄路徑的位置。

        例如,/home/cert/ckes.pfx

      2. 輸入伺服器證書密碼。

      3. 重新輸入伺服器證書密碼。

附註:

  • 您可以在 /var/opt/novell/eDirAPI/log 目錄中找到下列記錄檔案:

    • Edirapi.log:此檔案會記錄 edirapi 事件與針對問題進行偵錯。

    • Edirapi_audit.log:此檔案會記錄 edirapi 稽核事件。此記錄會遵循 CEF 稽核格式。

    • Identityconsole_install.log:此檔案會記錄 OpenText Identity Console 事件。

  • 您可以在 /var/log/messages 檔案中,檢查 OpenText Identity Console 的啟動和停止操作記錄。

  • 如果安裝失敗,請使用下列指令重新設定:

    /usr/bin/identityconsoleConfigure

產生證書的公用程式

您可以選擇使用下列工具或公用程式,取得其他樹狀結構的 CA 證書和伺服器證書。

附註:您可以在 opt/novell/eDirAPI/sbin 路徑中,取得 CA 和伺服器證書的程序檔。

產生 CA 證書

  1. 下載並擷取最新的 OpenText Identity Console 組建。

  2. 瀏覽至目錄 /opt/Nover/eDirAPI/mbin,即可擷取、刪除或檢視 CA 證書清單。

  3. 以根或根相等的使用者身分登入時,執行以下指令。

    ./get_cacert fetch <ip address/DNS:ldaps port>

    例如:

    ./get_cacert fetch 10.10.10.10:636
  4. 若要在 cert 資料夾手動新增 CA 證書,請瀏覽至 /etc/opt/Nova/eDirAPI/cert,複製並貼上 CA 證書。

    <IP address/DNS_ldaps port.pem>

    例如:

    10.10.10.10_636.pem

產生伺服器證書

  1. 下載並擷取最新的 OpenText Identity Console 組建。

  2. 瀏覽至要擷取、刪除或檢視 CA 證書清單的目錄 > /opt/novell/eDirAPI/sbin

  3. 以根或根相等的使用者身分登入時,執行以下指令。

    ./get_servercert <eDirectory IP address with LDAPS port number> <eDirectory/Identity Vault username> <userpassword> <server certificate name> <server certificate password>

    範例:

    ./get_servercert 10.10.10.10:636 cn=admin,ou=org_unit,o=org password keys password 

以靜默模式安裝

靜默安裝可讓您安裝 OpenText Identity Console,不需任何互動式輸入。若要使用此方法,您必須定義在 silent_properties 檔案中安裝 OpenText Identity Console 的選項,然後從指令行執行安裝程序。修改內容檔案後,系統會使用來自該檔案的資訊,以靜默方式完成安裝。

在開始靜默安裝之前,請確定您符合所有先決條件。

若要編輯靜默內容檔案:

  1. 瀏覽至您擷取 OpenText Identity Console 組建位置中的 IdentityConsole_<version>_Linux 目錄。

  2. 開啟 silent_properties 檔案,並根據需求修改值:

    • 若 auto fetch 為 Yes,

      1. 請在 silent_properties 檔案中輸入下列詳細資料:

        export AUTOGENERATE_CACERT="Yes" export AUTOGENERATE_SERVERCERT="Yes" export EDIR_HOST="" export IDC_IP="" export IDC_PORT="9000" export OSP_CLIENT_ID="identityconsole" export OSP_CLIENT_PASSWD="novell" export OSP_IP="" export OSP_MODE="No" export AUTO_FETCH="Yes" export SERVERCERT_NAME="cert" export SERVERCERT_PASSWORD="novell" export SERVERCERT_USERNAME="cn=admin,o=novell" export SERVERCERT_USER_PASSWORD="novell" export TREENAME="my_tree" export VAULT_IP="" export VAULT_USERNAME="cn=admin,o=novell" export VAULT_PASSWD="novell"
        
      2. 請以靜默模式執行下列命令來安裝:

        ./identityconsole_install -s silent_properties
    • 若 auto fetch 為 No,

      1. 請在 silent_properties 檔案中輸入下列詳細資料:

        export AUTOGENERATE_CACERT="No" export AUTOGENERATE_SERVERCERT="No" export EDIR_HOST="" export IDC_IP="" export IDC_PORT="9000" export OSP_CLIENT_ID="identityconsole" export OSP_CLIENT_PASSWD="novell" export OSP_IP="" export OSP_MODE="No" export AUTO_FETCH="No" export SERVERCERT_LOCATION="/etc/opt/novell/eDirAPI/cert/SSCert.pem" export SERVERCERT_NAME="cert" export SERVERCERT_PASSWORD="novell" export SERVERCERT_USERNAME="cn=admin,o=novell" export SERVERCERT_USER_PASSWORD="novell" export TREENAME="my_tree" export VAULT_IP="" export VAULT_USERNAME="cn=admin,o=novell" export VAULT_PASSWD="novell"
        
      2. 手動複製 CA 憑證到資料夾 /etc/opt/novell/eDirAPI/cert/。

      3. 請執行下列命令來安裝 rpm:

        ./identityconsole_rpm_install
      4. 安裝 rpm 後,請執行下列指令,以靜默模式執行安裝程式:

        ./identityconsoleConfigure -s silent_properties

您可以在 Identity Console 安裝 > identityconsole_install.log 檔案中找到與安裝相關的記錄。

具有獨立 OpenText Identity Console 的多個樹狀結構

若要在停用自動擷取時將 OpenText Identity Console 與多個 OpenText eDirectory 樹狀結構連線,您必須將所有 OpenText eDirectory 樹狀結構中的 CA 證書複製到 /etc/opt/novell/eDirAPI/cert/ 目錄。

如下複製 CA 證書:

cp /home/user/<ip address1_ldap port.pem> /etc/opt/novell/eDirAPI/cert/<ip address1_ldap port.pem>
cp /home/user/<ip address2_ldap port.pem> /etc/opt/novell/eDirAPI/cert/<ip address2_ldap port.pem>

若要使用 get_cacert 公用程式擷取 CA 證書,請參閱 產生 CA 證書 一節。

執行下列其中一個指令以重新啟動 OpenText Identity Console:

  • /usr/bin/identityconsole restart
  • systemctl restart netiq-identityconsole.service

啟用自動擷取時,CA 證書會自動複製到 cert 資料夾。

取代獨立 OpenText Identity Console 中的伺服器證書

請執行下列步驟,以在獨立 OpenText Identity Console 中取代伺服器證書:

  1. 執行 NLPCERT 以儲存金鑰:

    su - nds -c "/opt/novell/eDirAPI/sbin/decryptor /Expiredcert/noexpire/new-keys.pfx novell /etc/opt/novell/eDirAPI/conf/ssl/private/cert.pem"
  2. 重新啟動 OpenText Identity Console:

    systemctl restart netiq-identityconsole.service

停止、重新啟動和獨立 OpenText Identity Console 狀態

  • 若要停止,請執行下列其中一個指令:

    /usr/bin/identityconsole stop

    或者

    systemctl stop netiq-identityconsole.service
  • 若要重新啟動,請執行下列其中一個指令:

    /usr/bin/identityconsole restart

    或者

    systemctl restart netiq-identityconsole.service
  • 若要檢查狀態,請執行下列其中一個指令:

    /usr/bin/identityconsole status

    或者

    systemctl status netiq-identityconsole.service
  • 若要啟動,請執行下列其中一個指令:

    /usr/bin/identityconsole start

    或者

    systemctl start netiq-identityconsole.service

2.1.2 在 Windows 安裝 OpenText Identity Console 工作站

OpenText Identity Console 可以在 Windows 啟動作為工作站,且需要執行中的 REST 服務。因此,當啟動時,eDirAPI 程序將在 edirapi.exe cmd 提示中執行。如果您關閉 edirapi.exe 終端機,OpenText Identity Console 將無法再運作。

下列程序說明如何在 Windows 執行 OpenText Identity Console。

  1. 登入軟體授權和下載入口網站,然後瀏覽至「軟體下載」頁面。

  2. 選取下列項目:

    • 產品:OpenText eDirectory

    • 產品名稱:OpenText eDirectory per User Sub SW E-LTU

    • 版本:9.2、9.3

  3. 下載與擷取 IdentityConsole_<version>_workstation_win_x86_64.zip。

  4. 瀏覽至解壓縮的資料夾並安裝 NICI_wx64。

  5. (選用) 開啟 edrappi_win.conf 檔案,並編輯 OpenText Identity Console 要監聽的連接埠編號。

  6. (有條件) 如果您已有要使用的 keys.pfx 和 SSCert.pem 檔案,請將 CA 證書檔案名稱變更為 <ipaddress_ldap>.pem(xx.xx.xx.xxx_636.pem),然後將檔案手動複製到 C:\IdentityConsole_<version>_workstation_win_x86_64\eDirAPI\cert 的 cert 資料夾

    然後繼續步驟 9。

  7. (有條件) 如果您想要產生 CA 證書,請瀏覽至 eDirAPI 資料夾,在命令提示中執行 get_cacert.exe fetch <IP address_port.pem> 二進位檔案 (位於 C:\IdentityConsole_version_workstation_win_x86_64\eDirAPI\cert),並提供 OpenText eDirectory/Identity Vault 伺服器網域名稱/IP 位址和 LDAPS 連接埠編號。

    例如:

    get_cacert.exe fetch 10.10.10.125:636

    10.10.10.125_636.pem 檔案隨即產生。

  8. (有條件) 如果您想要產生伺服器證書,請透過命令提示執行 get_servercert.exe help 二進位檔案,以及提供下列詳細資料:

    • 使用 LDAPS 連接埠編號 eDirectory/Identity Vault 伺服器的網域名稱/IP 位址。

    • eDirectory/Identity Vault 使用者名稱。

    • eDirectory/Identity Vault 密碼。

    • 伺服器證書名稱。

    • 伺服器證書密碼.

    例如:

    get_servercert.exe 10.10.10.125:636 cn=admin,o=novell novell keys novell

    隨即產生 keys.pfx 檔案。

  9. 瀏覽至擷取的資料夾,連按兩下 configure.bat 檔案,然後在命令提示中輸入伺服器證書 (keys.pfx) 密碼。

    附註:如果伺服器證書已變更,請使用新證書的密碼重新執行 configure.bat 檔案。

  10. 瀏覽至擷取的資料夾,然後連按兩下 run.bat 檔案。

    eDirAPI 程序終端機 (edirapi.exe) 開始執行,並顯示 OpenText Identity Console 登入頁面。

附註:

  • 針對 OpenText Identity Console 應用程式的後續登入,請連按兩下 run.bat。隨即會出現登入頁面。

    如果 eDirAPI 程序終端機 (edirapi.exe) 已執行,請從已解壓縮組建的資料夾執行 identityconsole.exe。

  • 使用者可以在:\IdentityConsole_<version>_workstation_win_x86_64\eDirAPI\log 中找到下列記錄

    edirapi.log - 這是用於記錄 edirapi 中的不同事件和除錯問題。

    edirapi_audit.log - 這是用於記錄 edirapi 的稽核事件。記錄會遵循 CEF 稽核格式。

  • 工作站模式不支援 OSP 登入。

  • 如果連接埠編號已在使用中,請使用新連接埠編號在 edirapi_win.conf 檔案中編輯監聽參數,然後按兩下 run.bat 以成功登入 OpenText Identity Console。

產生證書的公用程式

您可以選擇使用下列公用程式,為其他 OpenText eDirectory 樹狀結構取得 CA 證書和伺服器證書。

附註:您可以在 opt/novell/eDirAPI/sbin 路徑中,取得 CA 和伺服器證書的程序檔。

產生 CA 證書

  1. 下載並擷取最新的 OpenText Identity Console 組建。

  2. 瀏覽至擷取 OpenText Identity Console 組建的目錄。範例:C:\IdentityConsole_<version>_workstation_win_x86_64\eDirAPI

  3. 透過命令提示執行下列二進位檔案。

    get_cacert.exe fetch <ip address:port>

    提供 OpenText eDirectory IP 位址和 LDAPS 連接埠編號。

    範例:get_cacert.exe fetch 10.10.10.125:636

    10.10.10.125_636-pem 檔案會產生並複製到 cert 資料夾。

產生伺服器證書

  1. 瀏覽至擷取 OpenText Identity Console 組建的資料夾。

    範例:IdentityConsole_<version>_win

  2. 透過命令提示執行 get_servercert.exe help,以取得更多說明選項。

    • 使用 LDAPS 連接埠編號 eDirectory/Identity Vault 伺服器的網域名稱/IP 位址。

    • eDirectory/Identity Vault 使用者名稱。

    • eDirectory/Identity Vault 密碼。

    • 伺服器證書名稱。

    • 伺服器證書密碼.

      若要產生伺服器證書,請透過命令提示執行下列指令:

      範例:

      get_servercert.exe 10.10.10.125:636 cn=admin,o=novell novell keys novell

      產生 keys.pfx 檔案並將此檔案複製至 cert 資料夾。

具有 OpenText Identity Console 作為工作站的多個樹狀結構

OpenText Identity Console 可讓使用者在登入頁面輸入 IP 位址,以連線至多個樹狀結構。

關閉並重新啟動 OpenText Identity Console 工作站

若要關閉應用程式和程序:

  1. 關閉 OpenText Identity Console 桌面視窗應用程式。

  2. 透過關閉 eDirAPI 程序終端機來停止 eDirAPI 程序。

若要重新啟動 OpenText Identity Console 工作站,請瀏覽至組建擷取所在的資料夾並連按兩下 run.bat 檔案 (Windows 批次檔案)。

附註:如果 eDirAPI 程序終端機已在執行中,請從組建擷取所在的資料夾執行 identityconsole.exe 以重新啟動 OpenText Identity Console 工作站。

2.1.3 將 OpenText Identity Console 安裝為 Docker 容器

本節包含以下程序︰

安全性建議

  • Docker 容器預設沒有任何資源限制。這會將主機核心所提供所有 CPU 與記憶體資源的存取權提供給每一個容器。您也必須透過設定容器可用資源數量的限制,來確保一個執行中的容器不會耗用較多的資源,而使其他執行中的容器缺乏資源。

    • 透過在 Docker run 命令上使用 --memory 旗標,Docker 容器可確定固定限制適用於容器所使用的記憶體。

    • 透過在 Docker run 命令上使用 --cpuset-cpus 旗標,Docker 容器可確定限制會套用到執行中容器使用的 CPU 數量。

  • --pids-limit 應設定為 300,以限制任可指定時間在容器內繁衍的核心執行緒數目。這可防止 DoS 攻擊。

  • 您必須在 Docker run 命令上使用 --restart 旗標,將失敗時容器重新啟動規則設定為 5。

  • 容器啟動後,一旦狀態顯示成良好,您就只能使用容器。若要檢查容器的健康情況,請執行以下指令:

    docker ps <container_name/ID>
  • Docker 容器一律會以非 root 使用者身分 (nds) 啟動。作為額外的安全措施,讓使用者命名空間能夠重新對應到精靈,以防止來自容器內的權限提升攻擊。如需使用者命名空間對應的詳細資訊,請參閱「以使用者命名空間隔離容器」。

將 OpenText Identity Console 安裝為 Docker 容器

附註:可使用或不使用 OSP 設定 OpenText Identity Console。如果您選擇使用 OSP 進行設定,您必須先部署 OSP 容器,然後再部署 OpenText Identity Console 容器。請務必修改 edirapi.conf 檔案,以包含您想要的部署值。

若要將 OpenText Identity Console 安裝為 Docker 容器:

此程序中提及的組態參數、範例值和範例僅供參考。您必須確保不要直接在線上環境中使用。

  1. 登入軟體授權和下載入口網站,然後瀏覽至「軟體下載」頁面。

  2. 選取下列項目:

    • 產品:OpenText eDirectory

    • 產品名稱:OpenText eDirectory per User Sub SW E-LTU

    • 版本:9.2、9.3

  3. 下載 IdentityConsole_<version>_Container.tar.zip。

  4. 影像必須載入到本機 Docker 登錄中。使用以下命令擷取並載入 IdentityConsole_<version>_Containers.tar.gz 檔案:

    tar -xvf IdentityConsole_version_Containers.tar.gz              
    docker load --input identityconsole.tar.gz
  5. 使用以下指令,建立 OpenText Identity Console Docker 容器:

    docker create --name identityconsole-container-name --env ACCEPT_EULA=Y --network=network-type --volume volume-name:/config/ identityconsole:version

    例如:

    docker create --name identityconsole-container-1 --env ACCEPT_EULA=Y --network=host --volume IDConsole-volume:/config/ identityconsole:version

    附註:

    • 您可以接受 EULA,作法是將 ACCEPT_EULA 環境變數設為 'Y'。您可以在啟動容器時,透過使用 Docker 中的 -it 選項為互動模式建立命令,以從提示畫面上接受 EULA。

    • 上述指令中的 --volume 參數,將會建立磁碟區以儲存組態和記錄資料。在這個案例中,我們建立了稱為 IDConsole-volume 的範例磁碟區。

  6. 使用以下指令,將伺服器證書檔案從本地檔案系統複製到容器作為 /etc/opt/novell/eDirAPI/cert/keys.pfx。如需有關建立伺服器證書的詳細資訊,請參閱先決條件:

    docker cp <absolute path of server certificate file> <identityconsole-container-name>:/etc/opt/novell/eDirAPI/cert/keys.pfx

    例如,

    docker cp /home/user/keys.pfx identityconsole-container-1:/etc/opt/novell/eDirAPI/cert/keys.pfx

    連線至多個 OpenText eDirectory 樹狀結構時,您必須確保針對所有連線的樹狀結構取得至少一個 keys.pfx 伺服器證書。

  7. 使用以下指令,將 CA 證書檔案 (.pem) 從本地檔案系統複製到容器作為 /etc/opt/novell/eDirAPI/cert/SSCert.pem。如需有關取得 CA 證書的詳細資訊,請參閱先決條件:

    docker cp absolute path of CA certificate file identityconsole-container-name:/etc/opt/novell/eDirAPI/cert/SSCert.pem

    例如,

    docker cp /home/user/SSCert.pem identityconsole-container-1:/etc/opt/novell/eDirAPI/cert/SSCert.pem

    如果使用者必須連線至多個 OpenText eDirectory 樹狀結構,請參閱章節:具有 OpenText Identity Console 作為 Docker 的多個樹狀結構.

  8. 視您是否要使用或不使用 OSP 設定 OpenText Identity Console,請視需要修改 edirapi.conf 組態檔案。然後使用下列指令,將其從本機檔案系統複製到 /etc/opt/novell/eDirAPI/conf/edirapi.conf 的容器:

    docker cp absolute path of configuration file identityconsole-container-name:/etc/opt/novell/eDirAPI/conf/edirapi.conf

    例如:

    docker cp /home/user/edirapi.conf identityconsole-container-1:/etc/opt/novell/eDirAPI/conf/edirapi.conf

    組態檔案範例顯示如下 (OpenText Identity Console 1.9 及更新版本):

    listen = ":9000" pfxpassword = "novell" bcert = "/etc/opt/novell/eDirAPI/cert/" ospmode=false auto-fetch=false 

    組態檔案範例顯示如下 (Identity Console 1.8 及更舊版本):

    listen = ":9000" pfxpassword = "novell" bcert = "/etc/opt/novell/eDirAPI/cert/" ospmode=false edir-hosts = "<ip_address>:636"

    附註:若要透過 OpenText Identity Console 存取 OpenText eDirectory,則必須在 edirapi.conf 檔案中新增 edir-hosts="x.x.x.x:ldaps_port。

    範例:edir-hosts="10.10.10.10:636"

    當您設定自動擷取 =true 時,一開始必須將 CA 憑證複製到容器,如步驟 7 所述。之後,CA 憑證會在後續的登入工作階段中自動擷取。

    使用 OSP 設定 OpenText Identity Console 時的組態檔案範例顯示如下:

    listen = ":9000" ldapserver = "10.71.39.15:636" ldapuser = "cn=admin,o=novell" ldappassword = "novell" pfxpassword = "novell" osp-token-endpoint = "https://<osp_ipaddress>:8543/osp/a/idm/auth/oauth2/getattributes" osp-authorize-url = "https://<osp_ipaddress>:8543/osp/a/idm/auth/oauth2/grant" osp-logout-url = "https://<osp_ipaddress>:8543/osp/a/idm/auth/app/logout" osp-redirect-url = "https://<identity_console_ipaddress>:9000/eDirAPI/v1/t/authcoderedirect" osp-client-id = "identityconsole" ospclientpass = "novell" ospcert = "/etc/opt/novell/eDirAPI/cert/SSCert.pem" bcert = "/etc/opt/novell/eDirAPI/cert/" ospmode=true check-origin =true origin = "https://<identity_console_ipaddress>:9000"
  9. 使用以下指令啟動 Docker 容器:

    docker start identityconsole-container-name

    例如,

    docker start identityconsole-container-1

附註:您可以在 var/lib/docker/volumes/<volume_name>/_data/eDirAPI/var/log 目錄中找到下列記錄檔案:

  • edirapi.log - 這是用於記錄 edirapi 中的不同事件和除錯問題。

  • edirapi_audit.log - 這是用於記錄 edirapi 的稽核事件。記錄會遵循 CEF 稽核格式。

  • container-startup.log:這是用於擷取 OpenText Identity Console Docker 容器的安裝記錄。

具有 OpenText Identity Console 作為 Docker 的多個樹狀結構

若要在停用自動擷取時,將 OpenText Identity Console 1.9 與多個 OpenText eDirectory 樹狀結構連線,您必須將所有 OpenText eDirectory 樹狀結構中的 CA 證書複製到 /etc/opt/novell/eDirAPI/cert/ 目錄。

OpenText Identity Console 1.8 允許使用者透過取得樹狀結構的個別 CA 證書,來連線至多個樹狀結構。

例如,如果您連線至三個 OpenText eDirectory 樹狀結構,則必須將三個 CA 證書都複製到 Docker 容器中:

docker cp /home/user/SSCert1.pem identityconsole-container-1:/etc/opt/novell/eDirAPI/cert/SSCert1.pem
docker cp /home/user/SSCert2.pem identityconsole-container-1:/etc/opt/novell/eDirAPI/cert/SSCert2.pem
docker cp /home/user/SSCert3.pem identityconsole-container-1:/etc/opt/novell/eDirAPI/cert/SSCert3.pem

執行下列指令以重新啟動 OpenText Identity Console:

docker restart <identityconsole-container-name>

範例:

docker restart identityconsole-container-1

正在部署 OSP 容器

部署 OSP 容器需要執行的步驟如下:

  1. 登入軟體授權和下載入口網站,然後瀏覽至「軟體下載」頁面。

  2. 選取下列項目:

    • 產品:OpenText eDirectory

    • 產品名稱:OpenText eDirectory per User Sub SW E-LTU

    • 版本:9.2

    • OpenText Identity Console 獨立版

  3. 下載並擷取 IdentityConsole_<version>_Containers_tar.zip 檔案。

  4. 若要在 OSP 容器中安裝 OpenText Identity Console,需要金鑰儲存區 (tomcat.ks)。

    執行以下步驟來產生金鑰儲存區:

    1. 在 /opt/ 目錄中建立資料夾 certs。

    2. 執行下列指令來建立金鑰儲存庫 (tomcat.ks)。

      keytool -genkey -alias osp -keyalg RSA -storetype pkcs12 -keystore /opt/certs/tomcat.ks -validity 3650 -keysize 2048 -dname "CN=blr-osp48-demo.labs.blr.novell.com" -keypass novell -storepass novell

      附註:確保電腦的 IP 位址命名為 CN 名稱或完整主機名稱。例如:CN=xx.xx.xx.xx

    3. 執行下列指令來建立證書登記申請。例如:cert.csr。

      keytool -certreq -v -alias osp -file /opt/certs/cert.csr -keypass novell -keystore /opt/certs/tomcat.ks -storepass novell
    4. 將建立的 cert.csr 傳遞到 Identity Console,並按照上述取得 cert.der:

      1. 以管理員身份啟動 OpenText Identity Console。

      2. 按一下「證書管理」>「發出證書」> 選取檔案。

      3. 前往「金鑰用法規格」>「金鑰類型」以及選取「自訂」選項圓鈕。

      4. 按一下「金鑰用法」,然後選取下列核取方塊:

        • 資料加密

        • 金鑰加密

        • 數位簽名

      5. 按一下「證書參數」>「標題備用名稱」 >「OSP 伺服器 IP 位址」或「OSP 伺服器 DNS 名稱」>「下一步」>「確定」。

        隨即顯示「已成功產生證書」的訊息。

      6. 按一下「確定」。

      7. 下載發出的證書 cert.der,並將其複製到 /opt/certs/。

    5. 將 SSCert.der 從 OpenText eDirectory 複製到 /opt/certs

    6. 執行下列指令來匯入 CA 證書 (SSCert.der 和伺服器證書 (cert.der) 至 tomcat.ks KeyStore。

      keytool -import -trustcacerts -alias root -keystore /opt/certs/tomcat.ks -file /opt/certs/SSCert.der -storepass novell -noprompt
      keytool -import -alias osp -keystore /opt/certs/tomcat.ks -file /opt/certs/cert.der -storepass novell -noprompt
  5. 建立新資料夾 /data。

  6. 從 /opt/certs 複製 tomcat.ks,並貼上至 data 資料夾。

  7. 從擷取的 OpenText Identity Console 容器組建中,將 osp-edirapi-silent.properties 檔案複製到 data 資料夾中。

  8. 根據您的需求修改 osp edirapi silent 屬性檔案。以下顯示的是範例靜音屬性檔案:

    # Silent file for osp with edirapi
    ## Static contents Do not edit - starts 
    INSTALL_OSP=true
    DOCKER_CONTAINER=y
    EDIRAPI_PROMPT_NEEDED=y
    UA_PROMPT_NEEDED=n
    SSPR_PROMPT_NEEDED=n
    RPT_PROMPT_NEEDED=n
    CUSTOM_OSP_CERTIFICATE=y
    ## Static contents Do not edit - ends
    
    # OSP Details
    SSO_SERVER_HOST=osp.example.com (osp confiugred serevr IP address)
    SSO_SERVER_SSL_PORT=8543
    OSP_COMM_TOMCAT_KEYSTORE_FILE=/config/tomcat.ks
    OSP_COMM_TOMCAT_KEYSTORE_PWD=novell
    SSO_SERVICE_PWD=novell
    OSP_KEYSTORE_PWD=novell
    IDM_KEYSTORE_PWD=novell
    OSP_CUSTOM_NAME="Identity Console"
    USER_CONTAINER="o=novell"
    ADMIN_CONTAINER="o=novell"
    MASTER_KEYSTORE_PWD=novell
    
    # IDConsole Details 
    IDCONSOLE_HOST=192.168.1.1 (IdentityConsole confiugred serevr IP address)
    IDCONSOLE_PORT=9000
    EDIRAPI_TREENAME=ed913 (Tree name should be in lowercase)
    
    #If ENABLE_CUSTOM_CONTAINER_CREATION is set to y
    #ie., when you have user and admin container different from o=data
    #    and they need to be created in eDir
    #then CUSTOM_CONTAINER_LDIF_PATH should be entered as well
    ENABLE_CUSTOM_CONTAINER_CREATION=n
    #ENABLE_CUSTOM_CONTAINER_CREATION=y
    #CUSTOM_CONTAINER_LDIF_PATH=/config/custom-osp.ldif
    
    # eDir Details
    ID_VAULT_HOST=192.168.1.1 (eDir/ID_Vault confiugred serevr IP address)
    ID_VAULT_LDAPS_PORT=636
    ID_VAULT_ADMIN_LDAP="cn=admin,o=novell"
    ID_VAULT_PASSWORD=novell

    附註:若要在使用靜默屬性 (DOS 文字) 檔案時避免空間限制,您必須使用 dos2unix 工具,將 DOS 文字檔案轉換為 UNIX 格式。執行下列指令,將文字檔從 DOS 行尾轉換至 Unix 行尾:

    dos2unix filename

    例如:

    dos2unix samplefile

  9. 執行以下指令以載入 OSP 影像:

    docker load --input osp.tar.gz
  10. 使用以下指令部署容器:

    docker run -d --name OSP_Container --network=host -e SILENT_INSTALL_FILE=/config/osp-edirapi-silent.properties -v /data:/config osp:<version>

    例如:

    docker run -d --name OSP_Container --network=host -e SILENT_INSTALL_FILE=/config/osp-edirapi-silent.properties -v /data:/config osp:6.6.6 

    附註:部署 OSP 容器後,使用 OSP 伺服器詳細資料安裝和設定 OpenText Identity Console。

停止並將 OpenText Identity Console 重新啟動為 Docker 容器

若要停止,請執行以下指令:

docker stop identityconsole-container-name

若要重新啟動,請執行以下指令:

docker restart identityconsole-container-name

若要啟動,請執行以下指令:

docker start identityconsole-container-name

管理資料持續性

除了 OpenText Identity Console 容器以外,也會建立適用於資料持續性的磁碟區。若要使用舊容器 (使用磁碟區) 的組態參數,請執行下列步驟:

  1. 使用以下指令來停止目前的 Docker 容器:

    docker stop identityconsole-container-name

    範例:

    docker stop identityconsole-container-1
  2. 使用儲存在 Docker 磁碟區 (IDConsole-volume-1) 中舊容器的應用程式資料,來建立第二個容器。

    docker create --name identityconsole-container-name --network=host --volume IDConsole-volume-1:/config/ identityconsole:< version >

    範例:

    docker create --name identityconsole-container-2 --network=host --volume IDConsole-volume-1:/config/ identityconsole:<version>
  3. 使用以下指令啟動第二個容器:

    docker start identityconsole-container-name

    範例:

    docker start identityconsole-container-2
  4. (選用) 可以使用以下指令移除第一個容器:

    docker rm identityconsole-container-name

    範例:

    docker rm identityconsole-container-1

取代 Docker 容器中的伺服器證書

執行下列步驟,以在 Docker 容器中取代伺服器證書:

  1. 執行下列指令以在容器的任一位置中複製新的伺服器證書。

    範例:

    docker cp /path/to/new-keys.pfx <container_id/name>:/tmp/new-keys.pfx
  2. 使用下列指令以登入容器:

    docker exec -it container_name bash
  3. 執行 NLPCERT 以將金鑰儲存為虛擬使用者:

    LD_LIBRARY_PATH=/opt/novell/lib64/:/opt/novell/eDirectory/lib64/:/opt/netiq/common/openssl/lib64/ /opt/novell/eDirAPI/sbin/nlpcert -i /tmp/new-keys.pfx -o /etc/opt/novell/eDirAPI/conf/ssl/private/cert.pem 
  4. 使用指令以離開容器主控台:

    exit
  5. 透過輸入下列內容以重新啟動容器:

    docker restart container name

2.1.4 在 Azure Kubernetes Services 中安裝 OpenText Identity Console

Azure Kubernetes Service (AKS) 是受管理的 Kubernetes 服務,您可透過此服務安裝和管理叢集。本節包含以下程序︰

在 AKS 叢集中安裝 OpenText Identity Console

本節說明下列程序以在 AKS 叢集中安裝 OpenText Identity Console:

建立 Azure Container Registry (ACR)

Azure Container Registry (ACR) 是一個 Azure 的私人登錄,適用於 Docker 容器映像。

如需詳細步驟,請參閱「建立容器登錄 - 入口網站」中的使用 Azure 入口網站來建立 Azure 容器登錄,或執行下列步驟以建立 Azure Container Registry (ACR):

  1. 登入 Azure 入口網站。

  2. 前往「建立資源」>「容器」>「容器登錄」。

  3. 在「基本」索引標籤中,請指定「資源群組」和「登錄名稱」的值。 在 Azure 中,登錄名稱必須為唯一並包含最少 5 個和最大 50 個英數字元。

    接受其餘設定的預設值。

  4. 按一下「檢閱 + 建立」。

  5. 按一下「建立」。

  6. 登入 Azure CLI,執行以下指令以登入 Azure Container Registry。

    az acr login --name registryname

    範例:

    az acr login --name < idconsole >
  7. 使用指令來擷取 Azure Container Registry 的登入伺服器:

    az acr show --name registryname --query loginServer --output table

    範例:

    az acr show --name < idconsole > --query loginServer --output table
  8. 使用下列指令來使用 ACR 登入伺服器 (registryname.azureacr.io) 標記 OpenText Identity Console 的本地映像:

    docker tag idconsole-image <login server>/idconsole-image

    範例:

    docker tag identityconsole:<version> registryname.azurecr.io/identityconsole:<version>
  9. 將標記的映像推送至登錄。

    docker push <login server>/idconsole: <version>

    範例:

    docker push registryname.azurecr.io/identityconsole:<version>
  10. 使用指令來擷取登錄中映像清單:

    az acr show --name registryname --query loginServer --output table

設定 Kubernetes 叢集

使用 Azure 入口網站或 CLI 來建立 Kubernetes 服務資源。

如需使用節點在 Azure 中建立 Kubernetes 服務資源的詳細步驟,請參閱 Azure 快速入門中的建立 AKS 叢集。

附註:

  • 確保選取「Azure CNI」作為網路。

  • 選取現有的虛擬網路 (其中已在子網路中安裝 OpenText eDirectory 伺服器)。

  • 當 OpenText Identity Console 映像可用時,請選取現有的容器登錄。

建立標準 SKU 公用 IP 位址

Kubernetes 叢集資源群組下的公用 IP 位址資源會作為應用程式的負載平衡器 IP。

如需詳細步驟,請參閱建立公用 IP 位址 - 入口網站中的使用 Azure 入口網站建立公用 IP 位址。

設定 Cloud Shell 並連線至 Kubernetes 叢集

使用在 Azure 入口網站中適用於所有作業的 Cloud Shell。

若要在 Azure 入口網站中設定 Cloud Shell,請參閱 Bash – 快速入門中的啟動 Cloud Shell 一節,或執行下列步驟來設定 Cloud Shell 並連線至 Kubernetes 叢集:

  1. 在 Azure 入口網站,按一下打開 按鈕來開啟 Cloud Shell。

    附註:若要管理 Kubernetes 叢集,請使用 Kubernetes 指令列用戶端 kubectl。如果您使用 Azure Cloud Shell,則已安裝 kubectl。

  2. 使用下列指令,設定 kubectl 以連線至 Kubernetes 叢集:

    az aks get-credentials --resource-group "resource group name" --name "Kubernetes cluster name"

    範例:

    az aks get-credentials --resource-group myResourceGroup --name myAKSCluster
  3. 使用指令,驗證叢集節點的清單:

    kubectl get nodes

正在部署應用程式

若要安裝 OpenText Identity Console,您可使用 idc-services.yaml、idc-statefulset.yaml、idc-storageclass.yaml 和 idc-pvc.yaml 範例檔案。

您也可以根據需要建立自己的 yaml 檔案。

  1. 使用下列指令以建立儲存類別資源:

    kubectl apply -f <location of the YAML file>

    範例:

    kubectl apply -f idc-storageclass.yaml

    (選擇性) 如需如何使用 Azure 檔案共用來動態建立和使用持續性磁碟區,請參閱在 Azure Kubernetes Service (AKS) 中使用 Azure 檔案共用來動態建立和使用持續性磁碟區

    範例儲存類別資源檔案如下所示:

    kind: StorageClass
    apiVersion: storage.k8s.io/v1
    metadata:
      name: azurefilesc
    provisioner: kubernetes.io/azure-file
    mountOptions:
      - dir_mode=0777
      - file_mode=0777
      - uid=0
      - gid=0
      - mfsymlinks
      - cache=strict
      - actimeo=30
    parameters:
      skuName: Standard_LRS
      shareName: fileshare
    ~

    儲存類別資源可啟用動態儲存佈建。這是用來定義建立 Azure 檔案共用的方式。

  2. 使用下列指令以檢視儲存類別的詳細資料:

    kubectl get sc
  3. 使用 idc-pvc.yaml 檔案建立 pvc 資源:

    kubectl apply -f <location of the YAML file>

    範例:

    kubectl apply -f idc.pvc.yaml

    範例 pvc 資源檔案如下所示:

    apiVersion: v1
    kind: PersistentVolumeClaim
    metadata:
      name: pvcforsc
    spec:
      accessModes:
        - ReadWriteMany
      storageClassName: azurefilesc
      resources:
        requests:
          storage: 5Gi

    持續性磁碟區宣告資源會建立檔案共用。持續性磁碟區宣告 (PVC) 使用儲存類別物件來動態佈建 Azure 檔案共用。

  4. 將 edirapi.conf、CA 證書和伺服器證書上傳到 Cloud Shell。

    按一下 Cloud Shell 上的「上傳/下載檔案」 按鈕圖示 並上傳 edirapi.conf、SSCert.pem 和 keys.pfx 檔案。

    附註:edirapi.conf 有參數「origin」。我們必須在這裡提供 IP 位址,在存取 OpenText Identity Console 應用程式時會用到此 IP 位址。(使用 建立標準 SKU 公用 IP 位址 一節中建立的 IP 位址。)

    OpenText Identity Console 安裝需要伺服器證書 (keys.pfx)。

    建立伺服器證書時,請確保在標題備用名稱中提供有效 DNS 名稱。

    建立有效 DNS 名稱的步驟:

    使用 StatefulSet 部署的一般 Pod 有 DNS 名稱,如下所示 - {statefulsetname}-{ordinal}。{servicename}。{namespace}.svc.cluster.local

    • 如果 idconsole-statefulset.yaml 檔案中的 StatefulSet 名稱為 idconsole-app,則 statefulsetname = idconsole-app

    • 若是第一個 Pod,則 ordinal = 0

    • 如果將 idconsole -statefulset.yaml 檔案中的 serviceName 定義為 idconsole,則 serviceName = idconsole

    • 若是預設命名空間,則 namespace=default

    輸出:idconsole-app-0.idcosole.default.svc.cluster.local

  5. 在 Kubernetes 叢集中建立 configmap 資源,以儲存組態檔案和證書。

    在執行指令之前,請確保目錄中有檔案 (edirapi.conf、SSCert.pem 和 keys.pfx)。

    kubectl create configmap <confgimapName> --from-file= "path where the files are present"

    範例:

    kubectl create configmap config-data --from-file=/data
  6. 使用 kubectl 說明指令以檢視 configmap 物件的詳細資料:

    kubectl describe configmap <configmapName>

    範例:

    kubectl describe configmap confg-data
  7. 建立 StatefulSet 資源以部署容器。

    執行下方指令以部署容器:

    kubectl apply -f <location of the YAML file>

    範例:

    kubectl apply -f idc-statefulset.yaml

    範例 StatefulSet 資源檔案如下所示:

    apiVersion: apps/v1
    kind: StatefulSet
    metadata:
      name: idconsole-app
    spec:
      serviceName: idconsole
      selector:
        matchLabels:
          app: idconsole
      replicas: 1
      template:
        metadata:
          labels:
            app: idconsole
        spec:
          containers:
          - name: idconsole-container
            image: registryname.azurecr.io/identityconsole:<version>
            env:
            - name: ACCEPT_EULA
              value: "Y"
            ports:
            - containerPort: 9000
            volumeMounts:
              - name: configfiles
                mountPath: /config/data
              - name: datapersistenceandlog
                mountPath: /config
                subPath: log
          volumes:
            - name: configfiles
              configMap:
                name: config-data
            - name: datapersistenceandlog
              persistentVolumeClaim:
                claimName: pvcforsc
  8. 執行下列指令以驗證已部署 pod 的狀態:

    kubectl get pods -o wide
  9. 建立 loadBalancer 類型的服務資源。

    yaml 檔案中指定的服務類型為 loadBalancer。

    使用下方指令以建立服務資源:

    kubectl apply -f <location of the YAML file>

    範例:

    kubectl apply -f ids-service.yaml

    範例服務資源檔案如下所示:

    apiVersion: v1
    kind: Service
    metadata:
      name: idconsole-service
      labels:
        run: idconsole-service
    spec:
      type: LoadBalancer
      loadBalancerIP: xx.xx.xx.xx
      selector:
        app: idconsole
      ports:
       - port: 9000
         targetPort: 9000
         protocol: TCP

    使用下方指令以檢查 EXTERNAL-IP 位址 (或 loadBalancerIP):

    kubectl get svc -o wide
  10. 使用 EXTERNAL-IP (或 loadBalancerIP 位址) 啟動 URL。

    範例:

    https://<EXTERNAL-IP>:9000/identityconsole