基於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流程實現。

在這裏插入代碼片
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章