日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

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

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
什么是Keycloak和它的具體用途

近年來,應用程序的安全性正在成為一個越來越重要的課題,在企業(yè)的日常運營過程中被頻繁提及。為了避免出現(xiàn)那些針對受保護數(shù)據(jù)被未經(jīng)授權(quán)訪問到,進而招致數(shù)百萬美元的經(jīng)濟處罰,企業(yè)往往希望自己手頭的幾乎每一種應用與服務,都能夠得到配套的用戶身份驗證與訪問管理(Identity and Access Management)。

創(chuàng)新互聯(lián)建站主營崇仁網(wǎng)站建設的網(wǎng)絡公司,主營網(wǎng)站建設方案,成都app軟件開發(fā)公司,崇仁h5重慶小程序開發(fā)搭建,崇仁網(wǎng)站營銷推廣歡迎崇仁等地區(qū)企業(yè)咨詢

目前,為了實現(xiàn)上述管控目的,市場上有著許多種或為免費、或是付費的安全解決方案。本文將向您介紹其中的一種新型實用工具--Keycloak。

Keycloak是什么?

Keycloak早在2014年9月就發(fā)布了其最初版本。目前,它的最新版本為13.0.1 (于2021年06月01日發(fā)布) 。由GitHub的項目描述頁面可知,Keycloak是一個“身份和訪問管理”的工具。它是由Red Hat的人員提供開發(fā)與維護。作為一個開源工具,Keycloak目前已獲得了Apache 2.0的許可證,因此任何感興趣開發(fā)者都可以對其作出貢獻。同時,由于它是Red Hat SSO的上游項目,因此可以被用戶運用到以企業(yè)為中心(enterprise-centered)的項目中。目前,Keycloak支持三個不同類型的協(xié)議,您可以在文末的實用鏈接中查看到。

Keycloak的特性

有了前面的概念,下面讓我們來具體看看Keycloak到底具有哪些功能特性。

  • 多協(xié)議支持

前文提到了Keycloak可以支持三種不同的協(xié)議,他們分別是:OpenID連接、OAuth 2.0和SAML 2.0。

  • SSO

Keycloak能夠完全支持單點登錄(Single Sign-On)與單點登出(Single Sign-Out)。

  • 管理控制臺

Keycloak提供了基于Web的GUI,您可以按需配置各種實例。

  • 用戶身份和訪問

Keycloak可以作為一個獨立的用戶身份和訪問管理器,以便我們創(chuàng)建用戶數(shù)據(jù)庫,自定義角色和用戶組。據(jù)此,我們可以基于預定義的角色,在應用程序的內(nèi)部進行相關安全設置,以實現(xiàn)對于用戶身份的驗證。

  • 外部身份標識源的同步

如果您的用戶目前已經(jīng)具有某種類型的用戶數(shù)據(jù)庫,那么Keycloak則能夠與此類數(shù)據(jù)庫進行同步。默認情況下,它支持LDAP和活動目錄(AD)。當然,您也可以使用Keycloak的用戶存儲API,為任何用戶創(chuàng)建自定義的可擴展數(shù)據(jù)庫。值得注意的是,在這種組合方案中,某些必要的數(shù)據(jù)可能無法獲取到Keycloak的齊全功能,因此您最好在實施前進行全面調(diào)研。

  • 身份代理

Keycloak可以作為用戶和一些外部身份提供者之間代理。我們可以通過Keycloak的管理面板,來編輯兩側(cè)對應關系的列表。

  • 社交身份提供者

Keycloak內(nèi)置并支持Google、Twitter、Facebook、以及Stack Overflow等社交身份提供者。當然,這需要您在管理面板中進行手動配置。我們可以在Keycloak的相關文檔中,查詢到其支持的、社交身份提供者的全量列表,以及分別對應的配置手冊。

  • 頁面定制

Keycloak允許您定制所有需要顯示給用戶看的頁面。由于這些頁面是.ftl格式的,因此您可以使用經(jīng)典的HTML標記和CSS風格,來統(tǒng)一展示應用程序和公司品牌的風格。您甚至可以通過定制JS腳本,來個性化各種原本受限的頁面。

Keycloak的發(fā)行版

目前,Keycloak有三種主要的發(fā)行版:

  • 服務器版

您可以從Keycloak的下載頁面處,獲取帶有獨立應用的tar或zip包。里面已經(jīng)打包好了所有的腳本、文檔、以及能讓其正常運行的基本組件。目前,此類發(fā)行版中包含有兩個分支:一種可由WildFly服務器支持,而另一個是由Quarkus支持。由于它們目前尚處于預覽版階段,因此您在使用過程中可能會碰到一些意想不到的錯誤。

  • Docker鏡像版

它們是適合于Docker、Podman、Kubernetes、以及OpenShift的發(fā)行版。目前,有兩個針對Keycloak的官方Docker鏡像:一個是由Quay Container Registry持有的quay.io/keycloak/keycloak,另一個是Docker Hub持有的jboss/keycloak。您可以通過簡單的docker pull命令,來分別進行下載。

  • 操作者(Operator)版

這是基于Operator SDK,且針對Kubernetes和OpenShift的發(fā)行版。

可見,不同的發(fā)行版適用于不同的業(yè)務需求。如果您正在使用Docker或Kubernetes的話,請選用Keycloak的鏡像與操作者版。其中,Keycloak的Docker鏡像版對于開發(fā)和測試是非常實用的。

作為聯(lián)動,您可以先搭建Keycloak服務器版,對其進行測試與變更。在完成測試后,您再重啟Docker鏡像,恢復您對Keycloak的所有更改,從而得到一個“純凈”的環(huán)境,以便進行下一步測試。

Keycloak的集成

在理解了Keycloak的基本概念與功能特性之后,我們下面來討論一下如何將它集成到自己的應用程序中。

在此,我將主要從Java生態(tài)系統(tǒng)的角度展開討論,當然也會涉及到一些其他語言和框架。目前,在Java領域中,時下流行的Spring Boot、Quarkus和Micronaut之類的框架,都帶有方便與Keycloak集成的各種適配器。例如:Spring Boot就有spring-boot-keycloak-starter,而Quarkus則有quarks-keycloak-authorization。此外,Python包:python-keycloak、基于Scala的應用庫:keycloak4s、以及基于C# 應用的Keycloak.Net,也都是非常實用的。所有這些庫不但都是開源的,并且由對應的社區(qū)也在圍繞著Keycloak進行開發(fā)和維護。您可以在文末找到相關鏈接。

其中,Spring Boot和Quarkus框架提供了已有的抽象,因此整個集成只需數(shù)行代碼、以及個別配置屬性的填寫,即可實現(xiàn)。而其他庫則只為客戶提供了Keycloak API,因此集成起來略顯復雜。

Keycloak的優(yōu)勢

  • Keycloak是免費的。而諸如AuthO或Okta之類的工具則需要付費。
  • 由于它支持三種不同的身份驗證協(xié)議,因此您可以只使用一種工具,來協(xié)同多種應用程序,滿足不同的安全需求。
  • 您可以根據(jù)實際需求,或自己的應用偏好,在不受限制的情況下,選用某種認證協(xié)議與工具。正如前文所述,Keycloak是Red Hat SSO的上游項目,因此它在產(chǎn)品質(zhì)量和系統(tǒng)設計上都有保證。
  • Keycloak的強大社區(qū)支持,既體現(xiàn)在大量的使用案例上,又形成了良好的問題互助與解答氛圍。例如,由于Keycloak有一個內(nèi)置的身份提供者同步機制,因此它對于那些已將用戶存放到LDAP或AD之類用戶數(shù)據(jù)庫環(huán)境的場景,特別實用。
  • 它支持諸如Google和Facebook之類社交身份提供者,您和您的團隊能夠直接以開箱即用(out of the box)的方式,使用社交賬號進行登錄。
  • Keycloak提供了基于Web的GUI,用戶可以對配置進行輕松地修改。
  • Keycloak SSO可以支持用戶同時訪問多項服務。

Keycloak的不足之處

Keycloak雖然有著上述顯著的優(yōu)點,但是它也有著自身的不足之處。

  • 如果某個應用程序只有單個客戶用到了Keycloak,那么他將無法獲益SSO的整體規(guī)模性優(yōu)勢。
  • 雖然Keycloak在原則上可以被配置成一個純用戶數(shù)據(jù)庫,但是它會附帶有各種特殊用途的表,因此您還不如直接使用專有的用戶關系型數(shù)據(jù)庫。
  • 由于Keycloak屬于一個免費的開源項目,因此在其社區(qū)中,并無固定的開發(fā)者、及其發(fā)展路線路圖。而且,它無法像Stack Overflow那樣,為用戶提供具有質(zhì)量保證的企業(yè)級服務支持和響應水平。

小結(jié)

綜上所述,我們討論了有關Keycloak的基本概念,不同發(fā)行版本,功能性特征,以及各種優(yōu)缺點。作為一種新的身份和訪問管理工具,它值得我們在適當?shù)墓芸貞脠鼍爸羞M行試用。當然,如果您在使用過程中有什么心得,也可以通過其社區(qū),給予及時的反饋,以促進其不斷迭代與改進。

實用鏈接

  • 主頁 - https://www.keycloak.org/
  • Keycloak文檔 - https://www.keycloak.org/docs/latest/getting_started/index.html
  • Keycloak下載鏈接 - https://www.keycloak.org/downloads
  • Keycloak4s - https://github.com/fullfacing/keycloak4s
  • Keycloak.Net - https://github.com/lvermeulen/Keycloak.Net
  • Python Keycloak - https://github.com/marcospereirampj/python-keycloak

分享名稱:什么是Keycloak和它的具體用途
URL地址:http://m.5511xx.com/article/coppjhp.html