上一篇《利用飞书通讯录同步搭建本地LDAP》方案发出后,引起不少企业 IT 人员共鸣。本次,宁盾针对使用了钉钉社交应用的企业推出基于钉钉通讯录(组织架构和用户信息)同步搭建本地 LDAP的方案。
钉钉已经成为很多企业日常处理工作的必备工具,它改变了企业/组织的协作方式,让线下办公乃至远程办公变得高效、便捷。HR 也会在钉钉上去管理所有员工的状态及组织架构。
钉钉作为事实上的主身份源,却无法为内部应用系统提供统一身份认证。企业内的应用系统,例如研发应用Gitlab、Github、Bitbucket,项目管理应用Jenkins、JIRA,知识管理Confluence、MediaWiki,企业网盘、邮箱等,可能使用了不同的账号认证体系(应用内自建账号或 OpenLDAP 账号),当公司内有人事变动(入职、离职、调转)时,都需要管理员在应用内手动创建、删除、修改账号和权限,既繁琐且低效,也无法避免人为操作失误带来的安全风险。
如果能整合钉钉的组织架构和用户信息,同步搭建本地 LDAP 服务,且做到及时同步,就能为 LDAP 应用提供统一鉴权,运维效率和访问体验都将得到极大提升。
实现思路
我们希望通过钉钉提供的 LDAP 作为统一身份认证和访问授权方式,但是钉钉没有开放这个能力,那么我们需要根据钉钉的组织架构和用户信息模拟创建一个 LDAP 服务。内网环境中,LDAP 用户信息的使用基本上围绕着用户名和密码,因此除了同步账号体系外,我们还需要赋予 LDAP 账号一个初始密码,并提供用户自助服务界面,允许用户本地自助修改密码。
整体实现思路如下:
• 钉钉开放平台:在钉钉开放平台创建应用,获取到 App ID、App Secret后,开启通讯录权限范围,提供给宁盾 LDAP 目录服务进行数据同步
• 配置钉钉自建应用:在宁盾 AM 统一身份管理平台配置社交帐号,输入钉钉自建应用的凭证,再添加钉钉用户源,就可以将钉钉账号同步至 AM 中
• 添加 LDAP 目录服务:添加宁盾目录服务用户源后,在应用中添加宁盾目录服务应用,账户同步中勾选钉钉用户源,即可实现数据同步
配置过程
钉钉开放平台主要配置:
1、创建企业自建应用
创建应用
创建完成进入应用,编辑应用
设置服务器出口IP
开放通讯录权限
宁盾配置:
1、宁盾目录服务配置
登录宁盾 AM 管理员账号
添加用户源,选择宁盾目录服务
2、添加用户源
社交账号添加,输入钉钉自建应用的凭证
添加钉钉用户源
添加完成,就可以将钉钉的用户同步至宁盾 AM
宁盾目录服务同步:
添加应用
同步账号,就可以看到钉钉的账号已经同步至到宁盾目录服务
基于钉钉通讯录同步搭建本地LDAP
(本文来源于宁盾,仅供学习和参考,未经授权禁止转载和复制。如欲了解更多内容,可前往宁盾官网博客解锁更多干货)
版权归原作者 nington01 所有, 如有侵权,请联系我们删除。