18.7 在分散式伺服器上部署容器

18.7.1 設定覆蓋網路

NetIQ 建議您使用覆蓋網路或橋接網路模式在分散式設定中部署所有 Identity Manager 容器。本指南中所述的方案特定於覆蓋網路中的容器部署。但是,您也可以使用橋接網路來部署容器。在以下分散式伺服器方案中,Identity Manager 引擎、PostgreSQL、OSP 和 SSPR 容器將部署在 Docker 主機 A 上。遠端載入器、擴送代理程式、Identity Applications、ActiveMQ、表單渲染器和 Identity Reporting 容器將部署在 Docker 主機 B 上。

下圖演示了部署在覆蓋網路中兩部 Docker 主機上的 Identity Manager 容器。

附註:由於不再支援叢集儲存,我們可以使用 Docker swarm 來設定覆蓋網路。若要詳細瞭解棄用了哪些功能,請查看「cluster store」(叢集儲存)。

圖 18-1 覆蓋網路中的容器部署架構

設定重疊網路需要執行的步驟如下:

  1. 在 Docker 主機 A 上執行以下指令:

    docker swarm init
  2. 記下依據步驟 1 的輸出產生的 join 指令,然後在 Docker 主機 B 上執行此 join 指令,以便在這兩部主機之間建立 swarm 網路。

    例如:

    docker swarm join --token SWMTKN-1-24vozonapa4anwszd3ykthgomo84e9y3p3vbcrtibz6jzo94k2-148g7yrnepmz963x3z5udnae4 10.71.142.191:2377

    附註:如果您前面來不及記下用於連接工作節點的指令,請執行以下指令來取得該 join 指令:

    docker swarm join-token worker
  3. 執行以下指令來檢查所有主機的狀態:

    docker node ls
  4. 使用以下指令在 Docker 主機 B 上建立覆蓋網路:

    docker network create --driver overlay --subnet=<subnet-cidr> --gateway=<gateway-ip> --attachable <network-name>

    例如:

    docker network create --driver overlay --subnet=192.168.0.0/24 --gateway=192.168.0.1 --attachable idmoverlaynetwork

  5. 執行以下指令來驗證是否已建立覆蓋網路:

    docker network ls

附註:由於 swarm 會動態指定 IP,因此在容器部署期間,請確定 swarm 負載平衡器使用尚未由任何 Identity Manager 元件佔用的新 IP 位址,否則您可能會遇到以下錯誤:

來自精靈的錯誤回應:掛接網路失敗,請確定您的網路選項正確,並檢查管理員記錄:已超過網路位置期限

執行以下指令來檢查 swarm 負載平衡器的 IP:

docker inspect idmoverlaynetwork | grep lb-idmoverlaynetwork -A 7

18.7.2 先決條件

  • 對於 Docker 部署中的所有 Docker 主機,必須使用主機上執行的所有容器的詳細資料來更新該主機的 /etc/hosts 檔案。確定所有容器的主機名稱僅採用完全合格的網域名稱 (FQDN) 格式。

    所有元件的主機檔案項目可採用以下格式:

    <容器的 IP> <FQDN> <簡短名稱>

    在本指南使用的範例部署中,於 /etc/hosts 檔案中新增以下項目:

    192.168.0.12     identityengine.example.com       identityengine
    192.168.0.2     remoteloader.example.com         remoteloader
    192.168.0.3     fanoutagent.example.com          fanoutagent
    192.168.0.5     osp.example.com                  osp
    192.168.0.6     postgresql.example.com           postgresql
    192.168.0.7     identityapps.example.com         identityapps
    192.168.0.8     formrenderer.example.com         formrenderer
    192.168.0.9     activemq.example.com             activemq
    192.168.0.10    identityreporting.example.com    identityreporting   
    192.168.0.11    sspr.example.com                 sspr
  • 確定協力廠商 jar 檔案為已掛接的磁碟區,這樣每次啟動容器時這些檔案才可用。例如,如果容器的 /opt/netiq/idm/apps/tomcat/lib 目錄中存在 ojdbc.jar,則您必須使用如下範例指令對 jar 檔案進行磁碟區掛接操作:

    -v /host/ojdbc.jar:/opt/netiq/idm/apps/tomcat/lib/ojdbc.jar

  • 必須在部署容器之前產生靜默內容檔案。如需產生靜默內容檔案的詳細資訊,請參閱建立靜默內容檔案。

18.7.3 公開容器存取的連接埠

做為先決條件,您必須知道要用於容器的連接埠。您必須公開所需的連接埠,並將容器連接埠對應至 Docker 主機上的連接埠。下表依據指南中的範例提供了您必須在 Docker 主機上公開的連接埠資訊。

表 18-2 根據範例部署公開的預設連接埠

容器

假定根據範例部署使用的預設連接埠

遠端載入器

8090

擴送代理程式

不適用

OSP

8543

Identity Applications

18543

Identity Reporting

28543

表單轉譯器

8600

ActiveMQ

  • 8161

  • 61616

PostgreSQL

5432

SSPR

8443

附註:SSRP 容器僅可在 8443 連接埠上執行。

不過,您可以依據自己的需要自訂連接埠。在公開連接埠時,請遵循以下注意事項:

  • 確定您要公開的並非使用中的連接埠。

  • 必須將容器連接埠對應至 Docker 主機上的相同連接埠。例如,必須將容器上的 8543 連接埠對應至 Docker 主機上的 8543 連接埠。

必須依以下順序部署容器:

18.7.4 部署 Identity Manager 引擎容器

  1. 產生靜默內容檔案。如需詳細資訊,請參閱建立靜默內容檔案。

  2. 在解壓縮 Identity_Manager_4.9.0_Containers.tar.gz 檔案的位置,導覽至 Identity_Manager_4.9.0_Containers 目錄。

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

    docker load --input IDM_490_identityengine.tar.gz

  4. 使用以下指令部署容器:

    docker run --restart unless-stopped -d --ip=192.168.0.12 --network=idmoverlaynetwork --hostname=identityengine.example.com --name=engine-container -v /etc/hosts:/etc/hosts -v /data:/config -p 8028:8028 -p 524:524 -p 389:389 -p 8030:8030 -p 636:636 -e SILENT_INSTALL_FILE=/config/silent.properties --stop-timeout 100 identityengine:idm-4.9.0-580
  5. 若要驗證是否已成功部署容器,請執行以下指令來檢查記錄檔案:

    tail -f /data/idm/log/idmconfigure.log
  6. 若要登入容器,請執行以下指令:

    docker exec -it <容器> <指令>

    例如:

    docker exec -it engine-container bash

附註:若要執行 ndstrace 或 ndsrepair 等 Identity Vault 公用程式,請以非 root 使用者 nds 的身分登入容器。如果您以 root 使用者身分登入,則無法執行這些公用程式。若要以 nds 使用者身分登入容器,請執行 docker exec -it engine-container sudo nds 指令。

18.7.5 部署遠端載入器容器

  1. 在解壓縮 Identity_Manager_4.9.0_Containers.tar.gz 檔案的位置,導覽至 Identity_Manager_4.9.0_Containers 目錄。

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

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

    docker run -d --ip=192.168.0.2 --network=idmoverlaynetwork --hostname=remoteloader.example.com -p 8090:8090 --name=rl-container -v /etc/hosts:/etc/hosts -v /data:/config remoteloader:idm-4.9.0-580

    此指令會部署 64 位元和 32 位元版本的遠端載入器。容器的 /opt/novell/eDirectory/lib/dirxml/classes/ 目錄中提供了驅動程式檔案。

  4. (視情況而定) 如果您不想在部署容器時使用組態檔案,請使用以下指令部署容器:

    docker run --restart unless-stopped -d --ip=192.168.0.2 --network=idmoverlaynetwork --hostname=remoteloader.example.com -p 8090:8090 --name=rl-container -v /etc/hosts:/etc/hosts -v /data:/config --stop-timeout 100 remoteloader:idm-4.9.0-580
  5. 若要登入容器,請執行以下指令:

    docker exec -it <容器> <指令>

    例如:

    docker exec -it rl-container bash

  6. 設定遠端載入器。如需詳細資訊,請參閱《NetIQ Identity Manager Driver Administration Guide》(NetIQ Identity Manager 驅動程式管理指南) 中的「Configuring the Remote Loader and Drivers」(設定遠端載入器和驅動程式)。

18.7.6 部署擴送代理程式容器

  1. 在解壓縮 Identity_Manager_4.9.0_Containers.tar.gz 檔案的位置,導覽至 Identity_Manager_4.9.0_Containers 目錄。

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

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

    docker run --restart unless-stopped -d --ip=192.168.0.3 --network=idmoverlaynetwork --hostname=fanoutagent.example.com --name=foa-container -v /etc/hosts:/etc/hosts -v /data:/config --stop-timeout 100 fanoutagent:idm-4.9.0-580
  4. 若要登入容器,請執行以下指令:

    docker exec -it <容器> <指令>

    例如:

    docker exec -it foa-container bash

  5. 設定擴送代理程式。如需詳細資訊,請參閱《NetIQ Identity Manager Driver for JDBC Fanout Implementation Guide》(NetIQ Identity Manager Driver for JDBC Fanout 實作指南) 中的「Configuring the Fanout Agent」(設定擴送代理程式)。

18.7.7 透過 Identity Vault 證書管理中心產生證書

(視情況而定) 僅當您使用 Identity Vault 做為證書管理中心時,本節內容才適用。

下列元件需要您先產生證書才能部署。在為以下元件產生證書之前,請務必先部署 Identity Manager 引擎容器。

產生 OSP 的證書

產生證書需要執行的步驟如下:

  1. 確定安裝的 Java 是 Azul Zulu 1.8.0_392 或更新版本。

  2. 確定在 Docker 主機中設定 Java 路徑。例如,執行以下指令:

    export PATH=<java installed location>/bin:$PATH

    例如:

    export PATH=/opt/netiq/common/jre/bin/:$PATH

  3. 產生 PKCS 金鑰儲存區:

    keytool -genkey -alias osp -keyalg RSA -storetype pkcs12 -keystore /data/tomcat-osp.ks -validity 3650 -keysize 2048 -dname "CN=osp.example.com" -keypass <password> -storepass <password>
  4. 產生證書簽署申請:

    keytool -certreq -v -alias osp -file /config/osp.csr -keypass <password> -keystore /config/tomcat-osp.ks -storepass <password>
  5. 產生自行簽署的證書:

    1. 啟動 Identity Console 並登入。

    2. 導覽至證書管理 > 核發證書。

    3. 瀏覽至在步驟 3 中建立的 .csr 檔案。例如 osp.csr。

    4. 按一下「開啟」。

    5. 在金鑰使用規範下拉式清單中指定金鑰類型。

    6. 在延伸金鑰使用規格下拉式清單中指定延伸金鑰類型。

    7. 對於證書類型,請在基本約束下拉式清單中選取未指定。

    8. 在證書參數下拉式清單中指定證書的有效期。

    9. 在證書格式下拉式清單中選取 二進位 DER 格式的檔案。

    10. 按一下「下一步」。

    11. 按一下確定。

    12. 下載證書並將其複製到 /data 目錄。

  6. 輸出 .der 格式的根證書:

    1. 啟動 Identity Console 並登入。

    2. 導覽至證書管理 > 伺服器證書管理。

    3. 選取 SSL 證書 DNS 核取方塊並按一下輸出。

    4. 在證書下拉式清單中選取「組織 CA」。

    5. 在輸出格式下拉式清單中選取 DER。

    6. 按一下確定。

    7. 下載證書並將其複製到 /data 目錄。

  7. 將證書輸入至您在步驟 2 中建立的 PKCS 金鑰儲存區中:

    keytool -import -trustcacerts -alias root -keystore /config/tomcat-osp.ks -file /config/cert.der -storepass <password> -noprompt

    keytool -import -alias osp -keystore /config/tomcat-osp.ks -file /config/osp.der -storepass <password> -noprompt

附註:請確定指定為部署輸入的路徑中有金鑰儲存區。

產生 Identity Applications 的證書

產生證書需要執行的步驟如下:

  1. 確定安裝的 Java 是 Azul Zulu 1.8.0_392 或更新版本。

  2. 請務必設定 Java 路徑。例如,執行以下指令:

    export PATH=<java installed location>/bin:$PATH

    例如:

    export PATH=/opt/netiq/common/jre/bin/:$PATH

  3. 產生 PKCS 金鑰儲存區:

    keytool -genkey -alias ua -keyalg RSA -storetype pkcs12 -keystore /config/tomcat-ua.ks -validity 3650 -keysize 2048 -dname "CN=identityapps.example.com" -keypass <password> -storepass <password>
  4. 產生證書簽署申請:

    keytool -certreq -v -alias ua -file /config/ua.csr -keypass <password> -keystore /config/tomcat-ua.ks -storepass <password>
  5. 產生自行簽署的證書:

    1. 啟動 Identity Console 並登入。

    2. 導覽至證書管理 > 核發證書。

    3. 瀏覽至在步驟 3 中建立的 .csr 檔案。例如 ua.csr。

    4. 按一下「開啟」。

    5. 在金鑰使用規範下拉式清單中指定金鑰類型。

    6. 在延伸金鑰使用規格下拉式清單中指定延伸金鑰類型。

    7. 對於證書類型,請在基本約束下拉式清單中選取未指定。

    8. 在證書參數下拉式清單中指定證書的有效期。

    9. 在證書格式下拉式清單中選取 二進位 DER 格式的檔案。

    10. 按一下「下一步」。

    11. 按一下確定。

    12. 下載證書並將其複製到 /data 目錄。

  6. 輸出 .der 格式的根證書:

    1. 啟動 Identity Console 並登入。

    2. 導覽至證書管理 > 伺服器證書管理。

    3. 選取 SSL 證書 DNS 核取方塊並按一下輸出。

    4. 在證書下拉式清單中選取「組織 CA」。

    5. 在輸出格式下拉式清單中選取 DER。

    6. 按一下確定。

    7. 下載證書並將其複製到 /data 目錄。

  7. 將證書輸入至步驟 2 中的 PKCS 金鑰儲存區:

    keytool -import -trustcacerts -alias root -keystore /config/tomcat-ua.ks -file /config/cert.der -storepass <password> -noprompt

    keytool -import -alias ua -keystore /config/tomcat-ua.ks -file /config/ua.der -storepass <password> -noprompt

附註:請確定指定為部署輸入的路徑中有證書。

產生 Identity Reporting 的證書

產生證書需要執行的步驟如下:

  1. 確定安裝的 Java 是 Azul Zulu 1.8.0_392 或更新版本。

  2. 請務必設定 Java 路徑。例如,執行以下指令:

    export PATH=<java installed location>/bin:$PATH

    例如:

    export PATH=/opt/netiq/common/jre/bin/:$PATH

  3. 產生 PKCS 金鑰儲存區:

    keytool -genkey -alias rpt -keyalg RSA -storetype pkcs12 -keystore /config/tomcat-rpt.ks -validity 3650 -keysize 2048 -dname "CN=identityreporting.example.com" -keypass <password> -storepass <password>
  4. 產生證書簽署申請:

    keytool -certreq -v -alias rpt -file /config/rpt.csr -keypass <password> -keystore /config/tomcat-rpt.ks -storepass <password>
  5. 產生自行簽署的證書:

    1. 啟動 Identity Console 並登入。

    2. 導覽至證書管理 > 核發證書。

    3. 瀏覽至在步驟 3 中建立的 .csr 檔案。例如 rpt.csr。

    4. 按一下「開啟」。

    5. 在金鑰使用規範下拉式清單中指定金鑰類型。

    6. 在延伸金鑰使用規格下拉式清單中指定延伸金鑰類型。

    7. 對於證書類型,請在基本約束下拉式清單中選取未指定。

    8. 在證書參數下拉式清單中指定證書的有效期。

    9. 在證書格式下拉式清單中選取 二進位 DER 格式的檔案。

    10. 按一下「下一步」。

    11. 按一下確定。

    12. 下載證書並將其複製到 /data 目錄。

  6. 輸出 .der 格式的根證書:

    1. 啟動 Identity Console 並登入。

    2. 導覽至證書管理 > 伺服器證書管理。

    3. 選取 SSL 證書 DNS 核取方塊並按一下輸出。

    4. 在證書下拉式清單中選取「組織 CA」。

    5. 在輸出格式下拉式清單中選取 DER。

    6. 按一下確定。

    7. 下載證書並將其複製到 /data 目錄。

  7. 將證書輸入至您在步驟 2 中建立的 PKCS 金鑰儲存區中:

    keytool -import -trustcacerts -alias root -keystore /config/tomcat-rpt.ks -file /config/cert.der -storepass <password> -noprompt

    keytool -import -alias rpt -keystore /config/tomcat-rpt.ks -file /config/rpt.der -storepass <password> -noprompt

附註:請確定指定為部署輸入的路徑中有證書。

18.7.8 部署 OSP 容器

附註:在部署 OSP 容器之前,請務必產生所需的證書。如需詳細資訊,請參閱產生 OSP 的證書。

  1. 產生靜默內容檔案。如需詳細資訊,請參閱建立靜默內容檔案。

  2. 在解壓縮 Identity_Manager_4.9.0_Containers.tar.gz 檔案的位置,導覽至 Identity_Manager_4.9.0_Containers 目錄。

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

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

    docker run --restart unless-stopped -d --ip=192.168.0.5 --network=idmoverlaynetwork --hostname=osp.example.com -p 8543:8543 --name=osp-container -v /etc/hosts:/etc/hosts -v /data:/config -e SILENT_INSTALL_FILE=/config/silent.properties --stop-timeout 100 osp:idm-4.9.0-580
  5. 若要驗證是否已成功部署容器,請執行以下指令來檢查記錄檔案:

    tail -f /data/osp/log/idmconfigure.log
  6. 若要登入容器,請執行以下指令:

    docker exec -it <容器> <指令>

    例如:

    docker exec -it osp-container bash

18.7.9 部署 PostgreSQL 容器

  1. 在解壓縮 Identity_Manager_4.9.0_Containers.tar.gz 檔案的位置,導覽至 Identity_Manager_4.9.0_Containers 目錄。

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

    docker load --input IDM_490_postgres.tar.gz
  3. 在共用磁碟區 data 下建立一個子目錄,例如 postgres。

    mkdir postgres

  4. 使用以下範例指令部署容器:

    docker run --restart unless-stopped -d --ip=192.168.0.6 --network=idmoverlaynetwork --hostname=postgresql.example.com --name=postgresql-container -p 5432:5432 -e POSTGRES_PASSWORD=<password> -v /data/postgres:/var/lib/postgresql/data -v /etc/hosts:/etc/hosts -v /data:/config --stop-timeout 100 postgres:12.18

    例如:

    docker run --restart unless-stopped -d --ip=192.168.0.6 --network=idmoverlaynetwork --hostname=postgresql.example.com --name=postgresql-container -p 5432:5432 -e POSTGRES_PASSWORD=novell -v /data/postgres:/var/lib/postgresql/data -v /etc/hosts:/etc/hosts -v /data:/config --stop-timeout 100 postgres:12.18

  5. 建立 Identity Applications 的 idmdamin 使用者。

    docker exec -it postgresql-container psql -U postgres -c "CREATE USER idmadmin WITH ENCRYPTED PASSWORD '<password>'" 
  6. 建立 Identity Applications、工作流程和 Identity Reporting 資料庫。

    docker exec -it postgresql-container psql -U postgres -c "CREATE DATABASE idmuserappdb"

    docker exec -it postgresql-container psql -U postgres -c "CREATE DATABASE igaworkflowdb"

    docker exec -it postgresql-container psql -U postgres -c "CREATE DATABASE idmrptdb"

    附註:當您設定 Identity Applications 和 Identity Reporting 容器時,會用到這些資料庫。

  7. 為 idmadmin 使用者授予對資料庫的所有特權:

    docker exec -it postgresql-container psql -U postgres -c "GRANT ALL PRIVILEGES ON DATABASE idmuserappdb TO idmadmin"

    docker exec -it postgresql-container psql -U postgres -c "GRANT ALL PRIVILEGES ON DATABASE igaworkflowdb TO idmadmin"

  8. 若要登入容器,請執行以下指令:

    docker exec -it <容器> <指令>

    例如:

    docker exec -it postgresql-container bash

18.7.10 部署 Identity Applications 容器

附註:在部署 Identity Applications 容器之前,請務必產生所需的證書。如需詳細資訊,請參閱產生 Identity Applications 的證書。

  1. 產生靜默內容檔案。如需詳細資訊,請參閱建立靜默內容檔案。

    附註:將應用程式伺服器連接埠的值指定為公開的連接埠 18543。

  2. 在解壓縮 Identity_Manager_4.9.0_Containers.tar.gz 檔案的位置,導覽至 Identity_Manager_4.9.0_Containers 目錄。

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

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

    docker run --restart unless-stopped -d --ip=192.168.0.7 --network=idmoverlaynetwork --hostname=identityapps.example.com -p 18543:18543 --name=idapps-container -v /etc/hosts:/etc/hosts -v /data:/config -e SILENT_INSTALL_FILE=/config/silent.properties --stop-timeout 100 identityapplication:idm-4.9.0-580
  5. 若要驗證是否已成功部署容器,請執行以下指令來檢查記錄檔案:

    tail -f /data/userapp/log/idmconfigure.log

  6. 若要登入容器,請執行以下指令:

    docker exec -it <容器> <指令>

    例如:

    docker exec -it idapps-container bash

  7. 執行以下指令:

    附註:在執行此步驟之前,請確定容器已成功部署。

    /opt/netiq/common/jre/bin/keytool -importkeystore -srckeystore /config/tomcat-osp.ks -srcstorepass <password> -destkeystore /opt/netiq/idm/apps/tomcat/conf/idm.jks -deststorepass <password>
  8. 輸入 yes 以覆寫 root 別名的項目。

  9. 重新啟動 Identity Applications 容器。

    docker restart idapps-container

附註:若要在組態更新公用程式中修改任何設定,請從 Identity Applications 容器的 /opt/netiq/idm/apps/configupdate/ 目錄啟動 configupdate.sh。只能在主控台模式下啟動組態更新公用程式。

18.7.11 部署表單轉譯器容器

  1. 產生靜默內容檔案。如需詳細資訊,請參閱建立靜默內容檔案。

  2. 在解壓縮 Identity_Manager_4.9.0_Containers.tar.gz 檔案的位置,導覽至 Identity_Manager_4.9.0_Containers 目錄。

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

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

    docker run --restart unless-stopped -d --ip=192.168.0.8 --network=idmoverlaynetwork --hostname=formrenderer.example.com -p 8600:8600 --name=fr-container -v /etc/hosts:/etc/hosts -v /data:/config -e SILENT_INSTALL_FILE=/config/silent.properties --stop-timeout 100 formrenderer:idm-4.9.0-580
  5. 若要登入容器,請執行以下指令:

    docker exec -it <容器> <指令>

    例如:

    docker exec -it fr-container bash

18.7.12 部署 ActiveMQ 容器

  1. 產生靜默內容檔案。如需詳細資訊,請參閱建立靜默內容檔案。

  2. 在解壓縮 Identity_Manager_4.9.0_Containers.tar.gz 檔案的位置,導覽至 Identity_Manager_4.9.0_Containers 目錄。

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

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

    docker run --restart unless-stopped -d --ip=192.168.0.9 --network=idmoverlaynetwork --hostname=activemq.example.com -p 61616:61616 --name=amq-container -v /etc/hosts:/etc/hosts -v /data:/config --env-file /data/silent.properties --stop-timeout 100 activemq:idm-4.9.0-580
  5. 若要登入容器,請執行以下指令:

    docker exec -it <容器> <指令>

    例如:

    docker exec -it amq-container bash

  6. 設定 ActiveMQ。如需詳細資訊,請參閱《NetIQ Identity Manager Driver for JDBC Fanout Implementation Guide》(NetIQ Identity Manager Driver for JDBC Fanout 實作指南) 中的「Setting Up ActiveMQ Startup Service 」(設定 ActiveMQ 啟動服務)。

18.7.13 部署 Identity Reporting 容器

附註:在部署 Identity Reporting 容器之前,請務必產生所需的證書。如需詳細資訊,請參閱產生 Identity Reporting 的證書。

  1. 產生靜默內容檔案。如需詳細資訊,請參閱建立靜默內容檔案。

    附註:將應用程式伺服器連接埠的值指定為公開的連接埠 28543。

  2. 在解壓縮 Identity_Manager_4.9.0_Containers.tar.gz 檔案的位置,導覽至 Identity_Manager_4.9_Containers 目錄。

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

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

    docker run --restart unless-stopped -d --ip=192.168.0.10 --network=idmoverlaynetwork --hostname=identityreporting.example.com -p 28543:28543 --name=rpt-container -v /etc/hosts:/etc/hosts -v /data:/config -e SILENT_INSTALL_FILE=/config/silent.properties --stop-timeout 100 identityreporting:idm-4.9.0-580
  5. 若要驗證是否已成功部署容器,請執行以下指令來檢查記錄檔案:

    tail -f /data/reporting/log/idmconfigure.log
  6. 若要登入容器,請執行以下指令:

    docker exec -it <容器> <指令>

    例如:

    docker exec -it rpt-container bash

  7. 執行以下指令:

    附註:在執行此步驟之前,請確定容器已成功部署。

    /opt/netiq/common/jre/bin/keytool -importkeystore -srckeystore /config/tomcat-osp.ks -srcstorepass <password> -destkeystore /opt/netiq/idm/apps/tomcat/conf/idm.jks -deststorepass <password>
  8. 輸入 yes 以覆寫 root 別名的項目。

  9. 重新啟動 Identity Reporting 容器。

    docker restart rpt-container

18.7.14 部署 SSPR 容器

部署 SSPR 容器需要執行的任務如下:

  1. 產生 SSPR 的靜默內容檔案。在產生靜默內容檔案時選取 Identity Applications。如需詳細資訊,請參閱建立靜默內容檔案。

  2. 在共用磁碟區 data 下建立一個子目錄,例如 sspr。

    mkdir sspr

  3. 在解壓縮 Identity_Manager_4.9.0_Containers.tar.gz 檔案的位置,導覽至 Identity_Manager_4.9.0_Containers 目錄。

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

    docker load --input IDM_490_sspr.tar.gz
  5. 使用以下範例指令部署容器:

    docker run --restart unless-stopped -d --ip=192.168.0.11 --network=idmoverlaynetwork --hostname=sspr.example.com --name=sspr-container -v /etc/hosts:/etc/hosts -v /data/sspr:/config -p 8443:8443 --stop-timeout 100 sspr/sspr-webapp:4.7.0.1-580
  6. 在 Docker 主機上執行以下指令,以將 Docker 主機中的 silent.properties 檔案複製到 SSPR 容器:

    docker cp /data/silent.properties sspr-container:/tmp
  7. 將靜默內容檔案載入到 SSPR 容器。

    docker exec -it sspr-container /app/command.sh ImportPropertyConfig /tmp/silent.properties

    附註:檢查是否在 SSPR 容器的 /config 目錄下建立了 SSPRConfiguration.xml,並驗證該檔案的內容。

  8. 將 OAuth 證書輸入至 SSPR 中:

    1. 在 Docker 主機上編輯 /data/sspr 目錄中的 SSPRConfiguration.xml 檔案,將 configIsEditable 旗標的值設定為 true 並儲存變更。

    2. 啟動瀏覽器並輸入 https://sspr.example.com:8443/sspr URL。

    3. 使用管理員身分證明 (例如 uaadmin) 登入。

    4. 按一下右上角的使用者 (例如 uaadmin),然後按一下組態編輯器。

    5. 指定組態密碼,然後按一下登入。

    6. 按一下設定 > 單一登入 (SSO) 用戶端 > OAuth,確定所有 URL 都使用 HTTPS 通訊協定和正確的連接埠。

    7. 在 OAuth 伺服器證書下,按一下從伺服器輸入以輸入新證書,然後按一下確定。

    8. 按一下右上角的 以儲存證書。

    9. 檢視變更並按一下確定。

    10. SSPR 應用程式重新啟動之後,編輯 SSPRConfiguration.xml 檔案,將 configIsEditable 旗標的值設定為 true 並儲存變更。

18.7.15 部署 Identity Console 容器

如需部署 Identity Console 容器的詳細資訊,請參閱 Deploying Identity Console as Docker Container (將 Identity Console 部署為 Docker 容器)。