郑昀 基于朱传志的设计文档 最后更新于2014/11/13
关键词:LDAP、认证、权限分配、IdCenter、
本文档适用人员:研发
曾经一个IT内部系统配一套帐号体系和授权
线上生产环境里,技术人员需要登录许多内部系统,如:
- memcached/redis/mongodb 的管控系统
- 譬如我得有个把线上某个 memcached 的某个业务端口下某个/某些键值清空的 Web 界面吧;
- 譬如我得有个查出某个缓存键值并选择用哪一个Java Class反序列化的功能吧;
- jobcenter/notifyserver/推荐评测 的控制台
- dubbo 的服务治理控制台
- 持久化配置中心 的控制台
- CobarManager 控制台
- ……
每个IT系统都是不同人开发的,如果每个人都设计自己的用户体系和RBAC权限体系,第一重复制造轮子浪费体力,第二大家需要记住无数系统入口和帐号密码,第三每当有离职时还得记得逐一禁用账户。
所以在 JobCenter/NotifyServer/Diamond/Dubbo 等陆续上线后,孟珂和传志于2013年又开始运作起内部统一认证系统。
IdCenter 要干什么?
目标是建立一个内部各个管理系统能统一使用的用户认证和权限管理中心,以提高各个内部系统的安全性,并统一和简化内部系统的权限开发工作。具体包括:
- 进行内部管理系统的统一用户认证和各种权限管理;
- 兼容现有的各个内部管理系统;
- 记录部分系统访问日志。
用户来自于哪里?是 IdCenter 自己创建出来的?不。是运维在 UNIX/Linux 环境下通过 OpenLDAP 配好 LDAP 服务,IdCenter 根据 LDAP 协议同步用户过来。这样有几个好处:
- 开启用户、禁用/删除用户只需要在一个集中的地方做;
- 不仅仅研发的内部管理系统可以用,运维 DevOps 的内部管理系统也可以用这套用户体系;
- 不需要重复制造轮子。
注意不是自动同步,而是手动同步,如下图所示:
图0 同步LDAP数据
系统分为两部分:
- 认证中心:
- 用户登录和密码修改
- 控制界面,可以对用户和权限进行设置
- 接收过滤客户端的权限验证请求,并作出判断
- 过滤客户端(filter):
- 安装在各个内部管理系统中
- 过滤用户的访问请求
- 向认证中心发起用户和权限认证请求
- 根据认证中心回复阻拦或放行用户访问请求
业务流大致如下:
图1 授权方式
由于内部系统可能是 Java/PHP/dotNET/Python 等开发语言,所以要求权限检查接口具有跨语言跨平台性,于是朱传志的权限检验接口统一提供为 HTTP+Json 格式调用。
为了保证校验效率,IdCenter 使用内存缓存以提高权限验证时间,它缓存下面两项内容:
- 用户->组List
- URL->组List
它使用常用驻留和设置过期方式,校验会在两个组List之间进行比对 。
IdCenter 怎么控制权限?
由于不愿意在权限控制时涉及各个管理系统的业务逻辑,所以朱传志约定权限是针对 URL(或者说是 URI) 的,如下图2所示,首先我们会录入要管辖的管理系统的 URL。
图2 录入各种URL
然后我们要设定用户组,如下图3所示:
图3 设置分组
点击“设置URL”按钮,我们为这个分组设定它都可以对哪些 URL 有权限访问:
图4 为分组设置URL
还可以为分组设置该用户组都包含哪些用户:
图5 为分组设置用户
IdCenter 的记录访问日志功能
我们终于可以在一个集中的地方看到内部各个管理系统的登录日志了,嘿呀:
图6 登录日志
我们还可以按用户来查看他于什么时间使用了哪些权限(也就是访问了哪些登记在册的 URL):
图7 权限日志
好了,最后我们看一下完整的 IdCenter 首页吧:
图8 首页
这就是 IdCenter,一个为了不重复制造轮子而制造出来的解决方案。
-over-
相关推荐
### 微软中国研发集团虚拟化解决方案案例分析 #### 解决方案背景 随着信息技术的快速发展,企业对于IT基础设施的需求日益增长。微软中国研发集团作为微软在全球的重要研发基地之一,在不断扩展其业务的同时,面临...
统一身份认证(CAS)是一种企业级的单点登录(SSO)解决方案,旨在提供一种统一的身份认证机制,以便用户在访问多个不同的应用时只需要提供一次用户凭证信息。CAS 是建立在开放的协议之上的,支持多层 SSO 能力,...
System Center DPM 云灾备解决方案 System Center DPM 云灾备解决方案是微软的一种解决方案,旨在提供基于云端的灾备解决方案。该解决方案可以将数据备份到 Azure 备份保管库,提供了一个可靠的云端灾备解决方案。 ...
英立讯汽车行业客户中心CALL CENTER系统解决方案是一款专为汽车行业设计的综合呼叫中心系统,旨在提升汽车制造商的售后服务质量和客户满意度。该系统运用先进的CTI(Computer Telephony Integration)技术,结合IVR...
center system 模具管理系统解决方案
云计算产品及解决方案 12 H3C 数据中心SDN解决方案 13 网络菁英培训 vBRAS 片区SE培训-云解决方案 片区招投标培训-技术部 行业二部解决方案培训(办SE) 春季广域网虚拟化解决方案培训 FY16移动IT解决方案...
【服务器及存储系统解决方案】 本方案旨在解决传统IT系统面临的挑战,通过采用虚拟化技术构建一个可靠的、稳定的、可持续发展的和绿色的IT平台。虚拟化技术可以帮助整合现有的服务器和存储资源,有效地应对新项目的...
中国移动集团客户信息化及行业应用解决方案内部培训资料,深入解析了针对不同信息化程度的集团客户,如何采用移动代理服务器(MAS)、应用托管(ADC)以及移动终端等技术手段,实现高效的信息管理和行业应用优化。...
### Microsoft System Center解决方案助您更高效的优化数据中心 随着企业对资源优化及业务运营改进需求的不断增长,在面对技术复杂度持续提升的情况下,IT组织正在寻求更高效的数据中心管理策略。为了适应这一变化...
### 联想ThinkCloud+Center云计算管理平台解决方案解析 #### 一、概述 联想ThinkCloud+Center云计算管理平台解决方案,旨在为企业提供一种高效的、快速响应的、灵活度高的云计算管理平台。该方案不仅能够帮助企业...
综合以上信息,可以看出该文档涉及的知识点主要包括用户认证与单点登录解决方案的基础架构,数字证书和认证授权技术,以及安全协议和服务。这些知识点通常在构建复杂的企业级应用程序和服务时会被采用,以确保系统的...
Nutanix 超融合系统建设解决方案 Nutanix 超融合系统建设解决方案是一种革命性的数据中心架构解决方案,旨在解决传统数据中心架构的诸多问题。该解决方案采用软件定义的分布式存储架构,融合计算、存储和网络资源,...
### IDC数据中心业务应用管理系统解决方案知识点解析 #### 一、方案背景与行业趋势 - **IDC定义**: IDC(Internet Data Center)即互联网数据中心,提供包括域名注册、虚拟主机租赁、服务器托管等一系列增值服务。...
综上所述,IDC数据中心动环管理系统解决方案的核心目标在于通过智能化的技术手段实现对数据中心内部环境的有效监控与管理,确保数据中心的安全稳定运行。这不仅涉及到一系列硬件设备的选择与配置,还包括软件系统的...