1引言
在企業信息應用上不同的服務由不同的系統提供,但是這些服務仍提供給某些特定系統的特定用戶,并且出于應用系統安全上的需要,每一個系統都需要對用戶的身份進行認證和對其用戶所訪問的系統功能進行授權,應用系統在用戶管理上基本上都自成體系,以保證合法用戶的權益,拒統要求提供不同的用戶名和口令,這樣給用戶帶來了極大的不便;同時,口令存儲環節的增加,也增加了口令泄露的可能性。
同時,在推進企業單位信息化建設的進程中,也普遍存在多個系統信息資源目錄的統一問題,普遍存在統一認證和統一授權管理問題,普遍存在統一認證和統一授權機制、分級分類認證和授權操作問題。這些問題的解決直接影響整個信息資源系統的可控性和安全性。這是當前各企業單位信息化建設中的一個關鍵問題。
用戶認證和授權管理正是基于上述需求,而設計開發的認證和授權管理類安全控制系統,提供與當前企業單位實際組織體系和業務模式相適應的分級分類認證和授權機制。向用戶和應用系統提供整合的認證和授權控制管理服務,提供用戶身份認證到應用授權的映射功能。提供用戶控制的基于多種業務屬性組合條件下靈活的授權和訪問控制機制,簡化具體應用系統的開發維護。
圖1統一用戶認證和統一用戶授權實施前后比較圖
下面對用戶統一授權管理的實現進行重點介紹,由于統一用戶認證發展的較早,且已普遍應用在企業信息系統中,這里只做概要介紹。
2統一用戶認證
為了解決多系統中存在的多重帳號/口令管理而提出的解決方案,它應有統一用戶管理、統一身份認證和接口服務等三大主要部分組成。
2.1統一用戶管理
建立權威的、適合各應用系統使用的統一帳號數據庫,帳號數據庫可基于活動目錄或關系型數據庫建立。統一用戶管理模塊,可供系統管理人員和各單位內部管理員使用,可以分級維護所有的組織單位和人員信息,包括:用戶添加、用戶管理、組織單位管理、角色管理、用戶角色關系配置。
2.2統一身份認證
作為電子政務應用系統的統一認證模塊,是實現單點登錄的基礎,可根據不同的認證需要選擇不同的認證方式,為不同類型的用戶提供了安全認證服務。常見的認證方式有:Windows域集成認證、表單用戶口令認證、數字證書認證。所有的用戶均可通過訪問統一身份認證的入口來完成政務系統的單點登錄。
圖2統一用戶身份認證模式圖
2.3接口服務
對外提供標準的WebService服務,允許其他應用系統調用。主要接口包括:組織架構和用戶帳號信息的下載接口;用戶登錄驗證接口;用戶管理、組織架構管理的接口等。
統一用戶認證我們很好的實現了,我們已經開發了相關的統一用戶認證系統,提供了基本的用戶認證接口以及相關的用戶管理和用戶認證,認證接口只提供簡單的用戶和密碼認證,并且識別該用戶是否是有登陸相關系統的許可(只是解決了用戶和系統間的對應關系,還不涉及訪問權限與數據操作權限的認證),然后各系統按照要求驗證用戶密碼。
3用戶統一授權
統一認證只是第一步,而要做到統一授權那么難度就將大大加大,因為各個系統的權限管理是不一樣,有些比較簡單,只需要控制訪問權限便可,而有些除了要控制訪問權限,還要控制數據操作權限,因此要使統一用戶管理系統能實現對各用戶在不同系統的權限進行統一管理,授權是一件很不容易的事情。
下面我們簡單的介紹一下統一用戶授權的兩種方法:
方法一:只在統一用戶管理系統中建立用戶和各系統角色的對應關系,這種方式就只能告訴統一用戶管理人員,該用戶在各系統有什么權限,但真正的賦權還是在各系統進行,各系統在新增角色或者為用戶更改角色時只需要通過相關的同步接口通知統一用戶管理系統就行,注意只是提供角色的描述,或者數據操作權限的簡單描述,因為這樣對統一用戶管理系統的權限模型要求不高,只要能提供可對角色和操作進行描述的模型就行。因此統一用戶管理系統并不能真正依賴這些信息來獲取用戶的正確的權限信息,統一用戶認證接口并不把相關的角色或操作權限通過接口傳送給各個應用系統,用戶登陸后再在各系統權限模型中獲取相關的操作權限和數據操作權限。
這種方式是不能實現統一授權,只能為管理人員提供統一的用戶權限視圖,但實現方式相對簡單,只能作為一種過渡的方法,本文不作更深的研究。
方法二:這是一個終極目標的做法,這個方法是將所有系統的權限控制部分都建在統一用戶管理系統中。首先,統一用戶管理系統在設計時就要能建立一個能適應各種系統權限管理要求的權限模型。對于己建立的老系統,各系統將自己的用戶角色管理,角色一權限管理等部分抽離出來,統一放在統一用戶管理系統中,而對于新建立的系統,各系統在建設的初期就要把自己權限設計的要求提交給統一用戶管理系統,按照其需求在本身統一用戶管理系統的權限模型上去構建出該系統的實例。那么管理員就可以通過統一授權系統為各用戶在不同系統的權限進行配置,在登陸時各系統就調用相關的統一認證和授權接口,獲取用戶相關的權限信息,進到各系統后再創建用戶,將相關的權限信息賦予給用戶類,然后就可以在應用系統中進行權限驗證。
這種方式既能對用戶進行統一的授權和認證,也能展現各用戶的統一權限視圖,在本文中我們主要研究此種方法。
統一用戶授權管理是以資源的授權、訪問決策控制集中管理為目標,以資源的訪問控制為導向,以資源的安全、防擴散為前提,將各個應用系統的所有受控資源進行統一授權,不僅可以保護應用系統的信息安全、建立全面的信息保密制度,同時滿足對系統文檔加密和授權需求,構建安全可控的文檔安全、防擴散管理系統。
圖3企業級認證授權中心的實現
3.1用戶角色管理
“角色”主要用來區別各類不同用戶,通過把用戶加入到某一種角色來實現該用戶的權限分配。管理員可以添加自定義的角色,從而實現靈活的系統配置。如建立表1的用戶角色表。
3.2模塊管理
為控制用戶使用系統各功能模塊的權限,把系統中所有的功能項添加到模塊表中,添加到表中的模塊以菜單的形式顯示在系統中。增加新的功能模塊時,添加模塊表,把新增的模塊納入一致的權限管理范疇。如表2的某系統各模塊編碼表。
3.3模塊授權配置
對系統各個模塊進行定義,并設置對哪些角色、部門和用戶開放,從而實現模塊的訪問控制,確保信息安全。沒有權限的用戶將無法使用對應模塊。有多少套系統就建立多少張象表3一樣的“用戶和xx系統各模塊授權表”。其中表3豎欄“Y1, Y2, Y3, Y4, Y5,..、Yn-1,Yn,..”為用戶;表3橫欄“Gnl, Gn2, Gn3. Gn4、..、Gng、.."為模塊;表3中間的內容為授權結果,01”為己授權,“0”沒有授權。如用戶Y1在使用。系統模塊Gn2有權限,用戶Y1在使用xx系統模塊Gn1沒有權限,如此,用戶YZ對所有應用系統中的各個模塊的權限就確定了。其他用戶仿照用戶Y1授權辦法授權,這樣就實現了用戶集中授權問題,如表3所示。
表1用戶角色表
表2 xx系統模塊編碼表
表3用戶和xx系統各模塊授權表
4分級統一用戶認證和授權管理
建立企業級總部統一認證、授權服務器和二級認證、授權服務器群組(二級認證、授權服務器1,二級認證、授權服務器2,......,二級認證、授權服務器n)。企業級總部統一認證、授權服務器包含了二級認證、授權服務器群組中的所有用戶信息和統一認證、授權信息等,二級認證、授權服務器群組中的每一組用戶信息和統一認證、授權信息等是企業級總部統一認證、授權服務器中用戶信息和統一認證、授權信息等的子集。這樣就可以實現分級統一的用戶認證和授權管理中心的建立,如圖4所示。
圖4 分級統一用戶身份認證和授權總體架構圖
5結束語
用戶集中統一認證己在新祖油田信息化建設中成功應用數年,用戶集中授權工作新祖油田還在規劃和設想當中,本文提出的用戶集中授權方案在2005年就開始設想,只是當時用戶集中統一認證工作才剛剛正式開始實施,那個時候再開始實施用戶集中授權工作存在許多的困難,特別是工作量較大,再加上思想意思還沒有完全到位,所以就放到今天還沒有開始實施,但這個方案從理論上和實踐上都不會有問題,是一個完全行的通的技術方案.本文公開此技術方案是想和同行們共同探討和分享信息化技術成果,有不妥之處敬請批評指正。
核心關注:拓步ERP系統平臺是覆蓋了眾多的業務領域、行業應用,蘊涵了豐富的ERP管理思想,集成了ERP軟件業務管理理念,功能涉及供應鏈、成本、制造、CRM、HR等眾多業務領域的管理,全面涵蓋了企業關注ERP管理系統的核心領域,是眾多中小企業信息化建設首選的ERP管理軟件信賴品牌。
轉載請注明出處:拓步ERP資訊網http://www.guhuozai8.cn/
本文標題:統一用戶認證和授權管理的實現