LDAP(Lightweight Directory Access Protocol)即輕量目錄訪問協(xié)議,是一個開放、廣泛被使用的工業(yè)標準(IEFT、RFC),在1993年就被提出。企業(yè)級軟件也通常具備"支持LDAP"的功能,比如Jira, Confluence, openVPN等,企業(yè)也經(jīng)常采用LDAP服務器來作為企業(yè)的認證源和數(shù)據(jù)源。但是大家比較常見的認識誤區(qū)是,可以使用LDAP來實現(xiàn)SSO。我們可以先分析一下它的主要功能點或場景:
當LDAP作為數(shù)據(jù)源時,對外通過LDAP Search以及LDAP Modify協(xié)議來進行數(shù)據(jù)同步;當作為認證源時,通過LDAP Bind協(xié)議來進行身份認證。
但是SSO的定義是單次登錄(或者只輸入一次賬號密碼)就可以訪問多個應用,本質上是B/S架構的,也就是說需要借助瀏覽器才能實現(xiàn)SSO功能,而LDAP更適合于C/S架構的登陸,通過LDAP其實并不能做到SSO,用戶必須還得再次輸入密碼. LDAP只是提供了統(tǒng)一管理用戶/密碼的功能(即認證源)。
所以,LDAP看似適用性比較廣,但它真的適合每個企業(yè)嗎?企業(yè)需要先思考幾個問題:
使用的應用或系統(tǒng)是否以C/S架構為主?
用LDAP還是其他SSO系統(tǒng),得取決于對接的應用是B/S架構的還是C/S架構的。比如像OpenVPN這種C/S架構,它本身的登陸是沒有瀏覽器的,所以無法通過SSO協(xié)議對接(玉符自己用的VPN、SSH、Wifi等對接的就是LDAP擴展)。因為LDAP是上一個時代的產(chǎn)物,針對典型的C/S軟件架構,發(fā)明初衷就沒有SSO的概念,而是為了存儲有層級關系的目錄結構,基本不支持現(xiàn)在流行的B/S架構,需要用戶重復輸入密碼。
準備使用什么目錄去實現(xiàn)LDAP?開源的還是商業(yè)的
實現(xiàn)LDAP協(xié)議的服務器有多種選擇,例如Active Directory,OpenLDAP,Apache Directory Studio或者其他商業(yè)版服務,如果存儲的信息量比較大或者對可用性與性能有更高要求,那么是建議用商業(yè)版的。
打算投入研發(fā)精力去開發(fā)新功能嗎?
企業(yè)人員數(shù)量超過50后,很多新的需求就會出現(xiàn),例如員工自助密碼服務(Self-service Password)等,很多LDAP服務器是不自帶這些功能的,都需要IT人員找到對應解決方案和實現(xiàn)。
是否有專人去維護?
企業(yè)快速增長、組織結構變動,都會帶來大量的維護工作量,更不用說這些服務器要的長期維護升級工作。
對安全、加密的需求?
LDAP發(fā)明的時候還沒有Token的概念,在協(xié)議中需要客戶端傳輸明文密碼到服務器進行驗證,對于現(xiàn)代化的企業(yè)部署環(huán)境來說,是非常不安全的。
此外,合規(guī)、數(shù)據(jù)可視化等,這些新的企業(yè)需求,是LDAP難以達成的。如果只是需要一個類似數(shù)據(jù)庫的多層級存儲服務,LDAP則可以充分滿足。
作為專業(yè)的IDaaS(身份即服務)提供商,我們除了提供全種類SSO的對接,還完美支持LDAP的對接,企業(yè)能夠根據(jù)服務的架構類型(C/S或B/S)對接所有的應用,員工只需要一套賬號密碼,即可訪問所有應用,不僅體驗了極致的便利性,同時兼顧了高安全性。我們提供的LDAP拓展功能(配置詳情見圖1),有以下特點:
按99.99%的超高可用性和高性能進行分布式設計,免去企業(yè)大量的維護成本
默認提供了安全加密的LDAPs(LDAPS = LDAP + TLS, 類似于 HTTPS = HTTP + TLS,加密網(wǎng)絡傳輸?shù)乃袃?nèi)容),大大提高驗證過程的安全性
功能完整,支持員工自助密碼服務、個人信息更新等
所有驗證過程可追溯,可視化報表輸出等滿足企業(yè)各類合規(guī)要求