此範例使用主機網路模式將所有 Identity Manager 容器部署在單個 Docker 主機上。
確定主機名稱採用如下所示的 FQDN 格式:
<主機 IP> <FQDN> <簡短名稱>
例如:
172.120.0.1 identitymanager.example.com identitymanager
必須在部署容器之前產生靜默內容檔案。如需產生靜默內容檔案的詳細資訊,請參閱建立靜默內容檔案。
必須依以下順序部署容器:
產生靜默內容檔案。如需詳細資訊,請參閱建立靜默內容檔案。
在解壓縮 Identity_Manager_4.9.0_Containers.tar.gz 檔案的位置,導覽至 Identity_Manager_4.9.0_Containers 目錄。
執行以下指令以載入影像:
docker load --input IDM_490_identityengine.tar.gz
使用以下指令部署容器:
docker run --restart unless-stopped -d --network=host --name=engine-container -v /data:/config -e SILENT_INSTALL_FILE=/config/silent.properties --stop-timeout 100 identityengine:idm-4.9.0-580
若要驗證是否已成功部署容器,請執行以下指令來檢查記錄檔案:
tail -f /data/idm/log/idmconfigure.log
若要登入容器,請執行以下指令:
docker exec -it <容器> <指令>
例如:
docker exec -it engine-container bash
附註:若要執行 ndstrace 或 ndsrepair 等 Identity Vault 公用程式,請以非 root 使用者 nds 的身分登入容器。如果您以 root 使用者身分登入,則無法執行這些公用程式。若要以 nds 使用者身分登入容器,請執行 docker exec -it engine-container sudo nds 指令。
在解壓縮 Identity_Manager_4.9.0_Containers.tar.gz 檔案的位置,導覽至 Identity_Manager_4.9.0_Containers 目錄。
執行以下指令以載入影像:
docker load --input IDM_490_remoteloader.tar.gz
使用以下指令部署容器:
docker run -d --network=host --name=rl-container -v /data:/config remoteloader:idm-4.9.0-580
此指令會部署 64 位元和 32 位元版本的遠端載入器。容器的 /opt/novell/eDirectory/lib/dirxml/classes/ 目錄中提供了驅動程式檔案。
(視情況而定) 如果您不想在部署容器時使用組態檔案,請使用以下指令部署容器:
docker run --restart unless-stopped -d --network=host --name=rl-container -v /data:/config --stop-timeout 100 remoteloader:idm-4.9.0-580
若要登入容器,請執行以下指令:
docker exec -it <容器> <指令>
例如:
docker exec -it rl-container bash
設定遠端載入器。如需詳細資訊,請參閱《NetIQ Identity Manager Driver Administration Guide》(NetIQ Identity Manager 驅動程式管理指南) 中的「Configuring the Remote Loader and Drivers」(設定遠端載入器和驅動程式)。
確定組態檔案在共用磁碟區中可用。
在解壓縮 Identity_Manager_4.9.0_Containers.tar.gz 檔案的位置,導覽至 Identity_Manager_4.9.0_Containers 目錄。
執行以下指令以載入影像:
docker load --input IDM_490_fanoutagent.tar.gz
使用以下指令部署容器:
docker run --restart unless-stopped -d --network=host --name=foa-container -v /data:/config --stop-timeout 100 fanoutagent:idm-4.9.0-580
若要登入容器,請執行以下指令:
docker exec -it <容器> <指令>
例如:
docker exec -it foa-container bash
設定擴送代理程式。如需詳細資訊,請參閱《NetIQ Identity Manager Driver for JDBC Fanout Implementation Guide》(NetIQ Identity Manager Driver for JDBC Fanout 實作指南) 中的「Configuring the Fanout Agent」(設定擴送代理程式)。
(視情況而定) 僅當您使用 Identity Vault 做為證書管理中心時,本節內容才適用。
以下元件需要您先產生證書才能部署。在為以下元件產生證書之前,請務必先部署 Identity Manager 引擎和 Identity Console 容器。
OSP
Identity Applications
Identity Reporting
執行以下步驟來產生證書:
確定安裝的 Java 是 Azul Zulu 1.8.0_392 或更新版本。
請務必設定 Java 路徑。例如,執行以下指令:
export PATH=<java 安裝位置>/bin:$PATH
例如:
export PATH=/opt/netiq/common/jre/bin/:$PATH
產生 PKCS 金鑰儲存區:
keytool -genkey -alias idm -keyalg RSA -storetype pkcs12 -keystore /data/tomcat.ks -validity 3650 -keysize 2048 -dname "CN=identitymanager.example.com" -keypass <password> -storepass <password>
產生證書簽署申請:
keytool -certreq -v -alias idm -file /config/idm.csr -keypass <password> -keystore /config/tomcat.ks -storepass <password>
產生自行簽署的證書:
啟動 Identity Console 並登入。
導覽至證書管理 > 核發證書。
瀏覽至在步驟 3 中建立的 .csr 檔案。例如 idm.csr。
按一下「開啟」。
在金鑰使用規範下拉式清單中指定金鑰類型。
在延伸金鑰使用規格下拉式清單中指定延伸金鑰類型。
對於證書類型,請在基本約束下拉式清單中選取未指定。
在證書參數下拉式清單中指定證書的有效期。
在證書格式下拉式清單中選取 二進位 DER 格式的檔案。
按一下「下一步」。
按一下確定。
下載證書並將其複製到 /data 目錄。
輸出 .der 格式的根證書:
啟動 Identity Console 並登入。
導覽至證書管理 > 伺服器證書管理。
選取 SSL 證書 DNS 核取方塊並按一下輸出。
在證書下拉式清單中選取「組織 CA」。
在輸出格式下拉式清單中選取 DER。
按一下確定。
下載證書並將其複製到 /data 目錄。
將證書輸入至您在步驟 2 中建立的 PKCS 金鑰儲存區中:
keytool -import -trustcacerts -alias root -keystore /config/tomcat.ks -file /config/cert.der -storepass <password> -noprompt
keytool -import -alias idm -keystore /config/tomcat.ks -file /config/idm.der -storepass <password> -noprompt
附註:請確定指定為部署輸入的路徑中有金鑰儲存區。
產生靜默內容檔案。如需詳細資訊,請參閱建立靜默內容檔案。
確定 SSO_SERVER_SSL_PORT 內容設定為某個唯一的連接埠。
在解壓縮 Identity_Manager_4.9.0_Containers.tar.gz 檔案的位置,導覽至 Identity_Manager_4.9.0_Containers 目錄。
執行以下指令以載入影像:
docker load --input IDM_490_osp.tar.gz
使用以下指令部署容器:
docker run --restart unless-stopped -d --network=host --name=osp-container -v /data:/config -e SILENT_INSTALL_FILE=/config/silent.properties --stop-timeout 100 osp:idm-4.9.0-580
若要驗證是否已成功部署容器,請執行以下指令來檢查記錄檔案:
tail -f /data/osp/log/idmconfigure.log
使用以下指令來停止容器:
docker stop osp-container
執行以下指令來修改 server.xml 檔案中的 Tomcat 關閉連接埠。在下面的範例中,連接埠 8005 將變更為 18005:
sed -i "s~8005~18005~g" /data/osp/tomcat/conf/server.xml
使用以下指令啟動 容器:
docker start osp-container
若要登入容器,請執行以下指令:
docker exec -it <容器> <指令>
例如:
docker exec -it osp-container bash
在解壓縮 Identity_Manager_4.9.0_Containers.tar.gz 檔案的位置,導覽至 Identity_Manager_4.9.0_Containers 目錄。
執行以下指令以載入影像:
docker load --input IDM_490_postgres.tar.gz
在共用磁碟區 data 下建立一個子目錄,例如 postgres。
mkdir postgres
使用以下指令部署容器:
docker run --restart unless-stopped -d --network=host --name=postgresql-container -e POSTGRES_PASSWORD=<password> -v /data/postgres:/var/lib/postgresql/data --stop-timeout 100 postgres:12.18
例如:
docker run --restart unless-stopped -d --network=host --name=postgresql-container -e POSTGRES_PASSWORD=novell -v /data/postgres:/var/lib/postgresql/data --stop-timeout 100 postgres:12.18
建立 Identity Applications 的 idmdamin 使用者。
docker exec -it postgresql-container psql -U postgres -c "CREATE USER idmadmin WITH ENCRYPTED PASSWORD '<password>'"
建立 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 容器時,會用到這些資料庫。
為 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"
若要登入容器,請執行以下指令:
docker exec -it <容器> <指令>
例如:
docker exec -it postgresql-container bash
在解壓縮 Identity_Manager_4.9.0_Containers.tar.gz 檔案的位置,導覽至 Identity_Manager_4.9.0_Containers 目錄。
執行以下指令以載入影像:
docker load --input IDM_490_identityapplication.tar.gz
使用以下指令部署容器:
docker run --restart unless-stopped -d --network=host --name=idapps-container -v /data:/config -e SILENT_INSTALL_FILE=/config/silent.properties --stop-timeout 100 identityapplication:idm-4.9.0-580
若要驗證是否已成功部署容器,請執行以下指令來檢查記錄檔案:
tail -f /data/userapp/log/idmconfigure.log
執行以下指令以輸入金鑰儲存區:
附註:在執行此步驟之前,請確定容器已成功部署。
/opt/netiq/common/jre/bin/keytool -importkeystore -srckeystore /config/tomcat.ks -srcstorepass <password> -destkeystore /opt/netiq/idm/apps/tomcat/conf/idm.jks -deststorepass <password>
系統會提示您將覆寫 alias idm 的現有項目。若要覆寫,請輸入 yes。
系統會提示您將覆寫 alias root 的現有項目。若要覆寫,請輸入 yes。
使用以下指令來停止容器:
docker stop idapps-container
執行以下指令來修改 server.xml 檔案中的 Tomcat 關閉連接埠。在下面的範例中,連接埠 8005 將變更為 28005:
sed -i "s~8005~28005~g" /data/userapp/tomcat/conf/server.xml
使用以下指令啟動 Docker 容器:
docker start idapps-container
若要登入容器,請執行以下指令:
docker exec -it <容器> <指令>
例如:
docker exec -it idapps-container bash
附註:若要在組態更新公用程式中修改任何設定,請從 Identity Applications 容器的 /opt/netiq/idm/apps/configupdate/ 目錄啟動 configupdate.sh。只能在主控台模式下啟動組態更新公用程式。
產生靜默內容檔案。在產生靜默內容檔案時選取 Identity Applications。如需詳細資訊,請參閱建立靜默內容檔案。
在解壓縮 Identity_Manager_4.9.0_Containers.tar.gz 檔案的位置,導覽至 Identity_Manager_4.9.0_Containers 目錄。
執行以下指令以載入影像:
docker load --input IDM_490_formrenderer.tar.gz
使用以下指令部署容器:
docker run --restart unless-stopped -d --network=host --name=fr-container -v /data:/config -e SILENT_INSTALL_FILE=/config/silent.properties --stop-timeout 100 formrenderer:idm-4.9.0-580
若要登入容器,請執行以下指令:
docker exec -it <容器> <指令>
例如:
docker exec -it fr-container bash
在解壓縮 Identity_Manager_4.9.0_Containers.tar.gz 檔案的位置,導覽至 Identity_Manager_4.9.0_Containers 目錄。
執行以下指令以載入影像:
docker load --input IDM_490_activemq.tar.gz
使用以下指令部署容器:
docker run --restart unless-stopped -d --network=host --name=amq-container -v /data:/config --env-file /data/silent.properties --stop-timeout 100 activemq:idm-4.9.0-580
若要登入容器,請執行以下指令:
docker exec -it <容器> <指令>
例如:
docker exec -it amq-container bash
設定 ActiveMQ。如需詳細資訊,請參閱《NetIQ Identity Manager Driver for JDBC Fanout Implementation Guide》(NetIQ Identity Manager Driver for JDBC Fanout 實作指南) 中的「Setting Up ActiveMQ Startup Service 」(設定 ActiveMQ 啟動服務)。
在解壓縮 Identity_Manager_4.9.0_Containers.tar.gz 檔案的位置,導覽至 Identity_Manager_4.9.0_Containers 目錄。
執行以下指令以載入影像:
docker load --input IDM_490_identityreporting.tar.gz
使用以下指令部署容器:
docker run --restart unless-stopped -d --network=host --name=rpt-container -v /data:/config -e SILENT_INSTALL_FILE=/config/silent.properties --stop-timeout 100 identityreporting:idm-4.9.0-580
若要驗證是否已成功部署容器,請執行以下指令來檢查記錄檔案:
tail -f /data/reporting/log/idmconfigure.log
執行以下指令以輸入金鑰儲存區:
附註:在執行此步驟之前,請確定容器已成功部署。
/opt/netiq/common/jre/bin/keytool -importkeystore -srckeystore /config/tomcat.ks -srcstorepass <password> -destkeystore /opt/netiq/idm/apps/tomcat/conf/idm.jks -deststorepass <password>
系統會提示您將覆寫 alias idm 的現有項目。若要覆寫,請輸入 yes。
系統會提示您將覆寫 alias root 的現有項目。若要覆寫,請輸入 yes。
使用以下指令來停止容器:
docker stop rpt-container
執行以下指令來修改 server.xml 檔案中的 Tomcat 關閉連接埠。在下面的範例中,連接埠 8005 將變更為 38005:
sed -i "s~8005~38005~g" /data/reporting/tomcat/conf/server.xml
(視情況而定) 僅當您使用 Identity Vault 做為證書管理中心時才適用。
在 setenv.sh 檔案的 export CATALINA_OPTS 項目中新增 -Dcom.sun.net.ssl.checkRevocation=false 參數。在此範例中,setenv.sh 檔案位於 /data/reporting/tomcat/bin/ 目錄下。
使用以下指令啟動 Docker 容器:
docker start rpt-container
若要登入容器,請執行以下指令:
docker exec -it <容器> <指令>
例如:
docker exec -it rpt-container bash
部署 SSPR 容器需要執行的任務如下:
產生 SSPR 的靜默內容檔案。如需詳細資訊,請參閱建立靜默內容檔案。
在共用磁碟區 data 下建立一個子目錄,例如 sspr。
mkdir sspr
在解壓縮 Identity_Manager_4.9.0_Containers.tar.gz 檔案的位置,導覽至 Identity_Manager_4.9.0_Containers 目錄。
執行以下指令以載入影像:
docker load --input IDM_490_sspr.tar.gz
使用以下範例指令部署容器:
docker run --restart unless-stopped -d --network=host --name=sspr-container -v /data/sspr:/config --stop-timeout 100 sspr/sspr-webapp:4.7.0.1-580
在 Docker 主機上執行以下指令,以將 Docker 主機中的 silent.properties 檔案複製到 SSPR 容器:
docker cp /data/silent.properties sspr-container:/tmp
將靜默內容檔案載入到 SSPR 容器。
docker exec -it sspr-container /app/command.sh ImportPropertyConfig /tmp/silent.properties
附註:檢查是否在 SSPR 容器的 /config 目錄下建立了 SSPRConfiguration.xml,並驗證該檔案的內容。
將 OAuth 證書輸入至 SSPR 中:
在 Docker 主機上編輯 /data/sspr/ 目錄中的 SSPRConfiguration.xml 檔案,將 configIsEditable 旗標的值設定為 true 並儲存變更。
啟動瀏覽器並輸入 https://identitymanager.example.com:8443/sspr URL。
使用管理員身分證明 (例如 uaadmin) 登入。
按一下右上角的使用者 (例如 uaadmin),然後按一下組態編輯器。
指定組態密碼,然後按一下登入。
按一下設定 > 單一登入 (SSO) 用戶端 > OAuth,確定所有 URL 都使用 HTTPS 通訊協定和正確的連接埠。
在 OAuth 伺服器證書下,按一下從伺服器輸入以輸入新證書,然後按一下確定。
按一下右上角的
以儲存證書。
檢視變更並按一下確定。
SSPR 應用程式重新啟動之後,編輯 SSPRConfiguration.xml 檔案,將 configIsEditable 旗標的值設定為 true 並儲存變更。
如需部署 Identity Console 容器的詳細資訊,請參閱 Deploying Identity Console as Docker Container (將 Identity Console 部署為 Docker 容器)。