oneidentity/oneim-web该镜像运行One Identity Manager Web Portal实例,启动时从配置的数据库下载必要文件,其行为可通过密钥值和环境变量控制。
所有标记为windows-amd64的镜像与Windows Server主机兼容,请使用以下列表检查每个标签支持的Windows Server版本。
所有标记为linux-amd64的镜像与Linux操作系统主机兼容。
latest, 9.2, 9.1, 9.0, 8.2, windows-amd64-9.2-windowsservercore-ltsc2022, windows-amd64-9.1-windowsservercore-ltsc2022, windows-amd64-9.0-windowsservercore-ltsc2022, windows-amd64-8.2-windowsservercore-ltsc2022, windows-amd64-latest-windowsservercore-ltsc2022latest, 9.2, 9.1, 9.0, 8.2, windows-amd64-9.2-windowsservercore-ltsc2019, windows-amd64-9.1-windowsservercore-ltsc2019, windows-amd64-9.0-windowsservercore-ltsc2019, windows-amd64-8.2-windowsservercore-ltsc2019, windows-amd64-latest-windowsservercore-ltsc2019latest, 9.2, 9.1, 9.0, 8.2, windows-amd64-9.2-windowsservercore-ltsc2016, windows-amd64-9.1-windowsservercore-ltsc2016, windows-amd64-9.0-windowsservercore-ltsc2016, windows-amd64-8.2-windowsservercore-ltsc2016, windows-amd64-latest-windowsservercore-ltsc2016latest, 9.2, 9.1, 9.0, 8.2, linux-amd64-9.2, linux-amd64-9.1, linux-amd64-9.0, linux-amd64-8.2, linux-amd64-latest关于Linux镜像的免责声明
请注意,并非Identity Manager的所有功能都支持在Linux容器中运行。 Identity Manager运行在Mono上,且并非所有底层组件都在Mono中可用。 例如,报告生成在Linux容器中可能失败。
注意: 在Linux上,Web Portal镜像不会自动更新。当
QBMFileRevision的条目因更新或迁移而更改时,您必须启动新实例。
Web.configWeb.config文件配置Web Portal的所有设置。容器会探测两个位置以查找Web.config文件:
Windows
C:\ProgramData\Docker\secrets\Web.config:如果此文件存在,将直接使用,不通过环境变量替换任何占位符。可使用以下命令创建Web.config模板:
powershell$P = $PWD.Path.Replace("\", "/") $VERSION = "latest" docker run -it --rm ` -v $P:C:/Data ` -e "CONNSTRING=Data Source=..." ` -e "UPDATEPWD=..." ` -e BASEURL=http://localhost:9999/ ` oneidentity/oneim-web:$VERSION ` --createwebcfg C:\data
或者,连接字符串可来自密钥文件夹,web.config可直接放置在那里:
powershell$P = $PWD.Path.Replace("\", "/") $VERSION = "8.1" docker run -it --rm ` -v $P/secrets:C:/ProgramData/Docker/secrets ` -e BASEURL=http://localhost:9999/ ` oneidentity/oneim-web:$VERSION ` --createwebcfg C:/ProgramData/Docker/secrets
注意: 在生成web.config以及启动使用所创建web.config的容器时,您需要指定相同的
UPDATEACCOUNT和UPDATEPWD值。
容器使用其模板,并使用密钥值或环境变量替换以下值:
| 替换模式 | 密钥值 | 环境变量 | 说明 |
|---|---|---|---|
#FACTORY# | C:\ProgramData\Docker\secrets\DBSYSTEM | DBSYSTEM | 值取决于DBSYSTEM的值,但包含具体的数据库工厂类 |
#CONNSTR# | C:\ProgramData\Docker\secrets\CONNSTRING | CONNSTRING | |
%HDB_NAME_1% | C:\ProgramData\Docker\secrets\HDBNAME1 | HDBNAME1 | |
%HDB_CONNECTION_1% | C:\ProgramData\Docker\secrets\HDBCONN1 | HDBCONN1 | |
%HDB_NAME_2% | C:\ProgramData\Docker\secrets\HDBNAME2 | HDBNAME2 | |
%HDB_CONNECTION_2% | C:\ProgramData\Docker\secrets\HDBCONN2 | HDBCONN2 | |
%HDB_NAME_3% | C:\ProgramData\Docker\secrets\HDBNAME3 | HDBNAME3 | |
%HDB_CONNECTION_3% | C:\ProgramData\Docker\secrets\HDBCONN3 | HDBCONN3 | |
#TARGETS# | TARGETS | ||
#BASEURL# | C:\ProgramData\Docker\secrets\BASEURL | BASEURL | |
#ROOTDIR# | SRV_HOME | ||
#APPSERVERCONNSTRING# | C:\ProgramData\Docker\secrets\APPSERVERCONNSTRING | APPSERVERCONNSTRING | |
#UPDATEUSER# | C:\ProgramData\Docker\secrets\UPDATEUSER | UPDATEUSER | |
#APPINSIGHTS_KEY# | C:\ProgramData\Docker\secrets\APPINSIGHTS_KEY | APPINSIGHTS_KEY | |
#APPINSIGHTS_LOGLEVEL# | C:\ProgramData\Docker\secrets\APPINSIGHTS_LOGLEVEL | APPINSIGHTS_LOGLEVEL | |
#LOG_TENANT# | C:\ProgramData\Docker\secrets\LOG_TENANT | LOG_TENANT | |
#FILE_LOGLEVEL# | C:\ProgramData\Docker\secrets\FILE_LOGLEVEL | FILE_LOGLEVEL | |
#TRUSTEDSOURCEKEY# | C:\ProgramData\Docker\secrets\TRUSTEDSOURCEKEY | TRUSTEDSOURCEKEY | |
#SUPPORTREADSCALEOUT# | C:\ProgramData\Docker\secrets\SUPPORTREADSCALEOUT | SUPPORTREADSCALEOUT |
密钥值优先于环境变量。
Linux
/run/secrets/web.config:如果此文件存在,将直接使用,不通过环境变量替换任何占位符。可使用以下命令创建web.config模板:
shVERSION=latest docker run -it --rm -v $PWD:/data -e "CONNSTRING=Data Source=..." -e BASEURL=http://localhost:9999/ oneidentity/oneim-web:linux-amd64-$VERSION --createwebcfg /data
或者,连接字符串可来自密钥文件夹,web.config可直接放置在那里:
shVERSION=latest docker run -it --rm -v $PWD/secrets:/run/secrets -e BASEURL=http://localhost:9999/ oneidentity/oneim-web:linux-amd64-$VERSION --createwebcfg /run/secrets
容器使用其模板,并使用密钥值或环境变量替换以下值:
| 替换模式 | 密钥值 | 环境变量 | 说明 |
|---|---|---|---|
#FACTORY# | /run/secrets/DBSYSTEM | DBSYSTEM | 值取决于DBSYSTEM的值,但包含具体的数据库工厂类 |
#CONNSTR# | /run/secrets/CONNSTRING | CONNSTRING | |
%HDB_NAME_1% | /run/secrets/HDBNAME1 | HDBNAME1 | |
%HDB_CONNECTION_1% | /run/secrets/HDBCONN1 | HDBCONN1 | |
%HDB_NAME_2% | /run/secrets/HDBNAME2 | HDBNAME2 | |
%HDB_CONNECTION_2% | /run/secrets/HDBCONN2 | HDBCONN2 | |
%HDB_NAME_3% | /run/secrets/HDBNAME3 | HDBNAME3 | |
%HDB_CONNECTION_3% | /run/secrets/HDBCONN3 | HDBCONN3 | |
#TARGETS# | TARGETS | ||
#BASEURL# | /run/secrets/BASEURL | BASEURL | |
#ROOTDIR# | SRV_HOME | ||
#APPSERVERCONNSTRING# | /run/secrets/APPSERVERCONNSTRING | APPSERVERCONNSTRING | |
#UPDATEUSER# | /run/secrets/UPDATEUSER | UPDATEUSER | |
#APPINSIGHTS_KEY# | /run/secrets/APPINSIGHTS_KEY | APPINSIGHTS_KEY | |
#APPINSIGHTS_LOGLEVEL# | /run/secrets/APPINSIGHTS_LOGLEVEL | APPINSIGHTS_LOGLEVEL | |
#LOG_TENANT# | /run/secrets/LOG_TENANT | LOG_TENANT | |
#CONSOLE_LOGLEVEL# | /run/secrets/CONSOLE_LOGLEVEL | CONSOLE_LOGLEVEL | |
#TRUSTEDSOURCEKEY# | /run/secrets/TRUSTEDSOURCEKEY | TRUSTEDSOURCEKEY | |
#SUPPORTREADSCALEOUT# | /run/secrets/SUPPORTREADSCALEOUT | SUPPORTREADSCALEOUT |
密钥值优先于环境变量。
用于加密会话信息的证书将在以下位置查找:
C:\ProgramData\Docker\secrets\SessionCertificate.pfx/run/secrets/SessionCertificate.pfx以下文件夹必须挂载为卷,以便找到具有该名称的现有证书,否则服务将在需要时创建内存证书:
C:\ProgramData\Docker\secrets\/run/secrets会话证书需要在应用服务器实例和Web Portal实例之间共享,以便会话可以在服务器之间迁移。
Windows
可通过以下命令创建会话证书:
powershell$P = $PWD.Path.Replace("\", "/") $VERSION = "latest" docker run -it --rm -v $P/secrets:C:/Data oneidentity/oneim-api:$VERSION --createcert C:\Data
或使用PowerShell:
powershell$outfile = "Path\to\SessionCertificate.pfx" $date = (Get-Date).Date.AddDays(1000) $cert = New-SelfSignedCertificate ` -KeyAlgorithm RSA ` -KeyLength 2048 ` -HashAlgorithm SHA1 ` -KeyExportPolicy Exportable ` -NotAfter $date ` -Subject "CN=API Server" ` -Type DocumentEncryptionCert [System.IO.File]::WriteAllBytes( ` $outfile, ` $cert.Export( ` [System.Security.***graphy.X509Certificates.X509ContentType]::Pkcs12, ` $null))
Linux
可通过以下命令创建会话证书:
shVERSION=latest docker run -it --rm -v $PWD:/data oneidentity/oneim-api:linux-amd64-$VERSION --createcert /data
或使用OpenSSL:
shopenssl genrsa 2048 > private.pem openssl req -x509 -sha1 -days 1000 -new -subj "/CN=API Server" -key private.pem -out public.pem openssl pkcs12 -export -in public.pem -inkey private.pem -password pass: -out config/SessionCertificate.pfx
DBSYSTEM安装和运行时连接的数据库或应用服务器系统。有效值为:
MSSQL: Microsoft SQL ServerAPPSERVER: 通过应用服务器连接如果未提供DBSYSTEM值,默认使用MSSQL。
此值也可通过密钥文件夹中的文件提供。
CONNSTRING用于连接系统的连接字符串。此参数为必填项。内容取决于所用数据库系统。
不同系统的连接字符串示例:
MSSQL:
connectionstringData Source=[Server];Initial Catalog=[DB];User ID=[User];Password=[Password]
APPSERVER:
connectionstringUrl=[***]
此值也可通过密钥文件夹中的文件提供。
APPSERVERCONNSTRING如果主连接使用直接Microsoft SQL Server连接,则为附加的应用服务器连接字符串。当DBSYSTEM参数等于MSSQL时,此参数为必填项。
connectionstringUrl=[***]
此值也可通过密钥文件夹中的文件提供。
TARGETS要安装的部署目标的逗号分隔列表。默认目标为:Server\Web\EndUserWebPortal。
UPDATEUSER用于自动更新处理和启动时创建QBMWebApplication条目的用户认证字符串。
此值也可通过密钥文件夹中的文件提供。
BASEURL用于创建(如果不存在)和配置QBMWebApplication条目的标识符。
此值也可通过密钥文件夹中的文件提供。
WEBPROJECT在QBMWebApplication中创建Web应用条目时使用的AEDS Web项目的标识符或UID。默认值为VI_StandardWeb。
WEBAUTH在QBMWebApplication的Web应用条目中使用的主要认证模块的标识符或UID。默认值为RoleBasedPerson。
WEBAUTH2在QBMWebApplication的Web应用条目中使用的次要认证模块的标识符或UID。默认值为空,因此不使用次要认证。
UPDATEACCOUNT注意: 仅限Windows。此环境变量仅在Windows容器中可用。
设置此值以创建特定的更新账户名称。更新账户的默认名称为Update。
此值也可通过密钥文件夹中的文件提供。
更新账户可用于通过Web Designer的WCF连接调试Web Portal。
UPDATEPWD注意: 仅限Windows。此环境变量仅在Windows容器中可用。
UPDATEACCOUNT中指定的更新账户的密码。如果未设置密码,将为容器运行生成随机密码。
此值也可通过密钥文件夹中的文件提供。
如果要通过Web Designer的WCF连接
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务