LDAP实施实战

3,637 阅读3分钟

文章作者:刘汉华,贝聊高级运维工程师

什么是“LDAP”, 英文全称是Lightweight Directory Access Protocol,一般都简称为

LDAP, 轻量目录访问协议;

通过LDAP我们可以实现:

1、所有相关系统都能接入

2、统一用户身份及安全管理

3、所有系统一个账号及密码

同时我们的上线实施操作,必须首先保证所有人工作不受影响。

下面是我们实施步骤介绍:

步骤一、 LDAP服务方案选择

选openldap ? 还是域控器AD呢?

1、Openldap 是ldap自由和开源的实现,但是我们在配置及使用发现很多不成熟,线上应用风险很大

2、LDAP实施工期紧,最后决定选用比较成熟的域控AD,来接入服务

下面是我选择域控的原因:

1、 域控便捷统一的管理


2、 成熟安全策略


3、 良好的冗余备份机制,支持主从冗余及备份快照

步骤二、域控LDAP接入的各种方案整理及完善

一句话就是要让我们用到的 sso、svn、cwiki、squid、vpn、maven、git、zabbix 等等能获取到ldap用户及组,并且保持原有权限不发生变化;

测试过程中我们采取另外部署的方式,避免影响线上用户。

 不同的系统的LDAP接入方式

Oss后台系统是采用java代码支持,这里不再介绍,

下面仅介绍一下我们用到几种LDAP接入配置

Confluence wiki支持ldap接入配置,范例如下

Apache的支持,用于svn认证

Git的ldap支持

配置文件/etc/gitlab/gitlab.rb

pptp VPN支持ldap

Squid代理支持ldap

步骤三 域控AD录入所有员工账号、密码及相应资料

1、 批量导入用户列表及用户密码初始化

A、 hr提供到的账号数据处理

B、 转换为命令行导入

域控支持Csvde –f 命令的方式


步骤四,继续按列表推进直至完成.

 下面是实施过程进度安排表

实施过程的两要点:

1、 Confluence wiki等用户使用较多的系统,采取何种策略切换

A、用户完全无感知,采用双轨制,新增账号接入ldap,原有账号不变

B、彻底一次性切换, 所有用户一切性切换为LDAP账号

让用户测试及验证,体会到LDAP接入统一化管理的好处

最终: 选择B策略

2、 SSO接入时各功能核对及测试

A、 为避免上线时用户体验不好,我们就把所有可能问题集中罗列、集中测试,确保无遗漏

回看整个实施过程,有不少风险与隐患, 这里对有价值实施部分作归纳,分享给大家:

1、 表格化的整体实施进度排期, 这方便我们对整个LDAP实施实战有了统一计划与管理

2、 技术备用方案是否充足?   这是实施顺利与否的关键,因为意外情况会导致整个实施受阻

3、 实施过程采用“灰度策略”,  这里我们是先小范围再大范围实施,最终能减少不良体验范围,让更多人有更好的体验

4、上线及发布文告

A、 文告内容不易懂或不清晰, 这会造成上线后会有大量用户同时找你沟通或求助

B、 文告内容展现,决定了在所有人心中印象与感知,  写好了就有画龙点晴的效果

有关之前及之后流程效果图如下:

之前流程


优化后流程