统一账号/统一认证系统的引入和搭建(LDAP)
为什么需要统一账号/统一认证?
没人喜欢记忆一大堆混乱的账号和密码,员工不喜欢,企业更不喜欢。
企业要高效解决业务和研发问题,必须在初创期规划搭建必要的企业软件和研发工具,也就是进行IT基础设施中软件部分的选型、配置和部署。在大型企业,这样的工作会有专门的IT基础设施部门和内部工具部门负责,而在初创企业,这类工作往往需要由CTO布置,甚至亲自完成。当然,这一过程也是CTO对研发部门贯彻管理和研发思路,同时对企业总体提供IT支持设施的过程。
在公司软件基础设施中,最基础的部分就是统一账号和统一认证,这一体系相当于一张访问软件系统的“员工卡”。它能基于对每个员工的唯一账号、密码、以及其它信息的管理,简化和串联不同软件系统的身份管理、统一登录和权限控制,让员工方便地通过同一套用户名密码登录公司的大部分系统完成工作,也让行政和IT人员一站式地管理任何员工的账号和权限。
为什么选择LDAP?
初创公司选择统一账号的方案只需要考虑两个问题:广泛兼容和自有可控。
广泛兼容指应该选择有最多的软件和工具支持的统一账号方案:应选取不论是哪种操作系统下的软件、不论是云端还是本地部署、不论是开源产品还是收费软件、不论是研发用工具还是其它部门常用软件,都应能顺利接入的方案。
自有可控指这样的方案应该有可靠的私有部署和本地存储方案:无需向第三方长期采购,且随着公司规模的扩大,支持灵活的功能增加、字段增加、组织结构修改、以及复杂权限管控。
因为以上两个考虑,我不建议初创公司选用知名云办公套件或大型OA自行设计提供的统一账户管理接口,原因是兼容软件不全,迁移成本高。也不建议选择不成熟、不可控的LDAP-as-a-service类云服务产品。
满足以上两个需求且最适合初创企业的,是LDAP(Light Directory Access Protocol)这项被广泛支持的协议。这是一个轻量、灵活、通用、长期可靠、可自有部署的目录服务协议。所谓目录服务,本质上是一个适合规划组织和账户结构的数据库标准和实现。各类软件可以通过类似数据库查询的形式,统一存取LDAP内的数据,以实现账号管理和登录认证的统一。
软件选型方面,目前兼容LDAP协议的最主流实现方案有两个:Linux操作系统下开源的OpenLDAP,以及Windows Server操作系统下闭源的Active Directory。我们将以OpenLDAP为例讲解,在实际选型中,只要按照操作系统的熟悉程度两者择一即可。
哪些软件和工具可以和统一账号/认证集成?
下面列出一些常用的支持LDAP作为统一登录认证后端数据库的软件和工具。CTO在为公司建设软件工具体系时,可以直接参照下表选型。事实上,大多数包含账号体系的企业级软件,尤其是技术研发相关的软件,都支持LDAP账号。
实施要点
我们的专栏不会讲具体的部署配置细节。但会介绍实施的关键步骤以及需关注思考的重点。
1. 搭建和配置LDAP服务
- 应优先考虑选择使用OpenLDAP或Microsoft Active Directory作为服务端软件。
- 对于域名是
ctoabc.xyz
的公司,LDAP服务名称和接入名称应设置为dc=ctoabc, dc=xyz
,管理员访问名称一般为cn=admin, dc=ctoabc, dc=xyz
- 应保证搭建完成的服务拥有独立的公有IP,便于内外网访问;应保证服务器的访问安全,并使用加密通信(LDAP over SSL)。
2. 建立组织结构和人员数据
- 选择安装一个LDAP管理客户端软件,可以是基于网页的OpenLDAP, Web2LDAP, LAM,也可以是本地运行的jxplorer。
- 最简单的组织结构搭建方法应先配置用户类型/用户部门。新建一个organizationalUnit,名为
ou=groups
或ou=departments
,然后在其下按需创建posixGroup,如按类型cn=employees
,cn=admins
,或按部门cn=product
,cn=marketing
。 - 下一步应配置员工。新建一个organizationalUnit,名为
ou=users
,然后创建用户cn=username
,如cn=zhang.san
,并把用户的GID关联到上一步建立的用户类型/用户部门中。随后填写该用户的必要信息,如Email
,Full name
,Password
初始密码等。还可以按需增加字段,甚至增加个人照片。 - 撰写一篇统一账号操作文档,记录以上配置/删除一名员工统一账号的标准操作方法,并移交给相关的IT/HR负责人。
3. 与各软件工具集成
- 需要注意各系统中
Bind DN
项目应配置为dc=ctoabc, dc=xyz
,访问LDAP目录的用户名则应配置为有最高权限的账户,如cn=admin, dc=ctoabc, dc=xyz
。 - 需要注意配置好各系统中用户名、密码、全名等字段,与LDAP目录中字段的匹配关系,也就是配置好相应字段从LDAP中查询到的方法。
4. 解决日常使用问题
- 配置一个自助密码修改(Self-service Password Change)系统,方便员工修改密码。
- 为统一账号系统起一个明确好记的名字,如
Company ID
。 - 撰写并发布面向公司全员的
Company ID
使用介绍文档。
这样基于LDAP的统一账号体系就搭建完成了,员工可以用一个账号和密码来访问和对接全部软件和研发工具,公司的众多软件基础设施也开始能从账户层面进行简单明确的管理了。
统一账号/统一认证系统的引入和搭建(LDAP)相关推荐
- DKEY统一动态密码认证系统
大中型企业目前有多个业务系统,动态口令作为目前最安全的认证方式,各种业务系统如:VPN.Web应用程序.C/S应架构应用程序.Windows/Linux开机密码等认证安全,目前这些业务集成动态密码认证 ...
- sso登录统一账号体系和集中认证授权,实现用户快速访问应用-哇谷云
sso登录统一账号体系和集中认证授权,实现用户快速访问应用-哇谷云 主流应用接入 通过哇谷云的多因素身份验证,在原本静态账号口令的基础上增加一层动态口令,或借助"扫一扫".生物识别 ...
- 【统一登录认证】企业微信统一认证系统流程整理 流程图 时序图
[统一登录认证]企业微信统一认证系统流程整理 流程图 / 时序图
- 统一身份认证系统的简单看法
[事件背景]洋葱服务为什么没被成功接盘?_搜狐科技_搜狐网 https://www.sohu.com/a/124452755_354899 今天无意中看到这则新闻,发现人家洋葱认证服务已经停运1年多啦 ...
- LDAP服务器ca系统,基于LDAP的统一身份认证系统与CA认证的集成.pdf
基于LDAP的统一身份认证系统与CA认证的集成 , 第 33 卷 第 8 期 宜春学院学报 Vol. 33 No. 8 2011 年 8 月 Journal of Yichun College Aug ...
- 多账号统一登录(实现方案)
欢迎关注方志朋的博客,回复"666"获面试宝典 现在几乎大部分的 App 都支持使用多个第三方账号进行登录,如:微信.QQ.微博等,我们把此称为多账号统一登陆.而这些账号的表设计, ...
- 多账号统一登录实现方案
开发者(KaiFaX) 面向全栈工程师的开发者 专注于前端.Java/Python/Go/PHP的技术社区 来源:juejin.cn/post/6844904053411938311 现在几乎大部分的 ...
- 中国海油统一身份管理认证平台建设项目入选《ISC 2022十年网安行业代表性案例》之能源行业优秀案例
近日,ISC互联网安全大会(以下简称"ISC")联合数说安全共同发布<ISC 2022十年网安行业代表性案例>(以下简称"报告").报告收录ISC十 ...
- 多账号统一登陆,怎么实现?
来源:www.dustyblog.cn 现在几乎大部分的 App 都支持使用多个第三方账号进行登录,如:微信.QQ.微博等,我们把此称为多账号统一登陆.而这些账号的表设计,流程设计至关重要,不然后续扩 ...
最新文章
- linux中pipe
- R语言使用hexSticker包将lattice包可视化的结果转换为六角图(六角贴、六角形贴纸、lattice plot to hex sticker)
- 使用python 打造中国的电影光魔
- 开发日记-20190802 关键词 闲聊
- VS2010MFC - TeeChart经验总结(零基础入门到动态创建)
- Oracle收购云安全创企Palerra,以加强安全堆栈
- Bloom Filter算法
- 一个程序详细研究DataReader(转)
- 三、Express 路由
- 【线性代数本质】2:线性组合和线性相关和线性无关以及张成的空间
- 江苏一女子给程序员老公买假发,看到其后脑勺后,网友们哭笑不得
- 【月报】Java知音的二月汇总
- Maven技巧和窍门:高级Reactor选项
- 各种音频视频编解码详细介绍
- 【OpenCV】特征检测器 FeatureDetector
- 映美精黑白相机在linux平台上的使用(一)
- php ppt read_PHP如何读取PPT?
- ANT:修改测试报告的样式jmeter-results-shanhe-me.xs
- 现在还能买什么股票呢?
- C语言,输入硬币面值和硬币个数,换成输出一分,两份,五分硬币亦硬币个数
热门文章
- cakephp 安装mysql_CakePHP的安装的简单方法
- android仿ios城市选择,Android 省市区三级联动选择器(仿iOS滚轮实现)
- mysql status改变_mysql 配置详解mysql SHOW STATUS 详解
- access 按日期分列_excel的分列功能居然这么强大,赶紧收藏起来
- mysql row 转int_mysql_row[]取值转换有关问题,
- c++ 初始化 代码 应放在那里_Go语言goroutine调度器初始化 (12)
- ElasticSearch 面试 4 连炮,你顶得住么?
- Java 项目权威排名:Spring生态抢镜,Gradle战胜Maven排第2,点击查看更多...
- 深圳一普通中学老师工资单曝光,秒杀程序员,网友:真酸~
- 每日一皮:当你要下班的时候,突然测试叫住了你...