前言
前段时间发了一篇: 中小公司统一用户认证方案 的技术贴,也是一篇实用性文章,很多程序猿都在关注,不少童鞋在后台询问后续内容是否出来。呼声很高的 视频版 终于出来啦,希望对大家有所帮助哦。
视频
中小公司员工统一用户认证 http://v.qq.com/page/h/0/u/h0307xb5d0u.html
(百度网盘下载高清视频:链接: http:// pan.baidu.com/s/1bIuuku 密码:ivdl )
内容
分享的主题:OpenLDAP 企业应用
分享的内容:
公司为什么需要统一用户认证?
解决用户统一认证都要干哪些事?
LDAP 都存了哪些员工信息?
实现一个简单的用户登陆 API
OpenLDAP 安全
OpenLDAP 公司应用架构图
为什么需要统一用户认证?
常遇到的问题:
GitLab、Jira、Confluence ... 各种密码
IT 遇到的问题:
内网安全?公司一个 Wi-FI 密码大家都可以连接
A 员工离职了一堆帐号我要挨个去删
运维遇到的问题:
VPN、Zabbix、Jenkins .... 各种密码
运营遇到的问题:
A 业务线,帐号xxx 密码xxx
B 业务线,帐号xxx 密码xxx
怎么去解决遇到的问题?
LDAP 用户统一认证
运维需要做什么?
搭建一套完整的 LDAP 服务,给各个应用分配可以连接 LDAP 的账号
配置 GitLab、Jira、Zabbix、Jenkins、VPN ...认证走 LDAP
对外提供 API 给开发调用(可选)
自己开发的运维平台也用 LDAP 认证
开发机登陆(ftp、samba、ssh) ...
开发需要做什么?
开发人员开发的公司内部系统统一走 LDAP 认证
主流语言PHP、Python、Java 都有 LDAP 库
IT 需要做什么?
Wi-FI 认证这块用到 FreeRADIUS,让 Radius 去走 LDAP 认证
员工常用信息(手机号、邮箱、部门、IP地址...)全部录到 LDAP 中
IT 统一维护,方便管理用户信息(办理员工入职、离职)
LDAP组织数据的方式
dn:每一个条目都有一个唯一的标识名(distinguished Name ,DN)
例如:uid=woniu,ou=SRE,dc=51reboot,dc=com
一个普通用户都要存哪些信息?
ObjectClass 是什么?
对象类是属性的集合,LDAP预想了很多人员组织机构中常见的对象,并将
其封装成对象类。比如人员(person)含有姓(sn)、名(cn)、电话
(telephoneNumber)、密码(userPassword)等属性,单位职工
(organizationalPerson)是人员(person)的继承类
方便用户查询信息:
http:// ldap.51reboot.com/dashb oard
实现一个简单的用户登陆 API
了解 LDAP 是怎么登陆?
举个常用软件配置的例子 Gitlab
知道原理之后,用 Python 实现一个简单的用户登陆API
常用服务的配置 SSH
了解 LDAP 是怎么登陆?
LDAP 需要需创建一个账号给 gitlab 连接使用
根据 uid 去查询用户的完整信息,类似于MySQL(select * from
mysql.user where user='woniu')
获取DN信息+密码,再去LDAP服务器认证,验证成功,用户就登录了
查看 Gitlab 配置
OpenLDAP 安全
密码复杂度(8位大小写数字)
密码错误次数锁定用户 (三次错误帐号锁定)
密码有效期90天,提前7天邮件通知,超过时间强制修改密码
提供重置密码和修改密码接口
开源: Welcome alt="物联网" width="550" height="277" />