在企业即时通讯的实践中,内部员工使用私有化部署的IM系统,而外部合作伙伴、客户或部分分支机构可能使用企业微信或钉钉。两类系统之间的隔离导致跨平台沟通困难,员工不得不在多个IM工具之间切换。世耕通信提供的网关互通方案,在IM系统集成AD域控的基础上,通过部署双向消息网关,实现私有化IM与企业微信、钉钉等公有云IM平台的安全互通,同时保持AD作为统一身份源。
一、跨平台互通的核心诉求与挑战
跨平台互通的核心诉求是让内部员工与外部联系人能够在不切换工具的前提下完成沟通。内部员工在私有化IM客户端中直接向外部联系人发送消息,外部联系人在企业微信或钉钉中收到消息并回复。通讯录方面,内部员工的组织架构从AD同步,外部联系人的信息从企业微信或钉钉同步或手动维护。消息同步需要保证发送和接收的实时性。权限控制方面,内部员工只能与授权的外部联系人通信,不能随意向任意外部人员发起会话。安全方面,跨平台消息需要加密传输,且满足企业内部的数据安全合规要求。
技术挑战主要体现在协议差异、身份映射和数据边界三个方面。私有化IM使用内部私有协议,企业微信和钉钉各自使用不同的公有云协议。两边的用户身份需要进行映射,且AD中的内部员工账号需要与企业微信或钉钉中的外部联系人账号建立关联。企业数据不能未经脱敏就发送到公有云平台,需要在网关节进行内容过滤和审计。
二、网关互通架构设计
在私有化IM系统与企业微信、钉钉之间部署消息互通网关。网关部署在企业内网的DMZ区域,同时连接内部IM系统和公有云平台的开放接口。网关不存储消息内容,只进行协议转换和路由转发。
网关由四个核心模块组成。协议适配模块负责转换私有化IM协议与企业微信或钉钉的SDK接口。消息路由模块根据收件人类型将消息发送至目标平台或从目标平台接收消息。身份映射模块维护内部员工与外部联系人的对应关系以及会话授权。安全审计模块记录所有跨平台消息的元数据,对消息内容进行可选的关键词过滤和脱敏处理。
消息流转路径分为发送和接收两个方向。内部员工发送消息给外部联系人时,消息从IM客户端发送至私有化IM服务端,服务端判断收件人为外部联系人后将消息转发至互通网关。网关根据外部联系人所属平台调用企业微信或钉钉的接口发送消息,外部联系人在其客户端中收到消息。外部联系人回复消息时,消息从企业微信或钉钉平台推送至网关,网关根据内部员工的身份映射将消息路由至私有化IM服务端,最终送达内部员工客户端。
三、基于AD的身份映射
内部员工的身份已经通过AD集成统一管理。外部联系人的身份需要与企业微信或钉钉中的联系人进行映射。
企业内部员工在AD中拥有唯一标识。当内部员工需要与某个外部联系人通信时,管理员在网关中创建双向映射关系。映射表记录内部员工的AD标识、外部联系人在企业微信或钉钉中的开放标识、以及该会话的授权状态。网关根据映射表确定消息的收发路由。
对于大批量外部联系人接入的场景,如企业的供应商或客户需要全员对接,可通过批量导入方式建立映射。网关支持从Excel文件批量导入外部联系人信息,并根据姓名、手机号等字段自动匹配关联。
AD中的组织架构信息可以用于授权规则配置。可以配置仅允许特定部门如采购部、销售部的员工与外部联系人通信,其他部门员工无权发起跨平台会话。网关在消息路由前检查发送者的部门属性,不符合授权规则的请求被拒绝。
四、消息格式转换与内容安全
不同IM平台的消息格式存在差异,网关需要进行格式转换。
文本消息的直接转换较为简单,私有化IM的文本消息转换为企业微信或钉钉的文本消息格式。图片消息需要处理格式差异,私有化IM中的图片在上传后获得内部URL,网关下载图片内容后重新上传至企业微信或钉钉的临时素材接口,获得公有云平台的素材标识后发送。文件消息同样需要重新上传。语音和短视频消息的处理类似。
内容安全方面,企业可能要求对发往公有云平台的消息进行脱敏或过滤。网关配置关键词过滤规则,消息中包含敏感词如客户姓名、项目代号、财务数据时,消息被拦截并通知发送者。同时支持对消息内容进行脱敏处理,如将手机号中间四位替换为星号。所有跨平台消息的元数据包括发送方、接收方、时间、消息类型、大小记录在审计日志中,消息内容可选记录或仅记录有无违规。
五、双向消息状态同步
跨平台消息需要保持状态一致,包括发送状态、已读状态、撤回状态。
内部员工发送消息后,私有化IM服务端向网关发起发送请求,网关调用企业微信或钉钉接口发送消息。公有云平台返回发送结果,网关将结果转换为内部IM的消息状态,最终展示在内部员工的客户端中。
已读状态同步相对复杂。外部联系人在企业微信或钉钉中阅读消息后,公有云平台推送已读回执至网关配置的回调地址。网关接收到已读回执后,查找对应的内部消息,将已读状态更新至私有化IM服务端。内部员工看到消息已被对方阅读的提示。
消息撤回支持跨平台撤回。内部员工在私有化IM客户端中撤回已发送的消息,服务端通知网关执行撤回。网关调用企业微信或钉钉的撤回接口,将对方客户端的消息撤回。撤回操作有时间限制,通常为两分钟内。
六、安全与权限控制
跨平台互通涉及将内部消息发送至公有云平台,安全控制至关重要。
通信加密方面,网关与私有化IM服务端之间的通信采用内部加密协议。网关与企业微信、钉钉之间的通信使用平台的官方接口,通过HTTPS和签名机制保障安全。
数据最小化原则要求只传输必要的消息内容,不传输AD中的敏感属性。网关在消息路由过程中不附带发送者的部门、职位、手机号等信息。如果业务需要展示发送者身份,仅传输显示名称。
会话授权机制要求内部员工不能主动向任意外部联系人发起会话。内部员工发起跨平台会话前,网关检查发送者与接收者之间是否存在有效的授权映射。无授权映射的请求被拒绝并提示员工联系管理员开通。授权映射可以由管理员手动创建,也可通过审批流程自动创建。
审计日志记录所有跨平台消息的关键信息,包括发送方AD账号、接收方平台标识、消息时间、消息类型、消息大小、发送结果。可选记录消息内容摘要或完整内容。审计日志存储于企业内网,满足合规审查要求。