为 rtcomm-1.0 功能部件配置安全性
此主题描述有关保护 rtcomm-1.0 功能部件的多个方面。
关于此任务
以下步骤描述如何对 rtcomm-1.0 功能部件启用安全性。
过程
- 配置 SSL。
- rtcomm-1.0 功能部件与 MQTT 代理程序之间的 SSL
- 此功能是通过在 server.xml 文件中对 Rtcomm 设置 sslEnabled="true" 属性来对 rtcomm-1.0 功能部件启用的,这通常需要另一端口(缺省为 8883)以通过 SSL 连接至代理程序。
- Rtcomm JavaScript 客户机和 MQTT 代理程序之间的 SSL
- 如果通过 HTTPS 为 rtcomm.js 客户机提供服务,那么此客户机在缺省情况下将启用
SSL(并将尝试使用端口 8883),否则需要在初始化 EndpointProvider 时在配置中启用 SSL。此配置类似所下所示:
var providerConfig = { server: mqttbroker server, port: mqttbroker SSL Port, useSSL: true};
以上步骤确保客户机、MQTT 代理程序及运行 rtcomm-1.0 功能部件的 Liberty 服务器之间的通信已加密。
- 配置认证。
- 使用 MQTT 代理程序对 JavaScript 客户机进行认证和授权
- 通常,实现 real-time communications 的应用程序会认证用户。有关更多详细信息,请参阅在 Liberty 中认证用户。
许多外部 MQTT 代理程序可能需要认证,但在没有特定配置的情况下,不会与应用程序使用相同的认证。
外部 MQTT 代理程序可使用类似认证机制并提供一些方法以使用 LTPA 令牌验证身份。IBM® MessageSight 支持 LTPA,如果 LTPA 密钥与 MessageSight MQTT 代理程序共享,它们是同一个域 (servername.domainname.com) 的成员,并且都使用相同 LDAP 资源来标识用户,那么可使用 LTPA 令牌将原始认证传递至 IBM MessageSight。其他 MQTT 代理程序可以类似方式工作。有关将 LTPA 与 IBM MessageSight 配合使用的更多详细信息,请参阅轻量级第三方认证 (LTPA)。
必须使用以下信息配置 Liberty 服务器:在 Liberty 中配置 LTPA。注: 使用 ssoDomainNames 属性定义服务器之间的公共域:<webAppSecurity logoutOnHttpSessionExpire="true" singleSignonEnabled="true" ssoDomainNames="domainname.com" />
使用 LTPA 的认证独立于 IBM MessageSight 中的授权,必须遵循以下 URL 中的指示信息: 授权。
仅当提供 LTPA 令牌的原始认证者和 MessageSight 服务器共享同一 LDAP 配置时,此配置才生效。
- 没有 LTPA 的客户机认证
- 如果无法配置 LTPA,那么 rtcomm.js 客户机提供了一个 API,此 API 允许提供用于向 MQTT 代理程序认证的用户和密码,并在
init() 期间传递至 EndpointProvider 的配置中完成提供此用户和密码的操作:
var providerConfig = { server: servername, port: port, useSSL: true, credentials: { userName: "username", password: "password" } };
此配置将身份和密码传递至 MQTT 客户机以向 MQTT 代理程序认证该连接。
父主题: Liberty:实时通信

文件名:twlp_config_rtcomm_security.html