最近2018中文字幕在日韩欧美国产成人片_国产日韩精品一区二区在线_在线观看成年美女黄网色视频_国产精品一区三区五区_国产精彩刺激乱对白_看黄色黄大色黄片免费_人人超碰自拍cao_国产高清av在线_亚洲精品电影av_日韩美女尤物视频网站

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
權(quán)限管理系統(tǒng)go語言 權(quán)限管理系統(tǒng)go語言有哪些

國內(nèi)重要的 Go 語言項目:TiDB 3.0 GA,穩(wěn)定性和性能大幅提升

TiDB 是 PingCAP 自主研發(fā)的開源分布式關(guān)系型數(shù)據(jù)庫,具備商業(yè)級數(shù)據(jù)庫的數(shù)據(jù)可靠性,可用性,安全性等特性,支持在線彈性水平擴展,兼容 MySQL 協(xié)議及生態(tài),創(chuàng)新性實現(xiàn) OLTP 及 OLAP 融合。

成都創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價比伍家崗網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式伍家崗網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋伍家崗地區(qū)。費用合理售后完善,十年實體公司更值得信賴。

TiDB 3.0 版本顯著提升了大規(guī)模集群的穩(wěn)定性,集群支持 150+ 存儲節(jié)點,300+TB 存儲容量長期穩(wěn)定運行。易用性方面引入大量降低用戶運維成本的優(yōu)化,包括引入 Information_Schema 中的多個實用系統(tǒng)視圖、EXPLAIN ANALYZE、SQL Trace 等。在性能方面,特別是 OLTP 性能方面,3.0 比 2.1 也有大幅提升,其中 TPC-C 性能提升約 4.5 倍,Sysbench 性能提升約 1.5 倍,OLAP 方面,TPC-H 50G Q15 因?qū)崿F(xiàn) View 可以執(zhí)行,至此 TPC-H 22 個 Query 均可正常運行。新功能方面增加了窗口函數(shù)、視圖(實驗特性)、分區(qū)表、插件系統(tǒng)、悲觀鎖(實驗特性)。

截悄宴止本文發(fā)稿時 TiDB 已在 500+ 用戶的生產(chǎn)環(huán)境中長期穩(wěn)定運行,涵蓋金融、保險、制造,互聯(lián)網(wǎng), 游戲 等領(lǐng)域,涉及交易、數(shù)據(jù)中臺、 歷史 庫等多個業(yè)務(wù)場景。不同業(yè)務(wù)場景對關(guān)系型數(shù)據(jù)庫的訴求可用 “百花齊放”來形容,但對關(guān)系數(shù)據(jù)庫最根本的訴求未發(fā)生任何變化,如數(shù)據(jù)可靠性,系統(tǒng)穩(wěn)定性,可擴展性,安全性,易用性等。請跟隨我們的腳步梳理 TiDB 3.0 有什么樣的驚喜。

3.0 與 2.1 版本相比,顯著提升了大規(guī)模集群的穩(wěn)定性,支持單集群 150+ 存儲節(jié)點,300+TB 存儲容量長期穩(wěn)定運行,主要的優(yōu)化點如下:

1. 優(yōu)化 Raft 副本之間的心跳機制,按照 Region 的活躍程度調(diào)整心跳頻率,減小冷數(shù)據(jù)對集群的負(fù)擔(dān)。

2. 熱點調(diào)度策略支持更多參數(shù)配置枝運豎,采用更高優(yōu)先級,并提升熱點調(diào)度的準(zhǔn)確性。

3. 優(yōu)化 PD 調(diào)度流程,提供調(diào)度限流機制,提升系統(tǒng)穩(wěn)定性。

4. 新增分布式 GC 功能,提升 GC 的性能,降低大集群 GC 時間,提升系統(tǒng)穩(wěn)定性。

眾所周知,數(shù)據(jù)庫查詢計劃的穩(wěn)定性對業(yè)務(wù)至關(guān)重要,TiDB 3.0 版本采用多種優(yōu)化手段提升查詢計劃的穩(wěn)定性,如下:

1. 新增 Fast Analyze 功能,提升收集統(tǒng)計信息的速度,降低集群資源的消耗及對業(yè)務(wù)的影響。

2. 新增 Incremental Analyze 功能,提升收集單調(diào)遞增的索引統(tǒng)計信息的速度,降低集群資源的消耗及對業(yè)務(wù)的影響。

3. 在 CM-Sketch 中新增 TopN 的統(tǒng)計信息,緩解 CM-Sketch 哈希沖突導(dǎo)致估算偏大,提升代價估算的準(zhǔn)確性,提升查詢計劃的穩(wěn)定性。

4. 引入 Skyline Pruning 框架,利用規(guī)則防止查詢計劃過度依賴統(tǒng)計信息,緩解因統(tǒng)計信息滯后導(dǎo)致選擇的查詢計劃不是最優(yōu)的情況,提升查詢計劃的穩(wěn)定性。

5. 新增 SQL Plan Management 功能,支持在查詢計劃不準(zhǔn)確時手動綁定查詢計劃,提升查詢計劃的穩(wěn)定性。

1. OLTP

3.0 與 2.1 版本相比 Sysbench 的 Point Select,Update Index,Update Non-Index 均提升約 1.5 倍,TPC-C 性能提升約 4.5 倍。主要的優(yōu)化點如下:

1. TiDB 持續(xù)優(yōu)化 SQL 執(zhí)行器,包括:優(yōu)化 NOT EXISTS 子查詢轉(zhuǎn)化為 Anti Semi Join,優(yōu)化多表 Join 時 Join 順序選擇等。

2. 優(yōu)化 Index Join 邏輯,擴大 Index Join 算子的適用場景并提升代價估算的準(zhǔn)確性。

3. TiKV 批量接收和發(fā)送消息功能,提升寫入密集的場景的 TPS 約 7%,讀密集的猛大場景提升約 30%。

4. TiKV 優(yōu)化內(nèi)存管理,減少 Iterator Key Bound Option 的內(nèi)存分配和拷貝,多個 Column Families 共享 block cache 提升 cache 命中率等手段大幅提升性能。

5. 引入 Titan 存儲引擎插件,提升 Value 值超過 1KB 時性能,緩解 RocksDB 寫放大問題,減少磁盤 IO 的占用。

6. TiKV 新增多線程 Raftstore 和 Apply 功能,提升單節(jié)點內(nèi)可擴展性,進(jìn)而提升單節(jié)點內(nèi)并發(fā)處理能力和資源利用率,降低延時,大幅提升集群寫入能力。

TiDB Lightning 性能與 2019 年年初相比提升 3 倍,從 100GB/h 提升到 300GB/h,即 28MB/s 提升到 85MB/s,優(yōu)化點,如下:

1. 提升 SQL 轉(zhuǎn)化成 KV Pairs 的性能,減少不必要的開銷。

2. 提升單表導(dǎo)入性能,單表支持批量導(dǎo)入。

3. 提升 TiKV-Importer 導(dǎo)入數(shù)據(jù)性能,支持將數(shù)據(jù)和索引分別導(dǎo)入。

4. TiKV-Importer 支持上傳 SST 文件限速功能。

RBAC(Role-Based Access Control,基于角色的權(quán)限訪問控制) 是商業(yè)系統(tǒng)中最常見的權(quán)限管理技術(shù)之一,通過 RBAC 思想可以構(gòu)建最簡單“用戶-角色-權(quán)限”的訪問權(quán)限控制模型。RBAC 中用戶與角色關(guān)聯(lián),權(quán)限與角色關(guān)聯(lián),角色與權(quán)限之間一般是多對多的關(guān)系,用戶通過成為什么樣的角色獲取該角色所擁有的權(quán)限,達(dá)到簡化權(quán)限管理的目的,通過此版本的迭代 RBAC 功能開發(fā)完成。

IP 白名單功能(企業(yè)版特性) :TiDB 提供基于 IP 白名單實現(xiàn)網(wǎng)絡(luò)安全訪問控制,用戶可根據(jù)實際情況配置相關(guān)的訪問策略。

Audit log 功能(企業(yè)版特性) :Audit log 記錄用戶對數(shù)據(jù)庫所執(zhí)行的操作,通過記錄 Audit log 用戶可以對數(shù)據(jù)庫進(jìn)行故障分析,行為分析,安全審計等,幫助用戶獲取數(shù)據(jù)執(zhí)行情況。

加密存儲(企業(yè)版特性) :TiDB 利用 RocksDB 自身加密功能,實現(xiàn)加密存儲的功能,保證所有寫入到磁盤的數(shù)據(jù)都經(jīng)過加密,降低數(shù)據(jù)泄露的風(fēng)險。

完善權(quán)限語句的權(quán)限檢查 ,新增 ANALYZE,USE,SET GLOBAL,SHOW PROCESSLIST 語句權(quán)限檢查。

1. 新增 SQL 方式查詢慢查詢,豐富 TiDB 慢查詢?nèi)罩緝?nèi)容,如:Coprocessor 任務(wù)數(shù),平均/最長/90% 執(zhí)行/等待時間,執(zhí)行/等待時間最長的 TiKV 地址,簡化慢查詢定位工作,提高排查慢查詢問題效率,提升產(chǎn)品易用性。

2. 新增系統(tǒng)配置項合法性檢查,優(yōu)化系統(tǒng)監(jiān)控項等,提升產(chǎn)品易用性。

3. 新增對 TableReader、IndexReader 和 IndexLookupReader 算子內(nèi)存使用情況統(tǒng)計信息,提高 Query 內(nèi)存使用統(tǒng)計的準(zhǔn)確性,提升處理內(nèi)存消耗較大語句的效率。

4. 制定日志規(guī)范,重構(gòu)日志系統(tǒng),統(tǒng)一日志格式,方便用戶理解日志內(nèi)容,有助于通過工具對日志進(jìn)行定量分析。

5. 新增 EXPLAIN ANALYZE 功能,提升SQL 調(diào)優(yōu)的易用性。

6. 新增 SQL 語句 Trace 功能,方便排查問題。

7. 新增通過 unix_socket 方式連接數(shù)據(jù)庫。

8. 新增快速恢復(fù)被刪除表功能,當(dāng)誤刪除數(shù)據(jù)時可通過此功能快速恢復(fù)數(shù)據(jù)。

TiDB 3.0 新增 TiFlash 組件,解決復(fù)雜分析及 HTAP 場景。TiFlash 是列式存儲系統(tǒng),與行存儲系統(tǒng)實時同步,具備低延時,高性能,事務(wù)一致性讀等特性。 通過 Raft 協(xié)議從 TiKV 中實時同步行存數(shù)據(jù)并轉(zhuǎn)化成列存儲格式持久化到一組獨立的節(jié)點,解決行列混合存儲以及資源隔離性問題。TiFlash 可用作行存儲系統(tǒng)(TiKV)實時鏡像,實時鏡像可獨立于行存儲系統(tǒng),將行存儲及列存儲從物理隔離開,提供完善的資源隔離方案,HTAP 場景最優(yōu)推薦方案;亦可用作行存儲表的索引,配合行存儲對外提供智能的 OLAP 服務(wù),提升約 10 倍復(fù)雜的混合查詢的性能。

TiFlash 目前處于 Beta 階段,計劃 2019 年 12 月 31 日之前 GA,歡迎大家申請試用。

未來我們會繼續(xù)投入到系統(tǒng)穩(wěn)定性,易用性,性能,彈性擴展方面,向用戶提供極致的彈性伸縮能力,極致的性能體驗,極致的用戶體驗。

穩(wěn)定性方面 V4.0 版本將繼續(xù)完善 V3.0 未 GA 的重大特性,例如:悲觀事務(wù)模型,View,Table Partition,Titan 行存儲引擎,TiFlash 列存儲引擎;引入近似物理備份恢復(fù)解決分布數(shù)據(jù)庫備份恢復(fù)難題;優(yōu)化 PD 調(diào)度功能等。

性能方面 V4.0 版本將繼續(xù)優(yōu)化事務(wù)處理流程,減少事務(wù)資源消耗,提升性能,例如:1PC,省去獲取 commit ts 操作等。

彈性擴展方面,PD 將提供彈性擴展所需的元信息供外部系統(tǒng)調(diào)用,外部系統(tǒng)可根據(jù)元信息及負(fù)載情況動態(tài)伸縮集群規(guī)模,達(dá)成節(jié)省成本的目標(biāo)。

我們相信戰(zhàn)勝“未知”最好的武器就是社區(qū)的力量,基礎(chǔ)軟件需要堅定地走開源路線。截止發(fā)稿我們已經(jīng)完成 41 篇源碼閱讀文章。TiDB 開源社區(qū)總計 265 位 Contributor,6 位 Committer,在這里我們對社區(qū)貢獻(xiàn)者表示由衷的感謝,希望更多志同道合的人能加入進(jìn)來,也希望大家在 TiDB 這個開源社區(qū)能夠有所收獲。

TiDB 3.0 GA Release Notes:

Golang 開發(fā)企業(yè)級資源權(quán)限管理【第一步表設(shè)計】

【功能權(quán)限】 :對菜單欄目進(jìn)行權(quán)限控制,查并敬詢,增加,刪除,修改功能,一般來說這種對資源的權(quán)限控制模型可以做到比絕行慎較統(tǒng)一(用戶、角色、資源)。

【數(shù)據(jù)權(quán)限】 :哪些人能看到哪些數(shù)據(jù),例如淘寶本人只能看自己訂單,北京地區(qū)部門領(lǐng)導(dǎo)可以看到電器類部門訂單, 最高領(lǐng)導(dǎo)能看到人所有訂單等等。 這種跟業(yè)務(wù)高度相關(guān),(網(wǎng)絡(luò)上資料暫時比較少)原理主要是對SQL語句添加where 條件

【字段權(quán)限】 :訂單能看到哪些字段,如供應(yīng)商,看不到內(nèi)部價、 出廠價等信息。 (網(wǎng)絡(luò)上資料暫時比較少)實現(xiàn)原理跟數(shù)據(jù)權(quán)限控制是一致的。對SQL語句添加select 條件

這次,我們主要講解最常用的 功能權(quán)限控制 的實現(xiàn)過程,這類WEB權(quán)限控制,在任意后端語言上都可以實現(xiàn)Java、Golang、PHP、Nodejs、Python等等,主要理解其數(shù)據(jù)模型。

這一篇最后介紹下 Casbin是一個強大的、高效的開源訪問控帶棚制框架,其權(quán)限管理機制支持多種訪問控制模型。并指出主流后端語言,目前Casbin權(quán)限控制支持的語言有Go Java Node.js PHP Python C# Delphi,使用Casbin可以極大提高權(quán)限控制開發(fā)效率。當(dāng)然你不用這個庫,自己設(shè)計表,實現(xiàn)原理是一樣。

聊聊BasS-區(qū)塊鏈即服務(wù)

1.什么是Bass

2.Bass 行業(yè)發(fā)展的趨勢與挑戰(zhàn)?

1.什么是Bass?

1.1 定義:Bass Blockchain as service,區(qū)塊鏈即服務(wù)。 即根據(jù)需求為開發(fā)者、創(chuàng)業(yè)者提供一站式的區(qū)塊鏈服務(wù)。

BasS是云計算與區(qū)塊鏈技術(shù)結(jié)合的方式之一。 一種是區(qū)塊鏈在云上,一種是區(qū)塊鏈在云里。即區(qū)塊鏈Bass服務(wù),第二種方式相對第一種對開發(fā)者來說,更簡單,開發(fā)成本更低。

像騰訊云和螞蟻區(qū)塊鏈都是直接提供的BasS服務(wù),對他們老說,本身就是云服務(wù)提供商,所以與云服務(wù)結(jié)合,成本較低,實現(xiàn)方便。 對用戶來說,當(dāng)然使用門檻更低,可以直接調(diào)用接口就好。

但是我們這種中小平臺一般是提供第一種方式,鑒于我們服務(wù)器采購成本及客戶信息數(shù)據(jù)的安全、隱私考慮亮槐高,在實施階段,我們一般都是讓客服提供服務(wù)器(云服務(wù)或者自己搭建的硬件服務(wù)都可),我們有專門的技術(shù)人員到客戶的服務(wù)器上把鏈搭起來。根據(jù)用戶的需求提供密鑰管理方案、并為用戶提供與區(qū)塊鏈交互的API,(除了標(biāo)準(zhǔn)化的API,我們會根據(jù)用戶的需求幫助用戶去定義一些API字段,并給到用戶前臺應(yīng)用與區(qū)塊鏈結(jié)合的升級建議),根據(jù)用戶的需求為用戶搭建底層的可視化(區(qū)塊鏈瀏覽器)和管控系統(tǒng)(權(quán)限管理系統(tǒng)、可視化管理系統(tǒng)),大數(shù)據(jù)處理系統(tǒng)、可視化大屏方案等。

注: IasS(Infrastructure as a Service),即基礎(chǔ)設(shè)施即服務(wù)。指把IT基礎(chǔ)設(shè)施作為一種服務(wù)通過網(wǎng)絡(luò)對外提供,并根據(jù)用戶對資源的實際使用量或占用量進(jìn)行計費的一種服務(wù)模式

PasS(platform as a service )PaaS公司在網(wǎng)上提供各種開發(fā)和分發(fā)應(yīng)用的解決方案,比如虛擬服務(wù)器和操作系統(tǒng)。這節(jié)省了你在硬件上的費用,也讓分散的工作室之間的合作變得更加容易。

阿里云是iaas還是paas?

阿里云應(yīng)是屬于IaaS,而新浪云、百度云與百度開放云平臺則屬于PaaS。

IaaS其實提供的就是服務(wù)器,用戶可以自行在服務(wù)器安裝配置各種軟件環(huán)境??梢院莒`活的實現(xiàn)各種功能。

PaaS目前主要是WEB環(huán)境的應(yīng)用,通常支持PHP、Java、Python和GO語言。必須在云計算服務(wù)商的框架內(nèi)開發(fā)。

IaaS需要自己搭建程序運行環(huán)境,優(yōu)勢是靈活,缺點就是需要自己配置

PaaS不需要自己做環(huán)境配置,缺點是必須使用指定的開發(fā)語言,遵循平臺的開發(fā)規(guī)范。

1.2 Bass 模式的技術(shù)特點

1.技術(shù)框架:性能相對穩(wěn)定,通用性高,合理的分層解耦要素

2.產(chǎn)品體系,具備商業(yè)化一站式能力,提供功能閉關(guān)和錯場景適配能力

3.生態(tài)建設(shè),在區(qū)塊鏈安全,區(qū)塊鏈工具,區(qū)塊鏈業(yè)適配領(lǐng)域行程合作伙伴矩陣,加速商業(yè)化落地

4.應(yīng)用實踐,具備價值可衡量,通用性、模板化、興業(yè)靈活適配等核心能力

1.3 BaaS 和 BTaaS的區(qū)別.

BTaaS,即Blockchain Technology as a service,中文為區(qū)塊鏈技術(shù)服務(wù),指利用區(qū)塊鏈技術(shù),去構(gòu)建一個新的區(qū)塊鏈,并結(jié)合真實業(yè)務(wù)的需求,在鏈上開發(fā)應(yīng)用或者與應(yīng)用明搏相結(jié)合。

由此,其實我們提供的服務(wù)更接近于BTaaS吧。

1.4 相關(guān)數(shù)據(jù)預(yù)測,2024年,區(qū)塊鏈BasS市場將會超過300億美元。

并不曉得怎么預(yù)測的!其實我自己是應(yīng)該找資料,認(rèn)真的想一下,這個市場到底怎么樣!

2.Bass 發(fā)展趨勢和挑戰(zhàn)

2.1 趨勢

前景較為廣闊,發(fā)展較為迅速,區(qū)塊鏈即服務(wù)這個概念提出以來,世界上重多巨頭紛紛入局,隨著區(qū)塊鏈技術(shù)的發(fā)展,Bass市場會迎來大規(guī)模爆發(fā)。

多寡頭和垂直領(lǐng)域BaaS并存發(fā)展,不只是巨頭,重多垂直領(lǐng)域敬尺的區(qū)塊鏈廠商也紛紛入局BasS,比如專注做版權(quán)的紙貴,也推出了自己的BasS平臺。

技術(shù)差異較小,產(chǎn)品和服務(wù)為特色

大部分區(qū)塊鏈底層平臺都采用的超級賬本或者借鑒以太坊的框架,技術(shù)上的差異其實相對不大, 未來的競爭力更在于產(chǎn)品的想法和服務(wù)能力。?

BasS平臺離真正去中心化還有一段路要走。

真正的去中心化,其實還是要依賴公鏈,公鏈的運轉(zhuǎn)除了幣之外,還有其它的激勵措施嗎?需要思考

但是我一直相信,未來會有一條高性能的公鏈鏈接整個世界,而我們可以搭建自己的鏈,把需要的數(shù)據(jù)選擇性的鏈接到這條公鏈上,實現(xiàn)公開可信!

2.2 挑戰(zhàn)

區(qū)塊鏈技術(shù)本身的局限性,:受限于區(qū)塊鏈技術(shù)本身的性能,TPS達(dá)不到,很多看似很好的應(yīng)用落地都比較困難,比如金融領(lǐng)域的交易、結(jié)算等。

其它技術(shù)的發(fā)展:除了交易之外,區(qū)塊鏈技術(shù)本身也只是一種可信的存儲方式,他只能保證鏈上的真實性,每次與現(xiàn)實世界的交互都要有信用背書才行,他的很多應(yīng)用場景,比如溯源等,其實也依賴于物聯(lián)網(wǎng)、數(shù)字身份等其他技術(shù)的發(fā)展和應(yīng)用,且需要制度和規(guī)則上的保證。

人們的認(rèn)知:區(qū)塊鏈技術(shù)還處在一個非常早期的發(fā)展階段,大部人對它不懂,甚至并不太樂意接受,所以真正落地的應(yīng)用并不多。

如何在應(yīng)用系統(tǒng)中實現(xiàn)數(shù)據(jù)權(quán)限的控制功能

基于RBAC模型的權(quán)限管理系統(tǒng)的設(shè)計和實現(xiàn)0 引言 管理信息系統(tǒng)是一個復(fù)雜的人機交互系統(tǒng),其中每個具體環(huán)節(jié)都可能受到安全威脅。構(gòu)建強健的權(quán)限管理系統(tǒng),保證管理信息系統(tǒng)的安全性手碼是十分重要的。權(quán)限管理系統(tǒng)是管理信息系統(tǒng)中可代碼重用性最高的模塊之一。任何多用戶的系統(tǒng)都不可避免的涉及到相同的權(quán)限需求,都需要解決實體鑒別、數(shù)據(jù)保密性、數(shù)據(jù)完整性、防抵賴和訪問控制等安全服務(wù)(據(jù)ISO7498-2)。例如,訪問控制服務(wù)要求系統(tǒng)根據(jù)操作者已經(jīng)設(shè)定的操作權(quán)限,控制操作者可以訪問哪些資源,以及確定對資源如何進(jìn)行操作。 目前,權(quán)限管理系統(tǒng)也是重復(fù)開發(fā)率最高的模塊之一。在企業(yè)中,不同的應(yīng)用系統(tǒng)都擁有一套獨立的權(quán)限管理系統(tǒng)。每套權(quán)限管理系統(tǒng)只滿足自身系統(tǒng)的權(quán)限管理需要,無論在數(shù)據(jù)存儲、權(quán)限訪問和權(quán)限控制機制等方面都可能不一樣,這種不一致性存在如下弊端: a.系統(tǒng)管理員需要維護(hù)多套權(quán)限管理系統(tǒng),重復(fù)勞動。 b.用戶管理、組織機構(gòu)等數(shù)據(jù)重復(fù)維護(hù),數(shù)據(jù)一致性、完整性得不到保證。 c.由于權(quán)限管理系統(tǒng)的設(shè)計不同,概念解釋不同,采用的技術(shù)有差異,權(quán)限管理系統(tǒng)之間的集成存在問題,實現(xiàn)單點登錄難度十分大,也給企業(yè)構(gòu)建企業(yè)門戶帶來困難。 采用統(tǒng)一的安全管理設(shè)計思想,規(guī)范化設(shè)計和先進(jìn)的技術(shù)架構(gòu)體系,構(gòu)建一個通用的、完善的、安全的、易于管理的、有良好的可移植性和擴展性的權(quán)限管理系統(tǒng),使得權(quán)限管理系統(tǒng)真正成為權(quán)限控制的核心,在維護(hù)系統(tǒng)安全方面發(fā)揮重要的作用,是十分必要的。 本文介紹一種基于角色的訪問控制RBAC(Role-Based policies Access Control)模型的權(quán)限管理系統(tǒng)的設(shè)計和實現(xiàn),系統(tǒng)采用基于J2EE架構(gòu)技術(shù)實現(xiàn)。并以討論了應(yīng)用系統(tǒng)如何進(jìn)行權(quán)限的訪問和控制。1 采用J2EE架構(gòu)設(shè)計 采用J2EE企業(yè)平臺架構(gòu)構(gòu)建權(quán)限管理系統(tǒng)。J2EE架構(gòu)集成了先進(jìn)的軟件體系架構(gòu)思想,具有采用多層分布式應(yīng)用模型、基于組件并能重用組件、統(tǒng)一完全模型和靈活的事務(wù)處理控制等特點。 系統(tǒng)邏輯上分為四層:客戶層、Web層、業(yè)務(wù)層和資源層。 a. 客戶層主要負(fù)責(zé)人機交互??梢允瓜到y(tǒng)管理員通過Web瀏覽器訪問,也可以提供不同業(yè)務(wù)系統(tǒng)的API、Web Service調(diào)用。 b. Web層封裝了用來提供通過Web訪問本系統(tǒng)的客戶端的表示層邏輯的服務(wù)。 c. 業(yè)務(wù)層提供業(yè)務(wù)服務(wù),包括業(yè)務(wù)數(shù)據(jù)和業(yè)務(wù)邏輯,集中了系統(tǒng)業(yè)務(wù)處理。主要的業(yè)務(wù)管理模塊包括組織機構(gòu)管理、用戶管理、資源管理、權(quán)限管理和訪問控制幾個部分。 d. 資源層主要負(fù)責(zé)數(shù)據(jù)的存儲、組織和管理等。資源層提供了兩種實現(xiàn)方式:大型關(guān)系型數(shù)據(jù)庫(如ORACLE)和LDAP(Light Directory Access Protocol,輕量級目錄訪問協(xié)議)目錄服務(wù)器(如微軟的活動目錄)。 2 RBAC模老派型 訪問控制是針對越權(quán)使用資源的防御措施。基本目標(biāo)是為了限制訪問主體(用戶、進(jìn)程、服務(wù)等)對訪問客體(文件、系統(tǒng)等)的訪問權(quán)限,從而使計算機系統(tǒng)在合法范圍內(nèi)使用;決定用戶能做什么,也決定代表一定用戶利益的程序能做什么[1]。 企業(yè)環(huán)境中的訪問控制策略一般有三種:自主型訪問控制方法、強制型訪問控制方法和基于角色的訪問控制方法(RBAC)。其中,自主式太弱,強制式太強,二畢含哪者工作量大,不便于管理[1]?;诮巧脑L問控制方法是目前公認(rèn)的解決大型企業(yè)的統(tǒng)一資源訪問控制的有效方法。其顯著的兩大特征是:1.減小授權(quán)管理的復(fù)雜性,降低管理開銷;2.靈活地支持企業(yè)的安全策略,并對企業(yè)的變化有很大的伸縮性。 NIST(The National Institute of Standards and Technology,美國國家標(biāo)準(zhǔn)與技術(shù)研究院)標(biāo)準(zhǔn)RBAC模型由4個部件模型組成,這4個部件模型分別是基本模型RBAC0(Core RBAC)、角色分級模型RBAC1(Hierarchal RBAC)、角色限制模型RBAC2(Constraint RBAC)和統(tǒng)一模型RBAC3(Combines RBAC)[1]。 a. RBAC0定義了能構(gòu)成一個RBAC控制系統(tǒng)的最小的元素集合。在RBAC之中,包含用戶users(USERS)、角色roles(ROLES)、目標(biāo)objects(OBS)、操作operations(OPS)、許可權(quán)permissions(PRMS)五個基本數(shù)據(jù)元素,權(quán)限被賦予角色,而不是用戶,當(dāng)一個角色被指定給一個用戶時,此用戶就擁有了該角色所包含的權(quán)限。會話sessions是用戶與激活的角色集合之間的映射。RBAC0與傳統(tǒng)訪問控制的差別在于增加一層間接性帶來了靈活性,RBAC1、RBAC2、RBAC3都是先后在RBAC0上的擴展。 b. RBAC1引入角色間的繼承關(guān)系,角色間的繼承關(guān)系可分為一般繼承關(guān)系和受限繼承關(guān)系。一般繼承關(guān)系僅要求角色繼承關(guān)系是一個絕對偏序關(guān)系,允許角色間的多繼承。而受限繼承關(guān)系則進(jìn)一步要求角色繼承關(guān)系是一個樹結(jié)構(gòu)。 c. RBAC2模型中添加了責(zé)任分離關(guān)系。RBAC2的約束規(guī)定了權(quán)限被賦予角色時,或角色被賦予用戶時,以及當(dāng)用戶在某一時刻激活一個角色時所應(yīng)遵循的強制性規(guī)則。責(zé)任分離包括靜態(tài)責(zé)任分離和動態(tài)責(zé)任分離。約束與用戶-角色-權(quán)限關(guān)系一起決定了RBAC2模型中用戶的訪問許可。 d. RBAC3包含了RBAC1和RBAC2,既提供了角色間的繼承關(guān)系,又提供了責(zé)任分離關(guān)系。 3核心對象模型設(shè)計 根據(jù)RBAC模型的權(quán)限設(shè)計思想,建立權(quán)限管理系統(tǒng)的核心對象模型。對象模型中包含的基本元素主要有:用戶(Users)、用戶組(Group)、角色(Role)、目標(biāo)(Objects)、訪問模式(Access Mode)、操作(Operator)。主要的關(guān)系有:分配角色權(quán)限PA(Permission Assignment)、分配用戶角色UA(Users Assignmen描述如下: a .控制對象:是系統(tǒng)所要保護(hù)的資源(Resource),可以被訪問的對象。資源的定義需要注意以下兩個問題: 1.資源具有層次關(guān)系和包含關(guān)系。例如,網(wǎng)頁是資源,網(wǎng)頁上的按鈕、文本框等對象也是資源,是網(wǎng)頁節(jié)點的子節(jié)點,如可以訪問按鈕,則必須能夠訪問頁面。 2.這里提及的資源概念是指資源的類別(Resource Class),不是某個特定資源的實例(Resource Instance)。資源的類別和資源的實例的區(qū)分,以及資源的粒度的細(xì)分,有利于確定權(quán)限管理系統(tǒng)和應(yīng)用系統(tǒng)之間的管理邊界,權(quán)限管理系統(tǒng)需要對于資源的類別進(jìn)行權(quán)限管理,而應(yīng)用系統(tǒng)需要對特定資源的實例進(jìn)行權(quán)限管理。兩者的區(qū)分主要是基于以下兩點考慮: 一方面,資源實例的權(quán)限常具有資源的相關(guān)性。即根據(jù)資源實例和訪問資源的主體之間的關(guān)聯(lián)關(guān)系,才可能進(jìn)行資源的實例權(quán)限判斷。 例如,在管理信息系統(tǒng)中,需要按照營業(yè)區(qū)域劃分不同部門的客戶,A區(qū)和B區(qū)都具有修改客戶資料這一受控的資源,這里“客戶檔案資料”是屬于資源的類別的范疇。如果規(guī)定A區(qū)只能修改A區(qū)管理的客戶資料,就必須要區(qū)分出資料的歸屬,這里的資源是屬于資源實例的范疇。客戶檔案(資源)本身應(yīng)該有其使用者的信息(客戶資料可能就含有營業(yè)區(qū)域這一屬性),才能區(qū)分特定資源的實例操作,可以修改屬于自己管轄的信息內(nèi)容。 另一方面,資源的實例權(quán)限常具有相當(dāng)大的業(yè)務(wù)邏輯相關(guān)性。對不同的業(yè)務(wù)邏輯,常常意味著完全不同的權(quán)限判定原則和策略。 b.權(quán)限:對受保護(hù)的資源操作的訪問許可(Access Permission),是綁定在特定的資源實例上的。對應(yīng)地,訪問策略(Access Strategy)和資源類別相關(guān),不同的資源類別可能采用不同的訪問模式(Access Mode)。例如,頁面具有能打開、不能打開的訪問模式,按鈕具有可用、不可用的訪問模式,文本編輯框具有可編輯、不可編輯的訪問模式。同一資源的訪問策略可能存在排斥和包含關(guān)系。例如,某個數(shù)據(jù)集的可修改訪問模式就包含了可查詢訪問模式。 c.用戶:是權(quán)限的擁有者或主體。用戶和權(quán)限實現(xiàn)分離,通過授權(quán)管理進(jìn)行綁定。 d.用戶組:一組用戶的集合。在業(yè)務(wù)邏輯的判斷中,可以實現(xiàn)基于個人身份或組的身份進(jìn)行判斷。系統(tǒng)弱化了用戶組的概念,主要實現(xiàn)用戶(個人的身份)的方式。 e.角色:權(quán)限分配的單位與載體。角色通過繼承關(guān)系支持分級的權(quán)限實現(xiàn)。例如,科長角色同時具有科長角色、科內(nèi)不同業(yè)務(wù)人員角色。 f.操作:完成資源的類別和訪問策略之間的綁定。 g.分配角色權(quán)限PA:實現(xiàn)操作和角色之間的關(guān)聯(lián)關(guān)系映射。 h.分配用戶角色UA:實現(xiàn)用戶和角色之間的關(guān)聯(lián)關(guān)系映射。 該對象模型最終將訪問控制模型轉(zhuǎn)化為訪問矩陣形式。訪問矩陣中的行對應(yīng)于用戶,列對應(yīng)于操作,每個矩陣元素規(guī)定了相應(yīng)的角色,對應(yīng)于相應(yīng)的目標(biāo)被準(zhǔn)予的訪問許可、實施行為。按訪問矩陣中的行看,是訪問能力表CL(Access Capabilities)的內(nèi)容;按訪問矩陣中的列看,是訪問控制表ACL(Access Control Lists)的內(nèi)容。 4 權(quán)限訪問機制 權(quán)限管理系統(tǒng)端:提供集中管理權(quán)限的服務(wù),負(fù)責(zé)提供用戶的鑒別、用戶信息、組織結(jié)構(gòu)信息,以及權(quán)限關(guān)系表的計算。 系統(tǒng)根據(jù)用戶,角色、操作、訪問策略和控制對象之間的關(guān)聯(lián)關(guān)系,同時考慮權(quán)限的正負(fù)向授予,計算出用戶的最小權(quán)限。在業(yè)務(wù)邏輯層采用Session Bean實現(xiàn)此服務(wù),也可以發(fā)布成Web Service。采用代理Proxy模式,集中控制來自應(yīng)用系統(tǒng)的所要訪問的權(quán)限計算服務(wù),并返回權(quán)限關(guān)系表,即二元組{ObjectId,OperatorId}。 應(yīng)用系統(tǒng)端:可以通過訪問能力表CL和訪問控制表ACL兩種可選的訪問方式訪問權(quán)限管理系統(tǒng)。 以基于J2EE框架的應(yīng)用系統(tǒng)為例,說明訪問過程: a.首先采用基于表單的驗證,利用Servlet方式集中處理登錄請求[2]??紤]到需要鑒別的實體是用戶,采用基于ACL訪問方式。用戶登錄時調(diào)用權(quán)限管理系統(tǒng)的用戶鑒別服務(wù),如果驗證成功,調(diào)用權(quán)限計算服務(wù),并返回權(quán)限關(guān)系表,以HashMap的方式存放到登錄用戶的全局Session中;如果沒有全局的Session或者過期,則被導(dǎo)向到登錄頁面,重新獲取權(quán)限。 b.直接URL資源采用基于CL訪問方式進(jìn)行的訪問控制。如果用戶直接輸入URL地址訪問頁面,有兩種方法控制訪問:1.通過權(quán)限標(biāo)簽讀取CL進(jìn)行控制;2.采取Filter模式,進(jìn)行權(quán)限控制,如果沒有權(quán)限,則重定向到登錄頁面。 5 權(quán)限控制機制 權(quán)限所要控制的資源類別是根據(jù)應(yīng)用系統(tǒng)的需要而定義的,具有的語義和控制規(guī)則也是應(yīng)用系統(tǒng)提供的,對于權(quán)限管理系統(tǒng)來說是透明的,權(quán)限將不同應(yīng)用系統(tǒng)的資源和操作統(tǒng)一對待。應(yīng)用系統(tǒng)調(diào)用權(quán)限管理系統(tǒng)所獲得的權(quán)限關(guān)系表,也是需要應(yīng)用系統(tǒng)來解釋的。按此設(shè)計,權(quán)限管理系統(tǒng)的通用性較強,權(quán)限的控制機制則由應(yīng)用系統(tǒng)負(fù)責(zé)處理。 由于應(yīng)用系統(tǒng)的權(quán)限控制與特定的技術(shù)環(huán)境有關(guān),以基于J2EE架構(gòu)的應(yīng)用系統(tǒng)為例來說明,系統(tǒng)主要的展示組件是JSP頁面,采用標(biāo)記庫和權(quán)限控制組件共同來實現(xiàn)。 a. 權(quán)限標(biāo)識:利用標(biāo)簽來標(biāo)識不同級別資源,頁面權(quán)限標(biāo)簽將標(biāo)識頁面對象。 b. 權(quán)限注冊:遍歷JSP頁面上的權(quán)限控制標(biāo)簽,讀取JSP的控制權(quán)限。通過權(quán)限注冊組件將JSP頁面上的權(quán)限控制對象以及規(guī)則注冊到權(quán)限管理信息系統(tǒng)中。 c. 權(quán)限控制:應(yīng)用系統(tǒng)用戶登錄系統(tǒng)時,從權(quán)限管理系統(tǒng)獲得權(quán)限關(guān)系表之后,一方面,權(quán)限標(biāo)簽控制頁面展示;另一方面,利用權(quán)限控制組件在業(yè)務(wù)邏輯中進(jìn)行相應(yīng)的權(quán)限控制,尤其是和業(yè)務(wù)邏輯緊密聯(lián)系的控制對象實例的權(quán)限控制。 6 權(quán)限存儲機制 權(quán)限管理系統(tǒng)采用了兩種可選的存儲機制:LDAP(Lightweight Directory Access Protocol)目錄服務(wù)數(shù)據(jù)庫和關(guān)系型數(shù)據(jù)庫。存儲用戶信息、組織結(jié)構(gòu)、角色、操作、訪問模式等信息。 其中,目錄服務(wù)系統(tǒng)基于LDAP標(biāo)準(zhǔn),具有廣泛的數(shù)據(jù)整合和共享能力。元目錄(Meta-Directory)功能允許快速、簡潔的與企業(yè)現(xiàn)存基礎(chǔ)結(jié)構(gòu)進(jìn)行集成,解決基于傳統(tǒng)RDBMS等用戶數(shù)據(jù)庫與LDAP用戶數(shù)據(jù)庫的同步問題。 7 結(jié)語 本文論述了一種基于RBAC模型的權(quán)限管理系統(tǒng)的實現(xiàn)技術(shù)方案。該權(quán)限管理系統(tǒng)已成功應(yīng)用于系統(tǒng)的設(shè)計和開發(fā)實踐,與應(yīng)用系統(tǒng)具有很好的集成。實踐表明,采用基于RBAC模型的權(quán)限具有以下優(yōu)勢:權(quán)限分配直觀、容易理解,便于使用;擴展性好,支持崗位、權(quán)限多變的需求;分級權(quán)限適合分層的組織結(jié)構(gòu)形式;重用性強。


文章名稱:權(quán)限管理系統(tǒng)go語言 權(quán)限管理系統(tǒng)go語言有哪些
分享網(wǎng)址:http://fisionsoft.com.cn/article/ddpgjjo.html