• 基于钉钉通讯录,同步构建本地LDAP服务


    上一篇《利用飞书通讯录同步搭建本地LDAP》方案发出后,引起不少企业 IT 人员共鸣。本次,宁盾针对使用了钉钉社交应用的企业推出基于钉钉通讯录(组织架构和用户信息)同步搭建本地 LDAP的方案。

    钉钉已经成为很多企业日常处理工作的必备工具,它改变了企业/组织的协作方式,让线下办公乃至远程办公变得高效、便捷。HR 也会在钉钉上去管理所有员工的状态及组织架构。

    钉钉作为事实上的主身份源,却无法为内部应用系统提供统一身份认证。企业内的应用系统,例如研发应用Gitlab、Github、Bitbucket,项目管理应用Jenkins、JIRA,知识管理Confluence、MediaWiki,企业网盘、邮箱等,可能使用了不同的账号认证体系(应用内自建账号或 OpenLDAP 账号),当公司内有人事变动(入职、离职、调转)时,都需要管理员在应用内手动创建、删除、修改账号和权限,既繁琐且低效,也无法避免人为操作失误带来的安全风险。

    如果能整合钉钉的组织架构和用户信息,同步搭建本地 LDAP 服务,且做到及时同步,就能为 LDAP 应用提供统一鉴权,运维效率和访问体验都将得到极大提升。

    5af3b3026f066843fcd242848fc06888.jpeg

    实现思路

    我们希望通过钉钉提供的 LDAP 作为统一身份认证和访问授权方式,但是钉钉没有开放这个能力,那么我们需要根据钉钉的组织架构和用户信息模拟创建一个 LDAP 服务。内网环境中,LDAP 用户信息的使用基本上围绕着用户名和密码,因此除了同步账号体系外,我们还需要赋予 LDAP 账号一个初始密码,并提供用户自助服务界面,允许用户本地自助修改密码。

    整体实现思路如下:

    • 钉钉开放平台:在钉钉开放平台创建应用,获取到 App ID、App Secret后,开启通讯录权限范围,提供给宁盾 LDAP 目录服务进行数据同步

    • 配置钉钉自建应用:在宁盾 AM 统一身份管理平台配置社交帐号,输入钉钉自建应用的凭证,再添加钉钉用户源,就可以将钉钉账号同步至 AM 中

    • 添加 LDAP 目录服务:添加宁盾目录服务用户源后,在应用中添加宁盾目录服务应用,账户同步中勾选钉钉用户源,即可实现数据同步

    配置过程

    钉钉开放平台主要配置:

    1、创建企业自建应用

    创建应用

    78ab99e158d98d0a7085bbdb7a83244d.jpeg

    31e6d719b3d4f44ff0c0a46cbab697a2.jpeg

    创建完成进入应用,编辑应用

    4518f1cb46b0241cad975e2c3db226cb.jpeg

    设置服务器出口IP

    d00ac8799d9ef6e2b075ebf7f7b12f01.jpeg

    开放通讯录权限

    350fcfeba51a6ad246060ee9df9cd2b7.jpeg

    宁盾配置:

    1、宁盾目录服务配置

    登录宁盾 AM 管理员账号

    添加用户源,选择宁盾目录服务

    7662c22855cbdef2462f1e808e71b314.jpeg

    2、添加用户源

    社交账号添加,输入钉钉自建应用的凭证

    1f9a5314aedec706aaac45a7c85ff5ad.jpeg

    添加钉钉用户源

    添加完成,就可以将钉钉的用户同步至宁盾 AM

    7b97e7c60dd7236f0dce329f3abd9c8f.jpeg

    宁盾目录服务同步:

    添加应用

    d9d37a2fb246d0321dd809f09761395b.jpeg

    同步账号,就可以看到钉钉的账号已经同步至到宁盾目录服务

    基于钉钉通讯录同步搭建本地LDAP

    (本文来源于宁盾,仅供学习和参考,未经授权禁止转载和复制。如欲了解更多内容,可前往宁盾官网博客解锁更多干货)

  • 相关阅读:
    JS工具类
    Oracle到PostgreSQL的不停机数据库迁移
    运维的进阶:用它解决90%以上问题
    多个Bean自动注入成Map @Autowired @Service 策略模式
    声纹技术(六):声纹技术的其他应用
    Cy3.5-PEG-Biotin,Cy3.5-聚乙二醇-生物素,Biotin/mal/dope/dbco-PEG-Cy3.5
    Flutter开发程序员兼职副业平台推荐
    蓝桥杯每日一题203.11.7
    WiFi连接满格信号但是不能上网?
    Java Spring Redis实现过期键监听回调
  • 原文地址:https://blog.csdn.net/yuzijiang11111/article/details/128136876