ibm tivoli
本文包含集成Tivoli Access Manager(TAM)版本6.1和Tivoli Integrated Portal(TIP)版本1.1.x的优点。 详细的指示信息向您显示如何使用Tivoli Access Manager扩展信任关联拦截器(ETai)在Tivoli Access Manager / WebSEAL和Tivoli Integrated Portal之间配置单点登录。 您可以学习如何配置Tivoli Access Manager / WebSEAL服务器,Tivoli Integrated Portal联结,联结映射表和单点登录。 您还可以浏览信任关联和扩展信任关联拦截器自定义属性。 故障排除技巧也包括在内。
先决条件
要遵循本文中的示例配置,您需要执行以下先决任务:
- 在服务器机器上安装Tivoli Access Manager 6.1版以及与Tivoli Access Manager关联的所有先决条件。
- 为所有基于Tivoli Integrated Portal的产品安装Tivoli Integrated Portal Version 1.1修订包11及更高版本。
- 确保打开了必要的端口,以从WebSEAL服务器访问Tivoli Integrated Portal Server。 请参阅Tivoli Access Manager文档以获取详细信息。
- 通过从命令行运行
pd_start status
命令,检查Tivoli Access Manager / WebSEAL服务器的pd_start status
。 输出应如下所示:pdmgrd yes yes pdacld yes no (sometimes yes) pdmgrproxyd no no webseald-ip1 yes yes
- 验证LDAP注册表是否正在使用
pdadmin -a sec_master -p passw0rd
。 输出为:pdadmin sec_master>
。 - 如果未启动Tivoli Access Manager进程,请使用
pd_start start
启动Tivoli Access Manager进程。 - 检查您是否能够连接到Tivoli Access Manager。
- 在浏览器中,输入
http://tam_server_hostname
。 您应该看到基本的身份验证对话框或基于表单的登录屏幕。 输入用户名和密码。 您应该看到Tivoli Access Manager WebSEAL初始屏幕。
部署架构
在典型的部署体系结构中,产品被部署到三个区域中, 如图1所示。 在不受信任的区域中,最终用户访问服务或应用程序。 在半信任区域中,Tivoli Access Manager / WebSEAL(反向代理服务器)拦截所有传入的HTTP / HTTPS请求,并确保对Tivoli Integrated Portal应用程序的最终用户进行身份验证和授权。 然后,该请求可以继续到部署在受信任区域中的必要Tivoli Integrated Portal应用程序。
所有基于Tivoli Integrated Portal的产品都必须安装在Tivoli Integrated Portal的单个实例上才能与Tivoli Access Manager集成 。
图1.部署架构
![部署架构图](https://i-blog.csdnimg.cn/blog_migrate/1a4ac88d5345bc6faca58ddcf9c6b43e.png)
Tivoli Integrated Portal-Tivoli Access Manager部署体系结构的限制
Tivoli Integrated Portal-Tivoli Access Manager的当前部署体系结构在部署一个WebSEAL服务器实例并将其映射到一台Tivoli Integrated Portal服务器上有限制。 在此设计中,限制安装多个Tivoli Integrated Portal服务器和通过一个WebSEAL服务器处理请求。
配置Tivoli Access Manager / WebSEAL服务器
为了保护Tivoli Access Manager与Tivoli Integrated Portal之间的传输,Tivoli Integrated Portal签名者和缺省证书应位于Tivoli Access Manager密钥库中。 这是Tivoli Integrated Portal 联结配置的先决条件。
将Tivoli Integrated Portal证书导入到WebSEAL密钥库中
要导出Tivoli Integrated Portal证书:
- 使用Firefox登录到Tivoli Integrated Portal。 双击浏览器窗口右下方的锁定图标; 页面信息窗口的安全性部分应出现。
点击查看证书 ,这将打开“证书”窗口。
- 选择详细信息选项卡。
- 单击导出以导出到本地文件系统。 这将导出Tivoli Integrated Portal的X.509证书。
- 将证书转移到Tivoli Access Manager计算机。
- 将Tivoli Integrated Portal证书导入到Tivoli Access Manager中:
- 使用
startx
或gdm
命令在Tivoli Access Manager计算机中启动X服务器(如果尚未启动)。 - 启动IKeyMan(
./ikeyman.sh
)。- 单击工具栏上的打开 。
- 选择密钥数据库类型:CMS,单击浏览 ,然后转到
/var/pdweb/www-ip1/certs
。 - 选择pdsrv.kdb ,这将启动“密码提示”窗口。 默认密码与文件名相同:pdsrv。
- 在“密钥数据库内容”部分中选择“ 签署者证书 ”。
- 单击“ 添加” ,这会从“文件”窗口启动“添加CA的证书”。
- 选择数据类型:Base64编码的ASCII数据 。
- 点击浏览 。
- 从Tivoli Integrated Portal中选择导出的证书。
- 输入证书的标签,例如
tipmachine
。 - 单击“ 保存”以保存密钥库(使用相同的文件名)。
- 使用
配置Tivoli Integrated Portal联结
WebSEAL联结是前端WebSEAL服务器和后端Tivoli Integrated Portal服务器之间的HTTP或HTTPS连接。 结点在逻辑上将后端Tivoli Integrated Portal服务器的Web空间与WebSEAL服务器的Web空间结合在一起,从而形成整个Web对象空间的统一视图。 连接使WebSEAL可以代表后端服务器提供保护服务。 WebSEAL对所有资源请求执行认证和授权检查,然后再将这些请求通过联结传递到后端服务器。 使用以下步骤来配置Tivoli Integrated Portal联结,该联结主要使用SSL作为WebSEAL和Tivoli Integrated Portal服务器通信之间的安全传输。
- 通过从命令行启动
pdadmin
实用程序来创建Tivoli Integrated Portal联结:pdadmin -a sec_master -p passw0rd
,其中:
sec_master
=根用户ID
passw0rd
=sec_master
在
padadmin
提示符下,运行以下命令来创建联结:s t ip1-webseald-ip1 create -t ssl -c iv-creds -b supply -h <tip_hostname/ip> -p <tip_admin_console_secure_port> /tip
哪里:
st
=服务器任务
ip1-webseal-ip1
= WebSEAL实例名称
-t ssl
=传输是SSL
-c iv-creds
= SSO工作所需; 带有用户的凭证
-b supply
= SSO工作所需的基本身份验证标头。 - 通过从命令行启动pdadmin实用程序来显示Tivoli Integrated Portal连接:
pdadmin -a sec_master -p passw0rd
哪里:
sec_master
=根用户ID
passw0rd
=sec_master
在padadmin提示符下,运行命令:
s t ip1-webseald-ip1 show /tip
配置联结映射表
Tivoli Integrated Portal在客户机端生成的相对于服务器的URL最初缺乏连接点的知识。 WebSEAL无法过滤URL,因为它是在客户端生成的。
在客户机使用此URL请求资源期间,WebSEAL可以尝试使用结点映射表(JMT)重新处理相对于服务器的URL。 JMT将特定的目标资源映射到联结名称。 结点映射是基于cookie的解决方案的替代方法,用于过滤动态生成的相对于服务器的URL。
WebSEAL将使用JMT中包含的数据检查服务器相对URL中的位置信息。 WebSEAL从表顶部开始搜索,然后继续向下。 如果在自顶向下搜索期间URL中的路径信息与表中的任何条目匹配,则WebSEAL会将请求定向到与该位置关联的联结。
该表是一个名为jmt.conf的ASCII文本文件。 该文件的位置在WebSEAL配置文件的[junction]节中指定: jmt-map = lib/jmt.conf
。
根据属性注释,此路径相对于服务器根值。 检查服务器节下的服务器根目录值。 例如, server-root = /opt/pdweb/www-ip1
。
使用jmt.conf文件创建一个JMT,如下所示:
- 在<server-root> /目录下创建一个新文件jmt.conf。
将以下条目添加到该文件并保存。
/tip /ibm/console/* /tip /ibm/sla/* /tip /TCR/reports/*
使用以下命令将JMT装入WebSEAL:
st ip1-webseald-ip1 jmt load
。 输出为:DPWWM1462I JMT Table successfully loaded
- 使用以下命令重新启动WebSEAL服务器:
pdweb restart
。输出为:
Stopping the: webseald-ip1 Starting the: webseald-ip1
对IBM Tivoli Network Manager(ITNM)的更改
使用Tivoli Network Manager,您需要指定WebTop URL。 代码库中已经存在使用属性覆盖WebTop URL的功能。 此属性将有助于显示WebTop Applets。
- 目录:{ITNM_INSTALL_DIR} / tip / profiles / TIPProfile / etc / tnm /
- 属性文件:tnm.properties
- 属性:tnm.webtop.url
应设置为:
https://{TAM WebSEAL server}/{WebSEAL junction name}/ibm/webtop
例如,对于上面的测试环境,添加了以下属性。
tnm.webtop.url=https://9.196.131.76/tip/ibm/webtop
测试结点映射
要测试结点映射,请使用https://<TAM_Host Name>/tip/ibm/console
启动浏览器,其中/tip
是结点名称。
浏览器中的输出应为:
https://<TAM_Host Name>/tip/ibm/console/logon.jsp
显示“需要身份验证”窗口。 输入Tivoli Access Manager凭证:用户标识和密码。 该请求应重定向到Tivoli Integrated Portal登录页面。
配置单点注销Tivoli Integrated Portal
从Tivoli Integrated Portal控制台注销还注销Tivoli Integrated Portal和Tivoli Access Manager中的用户会话。 要启用此单一签核,请使用以下配置。
编辑customizationProperties.xml,它位于<TIP_HOME>/profiles/TIPProfile/config\cells\TIPCell\applications\isclite.ear \deployments\isclite\isclite.war\WEB-INF
。 输入<consoleproperties:console-property id="TAMJunctionName" value="tip"/>
,其中TAMJunctionName
是在Tivoli Access Manager中配置的指向Tivoli Integrated Portal Server的联结名称。
如果上述属性的值为空白,则假定为Tivoli Access Manager虚拟主机联结。 如果为上述属性指定了值,那么Tivoli Integrated Portal会假定它是Tivoli Access Manager传统结点。
输出消息“ Successful Logout
将显示在浏览器中。
管理到Tivoli Integrated Portal服务器的请求
您可以将Tivoli Integrated Portal配置为仅允许来自某些主机和服务器的请求,从而控制对Tivoli Integrated Portal服务器的访问。 对于安装在受信任或不受信任区域中的服务器,此功能很有用。
脚本包含在:
<TIP_HOME>/bin directory called includeHostNames.py < options>
脚本选项包括:
showHostNames | 列出允许访问Tivoli Integrated Portal服务器的主机名。 |
---|---|
createHostNames | 指定主机名列表,以; 分隔; 定界符,以访问Tivoli Integrated Portal服务器。 |
resetHostNames | 指定主机名列表,以; 分隔; 分隔符,以除去为访问Tivoli Integrated Portal服务器而注册的主机名。 |
要执行脚本,请输入以下命令:
<TIP_HOME>/bin/wsadmin.sh/bat -username tipadmin -password tippass -f
includeHostnames.py <options> hostnames (separated by ;)
哪里:
options
=上面指定的选项列表。
TIP_HOME
= Tivoli Integrated Portal安装目录。
Tivoli Integrated Portal / Tivoli Access Manager单点登录
在已部署的Tivoli Integrated Portal /嵌入式WebSphere Application Server中,存在多种方法,这些方法允许将认证从WebSEAL传递到下游WebSphere Application Server服务器的已认证用户的单点登录(SSO)。 因此,用户无需在任何时候重新进行身份验证。
下一部分描述称为Tivoli Access Manager扩展信任关联拦截器(ETai)的组件,该组件实现WebSphere Application Server信任关联拦截器接口以实现从WebSEAL到Tivoli Integrated Portal /嵌入式WebSphere Application Server的SSO。
信托协会
Tivoli Integrated Portal /嵌入式WebSphere Application Server 6.1支持带有外围认证服务的SSO,例如通过信任关联的反向代理。 启用信任关联后,如果请求通过已执行认证的可信源到达,则不需要WebSphere Application Server认证用户。 外围身份验证服务有望:
- 与WebSphere Application Server建立信任。
- 执行用户身份验证。
- 将用户凭据信息插入HTTP请求。
信任关联拦截器(TAI)是WebSphere Application Server中处理信任关联的模块。 它是一个“可插拔”模块,其职责包括:
- 使用外围身份验证服务验证信任。
- 从请求中提取凭证信息。
Tivoli Access Manager扩展信任关联拦截器和Tivoli Integrated Portal / Tivoli Access Manager WebSEAL集成
Tivoli Integrated Portal将支持Tivoli Access Manager / WebSEAL与Tivoli Integrated Portal服务器之间的SSO。 最终用户可以登录一次Tivoli Access Manager,WebSEAL会将请求重定向到Tivoli Integrated Portal服务器,而不必登录到Tivoli Integrated Portal。 Tivoli Access Manager扩展信任关联拦截器将在Tivoli Integrated Portal /嵌入式WebSphere Application Server中配置,并将负责建立对Tivoli Access Manager / WebSEAL服务器的信任。
Tivoli Access Manager扩展信任关联拦截器简化了Tivoli Access Manager的使用,并简化了实现SSO的配置和设置。 一大优势是Tivoli Access Manager / Tivoli Integrated Portal可以使用不同的用户注册表并仍然执行SSO。 Tivoli Access Manager / Tivoli Integrated Portal提供了不同注册表格式之间的映射。 您还可以将Tivoli Integrated Portal / Tivoli Access Manager配置为共享单个用户注册表(尽管该配置不在本文范围之内)。
WebSEAL和Tivoli Integrated Portal /嵌入式WebSphere Application Server TAI交互
图2显示了通过WebSEAL和Extended Trust Association Interceptor向WebSphere Application Server发送HTTP请求的流程。 这只是扩展信任关联拦截器的默认用法。
图2. Tivoli Access Manager信任关联流程
![Tivoli Access Manager信任关联流的图示](https://i-blog.csdnimg.cn/blog_migrate/e01bd6fb1d6a808f74f159085b9c8acf.png)
上图中的数字对应于以下描述的流程。
- 用户遇到WebSEAL(可能通过其他代理),并被提示进行认证。
- WebSEAL对用户进行认证,从用户注册表中获取用户的凭证,并可能授权该请求。
- WebSEAL使用包含用户凭证的附加HTTP标头(iv-cred)来扩充请求。
更改了基本认证(BA)标头中包含的密码,使其与已配置的SSO用户匹配,并且该请求被发送到WebSphere Application Server。
- Tivoli Integrated Portal /嵌入式WebSphere Application Server接收该请求并调用TAI方法(
isTargetInterceptor
)以确定该请求是否来自已对用户进行身份验证的外围身份验证服务。 - Tivoli Integrated Portal /嵌入的WebSphere Application Server调用TAI方法(
negotiateValidateandEstablishTrust
)以:- 与外围身份验证服务器建立信任。
此方法通过检查BA头是否包含已配置的SSO用户的正确密码来建立与WebSEAL的信任。 不能使用相互认证的SSL会话来建立WebSEAL和WebSphere Application Server之间的信任。 它只能通过验证SSO密码来建立。 TAI不执行证书检查。
- 检索凭据。
然后从请求中提取iv-creds标头,并将其用于检索:经过WebSEAL认证的用户的简称,以及包含用户和组信息的凭证对象。
- 与外围身份验证服务器建立信任。
- 返回经过身份验证的用户信息。
此时,WebSphere Application Server具有有效的凭证,可用于以通常的J2EE方式做出授权决策。
需要注意的一些重要点:
- WebSEAL必须将iv-creds标头插入请求中。
- 在步骤5中,可以将新的TAI配置为直接使用Tivoli Access Manager授权服务器或WebSphere Application Server用户注册表来验证信任。
从iv-creds标头中提取的用户信息可以将DN格式从初始格式映射到所需的WebSphere Application Server用户注册表格式。
- TAI插入主题中的凭证对象意味着WebSphere Application Server不必执行任何其他用户注册表搜索作为身份验证过程的一部分。
Tivoli Integrated Portal中的SSO配置:配置Tivoli Integrated Portal /嵌入式WebSphere Application Server
本部分描述了必须在Tivoli Integrated Portal /嵌入式WebSphere Application Server中执行的三个相关配置任务,以允许扩展信任关联拦截器的正确操作。
- 启用信任关联
- 将扩展信任关联拦截器添加为已知的拦截器
- 添加所需的配置属性,以使扩展信任关联拦截器能够按预期运行
启用信任关联
第一步是遍历控制台中的信任关联屏幕。
- 从Tivoli Integrated Portal控制台:
- 展开安全性 ,选择安全管理,应用程序和基础结构
- 展开Web安全性并单击Trust association ,如图3所示。
图3. Tivoli Integrated Portal安全性页面
- 必须检查启用信任关联 。 检查它是否尚未选中,然后单击Apply 。
- 保存配置更改。
将扩展信任关联拦截器添加为拦截器
本部分顺序地在上述部分之后。 如果单独使用,则应该阅读“ 启用信任关联”以了解如何遍历WebSphere Application Server管理控制台中的“信任关联”页面。
- 从“信任关联”屏幕开始。
- 单击“ 拦截器” 。
图4.信任关联
- 如果未定义
com.ibm.sec.authn.tai.TAMETai
,则选择New 。在以下屏幕上,在Interceptor类名称字段中输入
com.ibm.sec.authn.tai.TAMETai
,然后单击Apply 。 - 保存配置更改。
将定制属性添加到Tivoli Access Manager扩展信任关联拦截器
要将定制属性添加到Tivoli Access Manager扩展信任关联拦截器,请从“拦截器”屏幕开始。
- 选择Interceptor类名称com.ibm.sec.authn.tai.Tivoli Access ManagerETai ,如图5所示。
- 转到“自定义属性”屏幕。
- 在Tivoli Integrated Portal控制台中,单击定制属性 。
图5.定义拦截器类名称
- 对于未定义的每个必需属性,单击“ 新建”,然后输入所需的名称和值。 点击应用 。 图6显示了一个示例。
图6.定义定制属性
结果应该是Custom属性定义,如下所示。
图7.扩展信任关联拦截器的定制属性
- 如果自定义属性已经存在,但不包含正确的名称,值和描述,请选择该属性,进行必要的更改,然后单击Apply 。
- 对扩展信任关联拦截器自定义属性中定义的所有必需属性重复上述步骤。
- 设置所有属性后,您应该看到类似于图8的列表(具有10个自定义属性)。
图8.定制属性列表
- 保存配置更改,然后重新启动Tivoli Integrated Portal服务器。
图9.保存配置
扩展信任关联拦截器自定义属性
本节描述所有必需和可选配置属性,以及这些属性之间的任何交互。
com.ibm.websphere.security.webseal.useWebSphereUserRegistry
允许值: | 字符串true或false |
---|---|
描述: | 此属性用于确定扩展信任关联拦截器是否将根据WebSphere Application Server用户注册表或Tivoli Access Manager授权服务器对可信用户进行认证。 如果将此属性设置为true,则结果主题将不包含PDPrincipal,因为需要Tivoli Access Manager授权服务器来构建PDPrincipal。 此属性的任何其他值将导致PDPrincipal被添加到Subject。 |
需要: | 此属性是强制性的。 建议您使用不同的注册表。 |
默认值: | 假 |
com.ibm.websphere.security.webseal.tamUserDnMapping
值: | WebSphere应用服务器 |
---|---|
描述: | 扩展信任协会拦截器会将用户凭据信息添加到JAAS主题中。 此信息包括用户DN。 将此DN映射到WebSphere Application Server DN或(值= WebSphere Application Server)。 如果尝试为WebSphere Application Server用户注册表中不存在的用户映射,它将被忽略并且不会添加到JAAS主题中。 |
需要: | 应该指定此属性。 |
默认值: | Tivoli Access管理器 |
com.ibm.websphere.security.webseal.tamGroupDnMapping
允许值: | WebSphere应用服务器 需要。 应该指定此属性。 |
---|---|
描述: | 扩展信任关联拦截器会将用户的凭据信息添加到JAAS主题中。 此信息包括组DN。 可以将扩展信任关联拦截器配置为将这些DN映射到WebSphere Application Server DN或(值= WebSphere Application Server)。 如果尝试对WebSphere Application Server用户注册表中不存在的组进行映射,那么它将被忽略并且不会添加到JAAS主题中。 |
默认值: | Tivoli Access管理器 |
com.ibm.websphere.security.webseal.loginId
允许值: | 任何字符串。 在Tivoli Integrated Portal注册表中创建一个名为websealSSOID 的新用户。 注意,该用户可以驻留在Tivoli Integrated Portal开箱即用配置的基于文件的注册表中。 (您可以使用Tivoli Integrated Portal控制台从“管理用户”创建用户。) 需要。 应该指定此属性。 |
---|---|
描述: | ETAI必须配置为WebSEAL受信任用户的用户名。 这是SSO用户,将使用WebSEAL在请求中插入的BA标头中的密码来认证。 用户名的格式是简称。 |
与其他属性的相互作用: | com.ibm.websphere.security.webseal.useWebSphereUserRegistry 此属性的值必须作为有效用户存在于用户注册表中 。 如果 |
默认值: | 此属性没有默认值。 如果不存在,则扩展信任关联拦截器的初始化将失败。 |
com.ibm.websphere.security.webseal.checkViaHeader
值: | 真字符串 需要。 应该指定此属性。 |
---|---|
描述: | 可以配置扩展信任关联拦截器,以便在验证请求的信任时可以忽略Via标头。 如果Tivoli Access Manager / WebSEAL希望仅允许来自某些主机的请求到Tivoli Integrated Portal,则此属性是必需的。 TSA对此有要求。 |
与其他属性的相互作用: | com.ibm.websphere.security.webseal.hostnames com.ibm.websphere.security.webseal.ports 如果 |
默认值: | 假 |
com.ibm.websphere.security.webseal.id
允许值: | iv信条 需要。 这是用于SSO的必需属性。 |
---|---|
描述: | iv-cred带有最终用户凭证,Tivoli Integrated Portal /嵌入式WebSphere Application Server使用该凭证来做出授权决策。 |
默认值: | iv信条 使用此属性设置的任何其他值将与iv-creds一起添加到列表中。 iv-cred始终是Extended Trust Association Interceptor的必需标头。 |
com.ibm.websphere.security.webseal.hostnames
允许值: | 以逗号分隔的所有字符串列表 |
---|---|
描述: | 可以配置扩展信任关联拦截器,以便请求必须通过预期主机列表到达。 如果此属性的值中未列出HTTP请求的Via头中的任何主机,则扩展信任关联拦截器将忽略该请求。 |
与其他属性的相互作用: | com.ibm.websphere.security.webseal.ports: 主机名中列出的所有值将与该属性中列出的所有端口一起使用,以指示受信任的主机。 例如: com.ibm.websphere.security.webseal.checkViaHeader: 如果此属性为false,则hostnames属性将对扩展信任关联拦截器操作无效。 |
默认值: | 此属性没有默认值。 如果将checkViaHeader 设置为true checkViaHeader 设置此属性,则扩展信任关联拦截器初始化将失败。 |
com.ibm.websphere.security.webseal.ports
允许值: | 443 |
---|---|
描述: | 该属性与hostnames属性一起使用,以指示Via头中的哪些主机是受信任的源。 如果此属性的值中未列出“ Via”头中主机的端口,则扩展信任关联拦截器将忽略该请求。 |
需要: | 这是强制性属性。 |
与其他属性的相互作用: | com.ibm.websphere.security.webseal.hostnames: 主机名中列出的所有值将与该属性中列出的所有端口一起使用,以指示受信任的主机。 例如: com.ibm.websphere.security.webseal.checkViaHeader: 如果此属性为 |
默认值: | 此属性没有默认值。 如果将checkViaHeader 设置为true checkViaHeader 设置此属性,则扩展信任关联拦截器初始化将失败。 |
com.ibm.websphere.security.webseal.ssoPwdExpiry
允许值: | 正整数 |
---|---|
描述: | 一旦建立了对请求的信任,便会缓存SSO用户的密码,以用于后续的请求信任验证。 这样可以避免扩展信任关联拦截器必须为每个请求使用用户注册表重新认证SSO用户-从而提高了性能。 通过将此属性设置为所需的时间(以秒为单位),可以修改缓存超时时间。 如果密码到期属性设置为0,则缓存的密码将永不过期。 如果密码有效期限设置为负值,则TAI初始化将失败。 |
与其他属性的相互作用: | 没有 |
默认值: | 600 |
com.ibm.websphere.security.webseal.groupRealmPrefix
允许值: | “组:” 需要。 应该指定此属性。 |
---|---|
描述: | 需要此属性,以将Tivoli Access Manager中的组领域前缀映射到WebSphere注册表中的组领域前缀。 需要。 这是强制性属性。 |
com.ibm.websphere.security.webseal.userRealmPrefix
允许值: | “用户:” 需要。 应该指定此属性。 |
---|---|
描述: | 需要此属性,以将Tivoli Access Manager中的用户领域前缀映射到WebSphere注册表中的用户领域前缀。 这是强制性属性。 |
保存上述所有定制属性后,重新启动Tivoli Integrated Portal服务器。
Tivoli Access Manager WebSEAL
为了使扩展信任关联拦截器接受来自WebSEAL的请求,您需要在WebSEAL服务器上执行以下任务,以确保发送了扩展信任关联拦截器目标的HTTP请求。
- 使用所需参数创建连接。
- 创建一个受信任的SSO用户。
- 在配置文件中设置虚拟密码。
所需的结参数
在WebSEAL中创建联结时,有许多可用参数。 扩展信任协会拦截器要求的两个是:
-
–b供应
- 确保WebSEAL在HTTP请求中传递BA头。 扩展信任关联拦截器要求在BA标头中输入虚拟密码; 用户名未使用。 –c iv-creds
- 确保WebSEAL在HTTP请求的iv-creds标头中传递已登录用户的凭证。 扩展信任关联拦截器需要此标头,否则它将无法处理该请求。 也可以传递其他标头,例如iv-user,但还必须传递iv-creds标头。
以下示例显示了如何在WebSEAL 6.1中创建联结。
server task "webseal_instance_name" create -b supply -c iv-
creds -t tcp -h "websphere_hostname" -p
"websphere_app_port_number" "junction_name"
创建一个受信任的SSO用户
扩展信任关联拦截器要求用户存在于用户注册表中,该用户注册表将用于验证信任。 该用户及其密码将成为在WebSEAL和WebSphere Application Server之间建立信任的中心部分。 定制属性com.ibm.websphere.security.webseal.loginId的值将设置为该用户,WebSEAL中的虚拟密码将设置为该用户的密码。
- 如果定制属性com.ibm.websphere.security.webseal.useWebSphereUserRegistry 未设置为true,那么必须在Tivoli Access Manager用户注册表中创建该用户。 您可以使用pdadmin实用程序执行此操作。
例如,要在Tivoli Access Manager 5.1中使用pdadmin创建用户:
user create sso cn=sso,o=ibm,c=au sso sso ssopwd user modify ssouser account-valid yes
- 如果自定义属性com.ibm.websphere.security.webseal.useWebSphereUserRegistry 设置为true,则该用户必须在WebSphere Application Server用户注册表中创建。 (有关详细信息,请参阅WebSphere Application Server信息中心。)
设置虚拟密码
WebSEAL提供了一种机制,用于预先确定在HTTP请求的基本认证标头中传递的密码。 使用“ 必需的联结参数”中所述的–b supply
参数在WebSEAL实例配置文件中设置虚拟密码。 要更新的配置文件webseald-instancename.conf在您的webseal_home / etc目录中。
例如,如果您的WebSEAL实例命名为default且WebSEAL安装在Windows上,则文件为:
C:\program files\tivoli\pdweb\wetc\webseald-default.conf
打开此文件,搜索basicauth-dummy-passwd
,然后将此属性的值更改为受信任的SSO用户的密码。 保存文件并重新启动WebSEAL实例,以使新的属性值生效。
故障排除
本节概述了使用扩展信任关联拦截器时遇到的一些常见问题。
- 问题:启用扩展信任关联拦截器后,WebSphere Application Server的重新启动显示
ClassNotFoundException
或ClassDefNotFoundError
。-
常见原因
- com.ibm.sec.authn.tai.etai_6.0.jar尚未放置在类路径中。 或者,在WebSphere Application Server 6.1上,将JAR放在WebSphere Application Server主目录的插件目录中之后,尚未运行osgiCfgInit脚本。 解
- 确保已将JAR添加到正确的位置,并且已运行osgiCfgInit脚本。
- 问题:单点登录不起作用。 提示用户登录WebSEAL和WebSphere Application Server。
-
常见原因
-
WebSEAL联结尚未设置为传递iv-creds标头。
这是扩展信任协会拦截器的强制性要求。
WebSEAL联结尚未设置为传递BA头。 这是扩展信任协会拦截器的强制性要求。
com.ibm.websphere.security.webseal.loginId属性中指定的受信任用户的认证失败,可能是因为:
- 在WebSEAL配置中未正确设置虚拟密码。
- 设置伪密码后,WebSEAL实例尚未重新启动。
- 受信任用户的密码已过期。
该请求是通过主机名和端口配置属性中未列出的主机或端口发出的。
The Extended Trust Association Interceptor has not initialized correctly because a mandatory property was not set correctly.
Solutions
-
- Make sure the junction passes both the iv-creds and BA header.
- Ensure that the trusted user and dummy password are valid.
- Ensure that the WebSEAL instance has been restarted.
- Ensure that all hosts and ports in the Via header are set in the relevant properties, or set the
viaDepth
andcheckViaHeader
properties as required. - Check the log files to see why the initialization is failing. Search for Tivoli Access Manager Extended Trust Association Interceptor in the SystemOut.log.
-
WebSEAL联结尚未设置为传递iv-creds标头。
这是扩展信任协会拦截器的强制性要求。
- Problem: How to enable trace for Tivoli Access Manager Extended Trust Association Interceptor. The trace specification required for the Extended Trust Association Interceptor is:
com.ibm.sec.authn.tai.*=all
Once this is set, you can inspect the trace.log for errors or send it to IBM Support for review of any problems. It is also useful for IBM Support to have the trace for the WebSphere Application Server security web component. Use the following trace specification to get both.
com.ibm.ws.security.web.*=all:com.ibm.sec.authn.tai.*=all
翻译自: https://www.ibm.com/developerworks/tivoli/library/t-integrate_tam_tip/index.html
ibm tivoli