IBM® Integration Bus V9 引入了将客户端 SSL 证书信息传播到消息流中的能力。本文将告诉您如何使用存储在 SSL 证书中的信息在客户端上执行授权检查,这样就可以允许通过验证的客户端访问消息流的一个特定子集。本文涵盖的主题包括:
启用客户端证书传播 在消息流中访问证书信息 使用证书信息实现
LDAP 授权
启用客户端证书传播
为了确保客户端在创建入站连接时提供证书,必须执行客户端身份验证。当使用 HTTPInput 节点时,默认使用全节点范围的侦听器。它必须启用客户端身份验证,您可以使用以下命令来完成这一操作:
mqsichangeproperties <node_">name> -b httplistener -o HTTPSConnector -n clientAuth -v true
对于 SOAPInput 节点,默认使用嵌入的侦听器。要启用客户端身份验证,使用以下命令:
mqsichangeproperties <node_name> -e <server_name> -o HTTPSConnector -n clientAuth -v true
要启用此属性,必须对 IBM Integration Bus 提供正确的 SSL 密钥存储和信任存储配置。
为了确保将客户端证书传播到消息流中,在 SOAPInput 或 HTTPInput 节点上设置的安全配置文件必须启用传播。若要在现有的 Security Profile 上启用传播,使用以下命令:
mqsichangeproperties <node_name> -c SecurityProfiles -o <profile_name> -n propagation -v TRUE
若 SOAPInput 或 HTTPInput 节点尚未配置安全配置文件,那么应选择 IBM 提供的 Default Propagation 安全配置文件。您可以从 Integration Toolkit 中的 BAR 编辑器中完成该配置,如图 1 所示:
图 1.默认的传播安全配置文件
在消息流中访问证书信息
证书信息存储在 LocalEnvironment 中,可以从 LocalEnvironment.SOAP.Input.TransportSecurity.ClientAuth.Certificate 或从 LocalEnvironment.HTTP.Input.TransportSecurity.ClientAuth.Certificate 访问它。整体结构如图 2 所示:
图 2.从本地环境访问客户端证书