開源RBAC產品的利與弊(上)
在企業層面,基于角色的訪問控制(Role-based Access Control,RBAC)是一種常用的服務,也是目前公認的用戶授權管理***實踐。盡管RBAC實施***實踐仍處于未成熟階段,但是多數企業已經以某種形式部署了這一技術。現在,絕大多數已部署的RBAC服務都是基于商業化的現成產品,而只有少數內部開發的RBAC服務支持自定義功能。
與此同時,開源RBAC產品方興未艾,并深受經驗豐富的身份管理人員的青睞。然而,當企業希望在內部擴展RBAC服務時,問題隨之而來:“商業化的 RBAC產品是擴展RBAC服務的唯一選擇嗎?可以使用開源RBAC產品擴展RBAC服務嗎?”要回答這一問題,企業必須清楚,開源RBAC產品與現有應用整合的難度如何,能否提供與商業化RBAC產品相同的安全性級別?
開源RBAC產品的優勢
需要指出的是,放眼當今的商業RBAC市場,最暢銷的RBAC產品并不是出自***的公司。這是因為RBAC的潛在功能尚未完全實現,如果一個廠商可以更快地改進RBAC產品的功能,則它就可以獲得超過其競爭對手的優勢。正是由于這一原因,在商業RBAC市場上,一些小公司(例如Aveksa、BHOLD Company和SailPoint Technologies)反而戰勝了作為其競爭對手的大公司(例如CA、IBM和已被甲骨文收購的Sun Microsystems等)。
這種“船小好調頭”的靈活性在開源RBAC產品上也得到了很好的體現。與商業化的RBAC產品不同,RSBAC、USRBAC、django-rbac、grsecurity以及其他開源RBAC產品,均是由獨立開發人員在活躍的用戶社區的幫助下完成的。由于開源RBAC產品的開發人員不用考慮商業化廠商所需的開銷,所以他們可以集中更多的精力來增強其產品的性能。另外,通常情況下,開源RBAC產品的開發人員在改進和提高其產品性能時,產品的發布審查流程既正式又快速,從而可以更加迅速地將創新應用到其產品中。還有一點需要指出的是,開源RBAC產品的開發人員之所以自己動手開發RBAC產品,往往是因為市場上的RBAC產品達不到其嚴格的功能和性能標準。在有些情況下(例如django-rbac),一些已經開始開發自己的開源RBAC產品的開發人員會放棄自己的工作,轉而加入 django-rbac的開發團隊,以便為所有用戶提供更好的開源RBAC產品。
開源RBAC產品區別于商業化的RBAC產品的第二個不同之處是,它們通常專注于特定的問題領域。舉例來說,如果企業希望部署一種面向小規模的、專注于特定網絡領域(例如Active Directory(活動目錄)、Unix或LDAP(輕量目錄訪問協議))的RBAC授權管理機制,則對企業來說,更便宜、更合適的選擇可能是開源 RBAC產品,而不是旨在為大型企業提供RBAC服務且價格昂貴的商業RBAC產品。另外,由于開源RBAC產品一般專注于單一的問題領域,所以往往能夠提供更深入的功能,而且具有更多的配置選項,以增強部署的靈活性。
開源RBAC產品區別于商業化的RBAC產品的第三個不同之處是,它們不關心市場占有率。開源RBAC產品的代碼在全球范圍內發布,并盡可能廣泛地進行分發,因此產品中不包括意在鎖定客戶的專利功能。相反,開源RBAC產品的開發基于開放、免費的可用標準,例如美國國家標準與技術研究所(NIST)的 RBAC標準。由于開源RBAC產品完全基于開放的標準,所以往往能夠與更多的其他身份管理產品及其支持的應用進行互操作。
本文主要介紹了開源RBAC產品的優勢,要了解開源RBAC產品的不足,請查看下文:開源RBAC產品的利與弊(下)。