此示例使用主机网络模式将所有 OpenText Identity Manager 容器部署在单个 Docker 主机上。
确保主机名采用如下所示的 FQDN 格式:
<主机 IP> <FQDN> <短名称>
例如:
172.120.0.1 identitymanager.example.com identitymanager
必须在部署容器之前生成无提示属性文件。有关生成无提示属性文件的详细信息,请参见创建无提示属性文件。
必须按以下顺序部署容器:
生成无提示属性文件。有关详细信息,请参见创建无提示属性文件。
在解压缩 Identity_Manager_4.10.0_Containers.tar.gz 文件的位置,导航到 Identity_Manager_4.10.0_Containers/docker-images 目录。
运行以下命令装载映像:
docker load --input IDM_410_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.10.0-533
要校验是否已成功部署容器,请运行以下命令检查日志文件:
tail -f /data/idm/log/idmconfigure.log
要登录容器,请运行以下命令:
docker exec -it <容器> <命令>
例如:
docker exec -it engine-container bash
注:要运行 ndstrace 或 ndsrepair 等身份库实用程序,请以非 root 用户 nds 的身份登录到容器。如果您以 root 用户身份登录,则无法运行这些实用程序。要以 nds 用户身份登录到容器,请运行 docker exec -it engine-container sudo nds 命令。
在解压缩 Identity_Manager_4.10.0_Containers.tar.gz 文件的位置,导航到 Identity_Manager_4.10.0_Containers/docker-images 目录。
运行以下命令装载映像:
docker load --input IDM_410_remoteloader.tar.gz
使用以下命令部署容器:
docker run -d --network=host --name=rl-container -v /data:/config remoteloader:idm-4.10.0-533
此命令会部署 64 位和 32 位版本的 Remote Loader。容器的 /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.10.0-533
要登录容器,请运行以下命令:
docker exec -it <容器> <命令>
例如:
docker exec -it rl-container bash
配置 Remote Loader。有关详细信息,请参见《OpenText™ Identity Manager CE 24.4 (v4.10) Driver Administration Guide》(OpenText™ Identity Manager CE 24.4 (v4.10) 驱动程序管理指南)中的“Configuring the Remote Loader and Drivers”(配置 Remote Loader 和驱动程序)。
确保配置文件在共享卷中可用。
在解压缩 Identity_Manager_4.10.0_Containers.tar.gz 文件的位置,导航到 Identity_Manager_4.10.0_Containers/docker-images 目录。
运行以下命令装载映像:
docker load --input IDM_410_fanoutagent.tar.gz
使用以下命令部署容器:
docker run --restart unless-stopped -d --network=host --name=foa-container -v /data:/config --stop-timeout 100 fanoutagent:idm-4.10.0-533
要登录容器,请运行以下命令:
docker exec -it <容器> <命令>
例如:
docker exec -it foa-container bash
配置扇出代理。有关详细信息,请参见《OpenText Identity Manager Driver for JDBC Fanout Implementation Guide》(OpenText Identity Manager Driver for JDBC Fanout 实施指南)中的“Configuring the Fanout Agent”(配置扇出代理)。
(视情况而定)仅当您使用身份库作为证书颁发机构时,本节内容才适用。
在部署以下组件之前,需要先生成证书。在为以下组件生成证书之前,请务必先部署 OpenText Identity Manager 引擎和 OpenText 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 /data/idm.csr -keypass <password> -keystore /data/tomcat.ks -storepass <password>
生成自我签名证书:
起动 OpenText Identity Console 并登录。
导航到证书管理 > 颁发证书。
浏览到在步骤 4 中创建的 .csr 文件。例如 idm.csr。
单击打开。
在密钥使用规范下拉列表中指定密钥类型。
在扩展密钥使用规范下拉列表中指定扩展密钥类型。
对于证书类型,请在基本约束下拉列表中选择未指定。
在证书参数下拉列表中指定证书的有效期。
在证书格式下拉列表中选择采用二进制 DER 格式的文件。
单击下一步。
单击确定。
下载证书并将其复制到 /data 目录。
导出 .der 格式的根证书:
起动 OpenText Identity Console 并登录。
导航到证书管理 > 服务器证书管理。
选中 SSL 证书 DNS 复选框并单击导出。
在证书下拉列表中选择“组织 CA”。
在导出格式下拉列表中选择 DER。
单击确定。
下载证书并将其复制到 /data 目录。
将证书导入到您在步骤 2 中创建的 PKCS 密钥存储区中:
keytool -import -trustcacerts -alias root -keystore /data/tomcat.ks -file /data/cert.der -storepass <password> -noprompt
keytool -import -alias idm -keystore /data/tomcat.ks -file /data/idm.der -storepass <password> -noprompt
注:请确保指定为部署输入的路径中有密钥存储区。
生成无提示属性文件。有关详细信息,请参见创建无提示属性文件。
确保 SSO_SERVER_SSL_PORT 属性设置为某个唯一端口。
在解压缩 Identity_Manager_4.10.0_Containers.tar.gz 文件的位置,导航到 Identity_Manager_4.10.0_Containers/docker-images 目录。
运行以下命令装载映像:
docker load --input IDM_410_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.10.0-533
要校验是否已成功部署容器,请运行以下命令检查日志文件:
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.10.0_Containers.tar.gz 文件的位置,导航到 Identity_Manager_4.10.0_Containers/docker-images 目录。
运行以下命令装载映像:
docker load --input IDM_410_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 Applications 容器之前,请务必生成所需的证书。有关详细信息,请参见生成 Identity Applications 的证书。
使用 创建无提示属性文件 部分生成的静默属性文件部署容器。
注:将应用程序服务器端口的值指定为公开的端口 18543。
导航到 Identity_Manager_4.10.0_Containers.tar.gz 文件的解压缩位置。
导航到 docker-images 目录。
运行以下命令装载映像:
docker load --input IDM_410_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.10.0-533
要校验是否已成功部署容器,请运行以下命令检查日志文件:
tail -f /data/userapp/log/idmconfigure.log
运行以下命令以登录容器:
docker exec -it <container> <command>
例如:
docker exec -it idapps-container bash
运行以下命令:
注:在执行此步骤之前,请确保容器已成功部署。
/opt/netiq/common/jre/bin/keytool -importkeystore -srckeystore /config/tomcat.ks -srcstorepass <password> -destkeystore /opt/netiq/idm/apps/tomcat/conf/idm.jks -deststorepass <password>
键入 yes 以覆盖 root 别名的项。
运行以下命令退出容器。
exit
重启动 Identity Applications 容器。
docker restart idapps-container
注:要在配置更新实用程序中修改任何设置,请从 Identity Applications 容器的 /opt/netiq/idm/apps/configupdate/ 目录起动 configupdate.sh。配置更新实用程序只能在控制台模式下起动。
生成无提示属性文件。在生成无提示属性文件时选择 Identity Applications。有关详细信息,请参见创建无提示属性文件。
在解压缩 Identity_Manager_4.10.0_Containers.tar.gz 文件的位置,导航到 Identity_Manager_4.10.0_Containers/docker-images 目录。
运行以下命令装载映像:
docker load --input IDM_410_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.10.0-533
要登录容器,请运行以下命令:
docker exec -it <容器> <命令>
例如:
docker exec -it fr-container bash
在解压缩 Identity_Manager_4.10.0_Containers.tar.gz 文件的位置,导航到 Identity_Manager_4.10.0_Containers/docker-images 目录。
运行以下命令装载映像:
docker load --input IDM_410_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.10.0-533
要登录容器,请运行以下命令:
docker exec -it <容器> <命令>
例如:
docker exec -it amq-container bash
配置 ActiveMQ。有关详细信息,请参见《 Identity Manager Driver for JDBC Fanout Implementation Guide》(NetIQ Identity Manager Driver for JDBC Fanout 实施指南)中的“Setting Up ActiveMQ Startup Service”(设置 ActiveMQ 启动服务)。
注:在部署 Identity Reporting 容器之前,请务必生成所需的证书。有关详细信息,请参见生成 Identity Reporting 的证书。
使用 创建无提示属性文件 部分生成的静默属性文件部署容器。
注:将应用程序服务器端口的值指定为公开的端口 28543。
导航到 Identity_Manager_4.10.0_Containers.tar.gz 文件的解压缩位置。
导航到 docker-images 目录。
运行以下命令装载映像:
docker load --input IDM_410_identityreporting.tar.gz
使用以下命令部署容器:
docker run --restart unless-stopped -d --ip=<ip address> --network=host --hostname=<hostname> -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.10.0-533
要校验是否已成功部署容器,请运行以下命令检查日志文件:
tail -f /data/reporting/log/idmconfigure.log
运行以下命令以登录容器:
docker exec -it <container> <command>
例如:
docker exec -it rpt-container bash
运行以下命令:
注:在执行此步骤之前,请确保容器已成功部署。
/opt/netiq/common/jre/bin/keytool -importkeystore -srckeystore /config/tomcat.ks -srcstorepass <password> -destkeystore /opt/netiq/idm/apps/tomcat/conf/idm.jks -deststorepass <password>
键入 yes 以覆盖 root 别名的项。
运行以下命令退出容器。
exit
重启动 Identity Reporting 容器。
docker restart rpt-container
部署 SSPR 容器需要执行的任务如下:
生成 SSPR 的无提示属性文件。有关更多信息,请参见创建无提示属性文件。
在共享卷 data 下创建一个子目录,例如 sspr。
mkdir sspr
在解压缩 Identity_Manager_4.10.0_Containers.tar.gz 文件的位置,导航到 Identity_Manager_4.10.0_Containers/docker-images 目录。
运行以下命令装载映像:
docker load --input IDM_410_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.8.0.1-533
在 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 并保存更改。
有关更多信息,请参阅 Installing OpenText Identity Console as Docker Container(将 OpenText Identity Console 安装为 Docker 容器)。