关于企业应用:融云-云办公时代企业通讯录的技术选型

31次阅读

共计 3632 个字符,预计需要花费 10 分钟才能阅读完成。

拉至文末 加入抽奖

随着 5G 技术的衰亡,以及各种智能终端的遍及,云办公市场迎来减速发展期。关注【融云 RongCloud】,理解协同办公平台更多干货。

更加灵便、高效的跨平台挪动协同办公已成支流,企业通讯录作为企业协同办公的外围根底和触发对立通信及其它相干业务的入口,重要性显而易见。

时至今日,企业通讯录,已不只是通讯录。

图 1 – 企业级通讯录入口概念


企业通讯录核心技术 LDAP

因为历史起因,各企业会采纳公有或其它不同规范实现通讯录性能,这样就造成了网络中存在不同的地址薄零碎服务,导致用户的通讯录数据不统一。

为此,开放式挪动联盟(OMA,Open Mobile Alliance)提出了交融地址簿(CAB,Converged Address Book)钻研我的项目,目标是造成一个对立的地址薄零碎规范,使得所有用户及业务能够共享该地址薄,从而进步服务质量,改善用户体验。

通讯录的规范除了 CAB 外,还有富通信技术标准 RCS(Rich Communication Suite)。RCS 也是一个标准化组织,由欧洲运营商发动成立,目前己被纳入了 GSM Assiciation(寰球挪动通信零碎协会)。RCS 次要是由 EAB(加强地址薄)和 NAB(网络地址薄)组成,不过 RCS 中制订的通讯录规范,是集体通讯录规范。

EAB 是本地集体通讯录零碎的扩大,NAB 是给本地通讯录 EAB 减少了网络性能,用户能够将本地创立的通讯录 EAB 上传到网络中,而本地通讯录的同步与治理不必负责。

尽管 CAB 和 RCS 都对通讯录业务作了实现上的规范定义,如通讯录的数据模型定义,须要具备哪些业务性能等,但这些规范是为集体通讯录定制的,并没有思考到企业通讯录的业务场景和安全性。而协同办公的通讯录业务与上述规范存在较大差别,因而在钻研企业通讯录时,必须结合实际利用场景,而不能全盘模拟以上两种规范。

以后,很多企业通讯录次要采纳 LDAP 实现“平安通信”的性能,以下将就 LDAP 原理和特点开展介绍。


LDAP 协定钻研

LDAP(Lightweight Directory Access Protocol)即轻量级目录拜访协定,诞生于美国密歇根大学。

LDAP 优化了查问速度,采纳树状信息存储模式,可分布式部署,访问控制灵便,凭借着开放性、扩展性以及易于开发等劣势成为一款规范的目录拜访协定,已被广泛应用于基础性的信息管理系统中。

LDAP 原理

LDAP 协定由 四大模型 形成:
信息模型:用于形容 LDAP 的信息示意形式

【属性】
LDAP 目录服务的存储基于条目(Entry),每个条目蕴含一组属性,用来示意事实世界中实在的实体信息,条目与属性的关系如下图:

图 2 – 条目、属性、值之间关系

【对象类】
事实世界中实体之间往往具备一些雷同或类似的个性,被划分为不同的类在 IDAP 目录服务中。目录条目中还蕴含了一个重要属性即对象类(objectclass)属性,该属性决定了目录条目中必须蕴含以及可能蕴含哪些属性,其中必须蕴含的属性称为强制性的(mandatory),可能蕴含的属性称为可选的(optional)。

对象类能够自定义,自定义的对象类遵循继承机制,子类继承父类所有的强制属性和可选属性。对象类 top 是所有类的父类也就是根,所有对象类都由 top 类派生而来。

在 top 类中定义了强制属性“object class”能够保障每个条目至多蕴含一个对象类,同时也满足了目录条目至多要有一个对象类能力增加到目录中的要求。

【模式】
目录的模式(Schema)是由目录中所有的属性、对象类、语法以及匹配规定的定义的汇合组成,Schema 决定了数据在目录中的存储模式,LDAP 自身也定义了。

规范 Schema,包含零碎对象类、属性类型、语法和匹配规定。这些零碎 Schema 都在 LDAP 规范中进行了标准,能够查看 LDAP 的 RFC 文件。当然,各个行业也能够自定义 Schema 来达到本人的利用需要。这跟 XML 相似,XML 既有规范的定义,各行业也可依据本人的须要定制 DTD 或 DOM。

不过,为了当前零碎的兼容性,倡议在应用 LDAP 时尽量应用规范的 Schema。

命名模型:形容 LDAP 中的数据如何组织
LDAP 中的所有条目依照层次模型进行存储,逻辑上是一个分级或树状构造,可称为目录信息树(Directory InformationTree, DIT),这与 DNS 相似,DNS 也是依照分级构造组织的,这都是为了更好的存储或搜寻目录树中的对象。

为了可能正确查找到对应对象,每个对象在 DIT 中必须有惟一的标识符,如区别名(Distinguished Name, DN),DN 能够示意在 DIT 范畴内一个对象的残缺门路,它由从根目录名到该对象所在目录门路组成。

除此之外,咱们也能够应用绝对有区别名(Relative Distinguished Names, RDN,RDN 是 DN 的子集。在 DIT 中最顶层的节点代表国家如 US 或 CN,它们的子节点能够是公司或者省份。

子节点能够代表具体的人或者某些具体资源,如以下 DN 能够用来标识图中的用户 YANG: D: Cn=YANG,ou=CS,o=sict,c=CN。

其中 Cn 代表一般名词(common name),ou 代表组织单元(orginzation unit),o 代表组织(orginzation),C 代表国家(country)。

图 3 – 目录信息树

性能模型:形容 LDAP 中的数据操作拜访

性能模型形容了 LDAP 服务所反对的对目录的所有操作,LDAP 客户端与服务端的交互如图 4 所示,次要反对三种操作:

图 4 – 客户端与服务端交互图

【查问操作】
客户端利用 LDAP 提供的查问接口,并附带 baseDN(查问终点)、scope(查问范畴)、filter(过滤)等相干参数可进行查问操作。

【更改操作】
更改操作次要包含 add、delete、modify,也就是增、删、改操作。add 和 delete 能够实现目录条目标增加和删除,modify 能够实现条目标批改。

尽管 LDAP 目录服务不反对事物(transaction),然而对目录条目标批改操作应该是原子的(atomic),并反对 all-or-noting 准则。

【认证操作】
LDAP 中有三个对于认证的操作,一个是 bind 操作,次要用于初始化一个客户端与服务端之间的会话,ubind 用于终止这个会话,abandon 操作容许客户端向服务端申请终止一个操作。

平安模型:形容 LDAP 中的平安机制

LDAP 次要通过 身份认证、平安通道 访问控制 实现平安机制,具体形容如下:

【身份认证】
当客户端程序想和服务端程序建设初始会话时,首先服务端须要对客户端进行身份认证,身份认证形式依据不同的级别有不同的认证形式,有平安无保障的基于匿名的拜访形式,有基于明文明码的认证形式以及更加平安的 SASL(Simple Authentication and Secure Layer)机制的加密会话。客户端程序能够依据本人的需要抉择适合的认证形式。

【平安通道】
客户端程序与服务端程序之间交互的数据,LDAP 采纳 SSL/TLS 平安协定提供平安保障,目前 Internet 中采纳的 https 传输协定就是通过 SSL/TLS 提供平安传输的。SSL/TLS 采纳了 IKI 信息安全技术,通过它能够为传输中的数据提供完整性和保密性服务,还能够实现客户端和服务端身份的双向认证。

【访问控制】
LDAP 目录服务为了爱护一些敏感信息资源,其定义了一系列的访问控制规定,这些规定能够管制不同实体对不同目录节点的拜访权限。

LDAP

反对跨平台
LDAP 数据库以及它的相干资源能够部署到不同的平台,如 Linux 或 Windows,也能够进行跨平台移植。

开源性协定
用户开发时能够从它的开源实现中定制须要的模块,实现程序的通用性,也不便二次开发和前期保护。LDAP 服务器复制数据办法多样,可采纳“推”或“拉”,比方 LDAP 服务器能够把用户数据推到近程备份服务器,实现用户数据的备份。

优化读取操作
LDAP 对读取操作进行了优化,放慢了读取速度。如果用户的数据不须要常常更新,但须要频繁读取,用 LDAP 存储是很好的抉择。

这也是利用 LDAP 进行用户信息存储的一个起因,用户个别只会读取本人的信息,而很少去批改本人的信息。

依照树状构造存储信息
LDAP 依照树状构造存储信息,能够体现成员的层级归属和简略属性。便于企业对整体员工的治理、组织和拜访权限的管制,也进步了员工的访问速度。因而 LDAP 非常适宜作通讯录的存储。


在沟通逐步无界化的明天,LDAP 正在念好平安“紧箍咒”。企业通讯录作为企业内外对立通信的“主干路”,安全性至关重要。而基于 LDAP 设计的目录服务,可为企业通讯录提供细粒度权限管制,确保沟通顺畅、平安无虞。


互动有奖
互动奖品:

便携双饮杯 一杯双饮 便携防烫

关注 + 转发,参加抽奖:

① 关注 本公众号,回复 融云 获取抽奖小程序
② 转发 本篇文章到朋友圈且不设置分组

※ 侥幸同学将由抽奖助手随机抽出,记得 实现以上两个动作,以便兑奖时验证嗷~
※ 本流动最终解释权归融云所有

正文完
 0