基于Windows AD的单点登录系统

一、引言
随着公司信息化建设的发展,部署的应用系统也越来越多。

首先,从用户角度:用户会觉得自己身陷于越来越多的用户账号和密码需要记录,以便于使用各种程序。每个新的系统有不同的密码规则,对密码的长度、有效期、特殊字符的要求等变得更为严格,用户时常还会遗忘密码。

其次,从IT工程师角度:IT工程师管理用户账号和权限的工作也越来越繁重,且无太多技术含量和附加价值。

最后,从信息安全角度:当用户离职时,可能会存在禁用账号不及时,或部分应用系统账号忘记禁用的情况,增加了潜在的风险。

为了解决上述问题,公司急需部署一套单点登录系统。联系过两家供应商,两套系统都是按用户数量、对接的业务系统数量来收费,初步报价均在150万以上,今年又增加了几家子公司和两套应用系统,实施价格预计在200万以上。

鉴于此,结合我们的实际情况,我设计了具有兆驰特色的单点登录系统,虽不能与商业软件媲美,但能够有效解决前述的痛点,满足我们的管理需求。也希望51CTO的网友提出宝贵的意见。

二、基于Windows AD的单点登录系统介绍
2.1基本功能介绍
该系统主要实现以下三个方面的功能:

  1.    共享一个身份认证系统
    

各应用系统与Windows AD和HR系统集成,基于Windows AD的用户数据库,实现用一套账号和密码登录多个应用系统,解决用户需要记录多套用户名和密码的问题,以及离职时因账号禁用不及时或忘记禁用带来的潜在风险。

  1.    通过岗位角色自动分配权限
    

首先规划定义好各岗位的标准权限,即规划每一个岗位在各应用系统中的权限类型,上网权限类型、电脑类型、电话权限等。当新员工分配到该岗位时,其账号将自动开通预设的权限,岗位变动、权限的变更通过流程来控制。

  1.    统一员工入口,实现单点登录
    

目前每一个应用系统都有自己的登录窗口,如HR系统、OA系统、PLM系统、MES系统、关务系统等。随着部署的应用系统越来越多,用户需要记住多个系统的访问地址,工作中也会需要同时到多套系统中查询信息。虽然我们是企业内部的信息化系统,但仍然符合简单方便、安全高效的互联网系统思维,所有系统只有一个PC端入口和一个移动端入口,员工登录后,能查询个人信息、企业公告、水电费、固定资产、小资产、借款、考勤、待办流程、申请流程等工作,给员工一个简单、便捷的信息化门户平台。尤其是公司规模逐步扩大,集团化运营后,更迫切需要一个统一的企业内部信息化门户,提高员工的工作效率,同时提升企业形象。

以上三个功能,我们将分三个阶段逐步实现,本文先讲第一部分。

2.2单点登录系统逻辑架构
123.jpg

(图一)

  1.    唯一的用户基本信息入口:
    

用户基本信息主数据存放在HR系统,由HR部门负责管理,信息中心无权修改。当新员工入职时,在HR系统中录入基本信息,指定岗位角色。

  1.    在Windows AD域实时创建账号和密码
    

连接HR系统和Windows AD域,当在HR系统中录入新员工信息时,实时自动地在Windows AD域中创建AD账号,并设置随机初始化密码,该账号和密码作为员工访问公司各应用系统的凭证,账号和密码通过短信发送至新员工手机上,员工登录系统后可修改初始密码。

  1.    将用户基本信息传送至各应用系统
    

实时将用户基本信息推送至各应用系统,只推送在该应用系统有权限的用户。

  1.    登录各业务应用系统时,转至Windows AD域认证
    

修改各业务应用系统的用户认证方式为LDAP认证,并配置为公司的Windows AD域控制器地址,如应用系统不支持该功能,需重新开发。当用户登录各业务应用系统时,输入Windows AD账号和密码,系统将转向到Windows AD域控制器上核实身份信息。

  1.    从Windows AD域控制器返回认证结果
    

从Windows AD域控制器返回认证结果,认证成功,则顺利登录业务系统;认证失败或无该业务系统的权限,则不允许登录。

  1.    根据岗位对应的角色分配权限
    

登录成功后,根据第3步从HR系统中同步的基本信息,自动匹配该用户的岗位编号和权限。

  1.    应用系统将角色及其权限传回至HR系统
    

应用系统定期将角色及其权限信息更新至HR系统,HR系统在维护岗位的标准权限时将用到系统角色信息。

  1.    自动禁用离职员工账号
    

员工离职,当在HR系统中标识为离职状态时,将实时禁用Windows AD域账号,此时,员工无法登录所有业务系统。同时,将定期清除应用系统无效的用户信息。

2.3应用场景
我们将以员工从入职到离职的整个在职过程,逐一分析单点登录系统在每种应用场景下给我们带来的改变及好处。

2.3.1员工入职时
现状:

  1.    到HR部门办理入职手续,创建HR系统的账号和密码;
    
  2.    部门同事代申请AD账号、OA账号、邮箱账号、MES账号、上网权限等应用系统账号和权限。
    
  3.    申请电脑、电话等固定资产或小资产。
    

部署单点登录系统后:

  1.    到HR部门办理入职手续,HR系统中自动生成工号,并录入基本信息;
    
  2.    自动创建Windows AD账号,账号和密码通过短信发送到员工手机上;
    
  3.    根据新员工的岗位权限,自动开通各应用系统的权限,用Windows AD账号直接登录即可。减轻了IT部创建账号的权限的工作量。
    
  4.    未实现共享身份认证的应用系统(如企业邮箱、SAP等),自动发起一条申请账号的流程。
    

2.3.2岗位变动时
现状:

当员工A从行政部移动到财务部时,需要自行提交各系统的权限调整申请,审批后由IT同事修改系统权限。

一方面,权限变更会滞后,造成员工A到达财务部后,仍然不能访问财务部相关的资源;另一方面,提交申请时只注明新增加权限,旧的权限可能仍然保留,造成员工A到财务部后,仍然能够访问行政部的资源,增加了潜在的风险。

行政部员工A离开后的接替者员工B,也需要提交各系统的权限申请,审批后由IT同事修改系统权限。

部署单点登录系统后:

当员工A从行政部移动到财务部时,根据财务部的新岗位,自动分配新岗位的权限,并删除旧岗位的权限,全程无需IT同事干预,更高效且更安全。员工B接替员工A的岗位,也自动分配员工A岗位的权限,减少IT同事工作量。

2.3.3岗位权限变动(永久)
该场景适用于员工A因工作需要,需要拥有更多的权限,新增的权限期限为永久。

现状:

员工提交权限新增申请流程,经审批后由IT同事在应用系统中增加。

部署单点登录系统后:

该场景仍需员工提交权限新增申请流程,经审批后由IT同事在应用系统中增加。

  1.    提交申请,选择系统,根据申请人的工号,调出该用户在系统中的权限描述和权限清单,输入新增或减少的权限描述,提交审批。
    
  2.    审批通过后,IT工程师根据权限描述,在各应用系统的后台修改角色的权限,完成后,将新增加的权限描述更新至数据库。
    

2.3.4岗位权限变动(临时)
该场景适用于员工A离职,新的接替者未到岗,员工A的工作分摊给员工B和员工C。新的接替者到岗后,应取消新增权限。即新增的权限期限为临时。

现状:

员工提交权限新增申请流程,经审批后由IT同事在应用系统中增加,新的接替者到岗后,再提交权限新增申请流程,为新同事设置权限。

可能会存在,新接替者到岗并拥有权限后,临时代岗的同事仍然拥有该权限的情况。

部署单点登录系统后:

员工提交权限新增申请流程(流程同2.3.3),经审批后由IT同事在应用系统中增加,新的接替者到岗后,权限自动取消。

在应用系统中新增两个角色(如一个岗位的工作分给多人,应建立多个角色),对应的权限分别为员工B和员工C新增的权限,然后将新增的角色权限叠加到员工B和员工C上。

新的接替者到岗,系统自动删除叠加在员工B和员工C上新增加权限的角色。

2.3.5离职时
现状:

  1.    员工持《离职申请单》到IT部办理禁用账号手续,IT工程师受理后,发邮件给IT部所有同事,要求各系统管理员禁用账号。
    
  2.    如果用户不提交《离职申请单》或不提交至IT部,以及IT部同事疏忽,账号将无法及时删除。
    

部署单点登录系统后:

  1.    HR系统标识某员工状态为离职时,自动禁用Windows AD账号,所有关联应用系统将无法登录。
    
  2.    未实现共享身份认证的应用系统(如企业邮箱、SAP等),自动发起一条禁用账号的流程。
    

2.4兆驰单点登录系统给我们带来的好处
成功实施该系统后,将给我们带来以下几点好处:

  1.    提高员工的体验感,无需记录多个用户名和密码。
    
  2.    减少IT工作量,将更多的时间用于更有价值的工作。
    
  3.    增强信息安全,降低员工离职后的风险,减少潜在的安全隐患。
    
  4.    提升企业信息化建设的整体形象,统一PC端和移动端入口后,将极大地方便员工获取信息,大大提高企业信息化建设整体形象和水平。
    

三、实现共享一个身份认证系统
在开始实施时,首先需要对企业的数据架构重新梳理,哪些数据放在什么系统?数据的调用关系,保证数据的一致性、准确性等。

3.1 HR系统
实现第一阶段对HR系统的改动较小,当HR系统用户表数据变动时,触发程序。

新增用户时,实时自动创建Windows AD账号,同时将用户基本信息同步至应用系统;

员工状态为离职时,自动禁用Windows AD账号,定时从应用系统中删除离职用户信息。

3.2 Windows AD系统
3.2.1自动创建Windows AD账号
Windows AD账号名为员工工号,密码为随机产生,密码需满足复杂性要求;

账号和密码通过手机短信发送至员工手机;

实现第一阶段暂不考虑Windows AD同步HR系统的组织架构,所有的新账号放在指定的OU,由IT工程师手动移至对应的组织架构OU中(目前的Windows文件服务器按组织架构来分配权限)。

3.2.2自动禁用Windows AD账号
HR系统中员工状态为离职时,实时自动禁用Windows AD账号;

已禁用账号移至指定OU,三个月后再自动删除。

3.3各应用系统
目前已部署了多套应用系统,首先在正在实施的关务系统和节能照明MES系统上实施,再逐步切换现在的应用系统(如OA、HR、MES、SRM等)

3.3.1配置LDAP认证方式
修改各应用系统的登录认证模式为LDAP认证,如应用系统无该功能,需联系厂商修改代码。需要能够添加多台LDAP服务器,以避免单台Windows AD域控制器出现故障后,所有用户无法登录应用系统。

3.3.2与HR系统同步用户信息
实现第一阶段的功能只需从HR系统同步用户基本信息(工号、姓名、公司名称、部门、岗位代码、岗位名称等),在应用系统中配置角色的权限,通过将用户分配给对应的角色来实现权限管理。

由于还未实现岗位代码和各系统角色编号之间的一一匹配,因此,只能同步所有用户信息。

第一部分主要是HR系统与AD的打通,实现自动创建AD账号,及对业务系统做简单的改造,使其能利用Windows AD账号登录。

四、实现通过岗位角色自动分配权限
4.1 HR系统
实现第二阶段的功能就HR系统的改动较大,首先需要岗位代码标准化,岗位权限标准化,再增加岗位和权限对照表格。

4.1.1对HR系统的基本要求
一个岗位对应一个岗位代码,需HR部门重新梳理岗位代码;

组织架构相对稳定,不会经常变动;

对组织架构实行版本管理。不要在现有组织架构版本上直接修改,否则将导致OA系统和Windows AD同步HR的组织架构时出错。

4.1.2岗位标准权限管理表
HR系统中新增《岗位标准权限管理表》,格式如下:

岗位代码

MES权限

关务权限

OA权限

HR权限

上网权限

电脑类型

……

ITS01

权限描述

权限描述

权限描述

权限描述

购物,财经

笔记本

ITN01

权限描述

权限描述

权限描述

权限描述

视频,购物

笔记本

CW01

权限描述

权限描述

权限描述

权限描述

标准

台式机

(表一)

描述岗位在各应用系统中的权限,通过流程来修改权限描述。

4.1.3应用系统角色表
通过接口从各应用系统同步《应用系统角色表》,该表格详细地描述了应用系统中各角色所拥有的权限。

系统名称

角色编码

角色名称

权限清单

MES

A001

管理员

MES

B001

扫描员

GW

GW002

报关员

GW

GW002

报关员

GW

GW005

查帐员

GW

GW006

查帐员

MES

C003

查帐员

(表二)

4.1.4岗位角色矩阵
根据4.1.2和4.1.3两个表格,创建以下《岗位角色矩阵表》,将岗位代码和各应用系统的角色编码一一对应起来,实现根据岗位自动配置权限的功能。

岗位代码

岗位名称

系统编码

系统名称

角色编码

角色名称

ITS01

IT工程师01

MES

MES

A001

管理员

ITN01

IT工程师02

MES

MES

B001

扫描员

ITS01

IT工程师01

GW

GW

GW002

报关员

ITN01

IT工程师02

GW

GW

GW002

报关员

CW01

会计

GW

GW

GW005

查帐员

CW01

会计

GW

GW

GW006

查帐员

CW01

会计

MES

MES

C003

查帐员

(表三)

4.1.5通过流程控制权限变更
提交申请,选择系统,根据申请人的工号,调出该用户在系统中的权限描述和权限清单,输入新增或减少的权限描述,提交审批。

审批通过后,IT工程师根据权限描述,在各应用系统的后台修改角色的权限,完成后,将新增加的权限描述更新至数据库,即修改表一的内容。

4.2 Windows AD
第一阶段已实现自动创建账号,本阶段将实现如下功能:

  1.    Windows AD同步HR系统的组织架构,并按组织架构创建OU结构,并将各部门的所有人员自动添加至对应的OU。
    
  2.    根据OU结构创建同名Windows群组,并将OU下的所有人员加入同名Windows群组,Windows群组主要用于文件服务器权限控制。
    
  3.    根据用户的上网权限类型,自动开通上网权限。
    

4.3各应用系统
4.3.1从HR系统获取用户及权限信息
第一阶段只需从HR系统中获取用户基本信息,第二阶段除了同步基本信息外,还需同步岗位对应的角色代码,即将4.1.4中《岗位角色矩阵表》完整同步过来。

4.3.2将《应用系统角色表》同步至HR系统
通过接口将《应用系统角色表》同步至HR系统,即4.1.3中表格。

4.4 固定资产和其它权限
电脑、办公桌椅等资产准备和其它权限,如门禁权限等都可直接与岗位相关,再通过OA流程实现。

在这里插入代码片

你可能感兴趣的:(IT运维)