
它是什麼
Keycloak 起源於 Red Hat,現在是 Cloud Native Computing Foundation 的專案。它執行在您自己的伺服器上,可以容器形式或在 Kubernetes 上執行,並支援 OpenID Connect、OAuth 2.0 與 SAML。使用這些標準的應用程式把登入交給 Keycloak,並取得已確認的身分,因此應用程式本身從不處理密碼。
單一登入為何重要
有了單一登入,每個人只需一個帳號即可使用所有已連接的應用程式。有人離職時,停用該帳號就能一併移除其所有存取權。多重要素登入只需在一處強制要求,員工也不必重複使用或寫下太多密碼。
主要組成
- Realm:realm 是一組獨立的使用者、設定與應用程式。一個安裝可容納多個 realm,例如一個給員工,一個給客戶。
- Client:每個透過 Keycloak 讓使用者登入的應用程式,都會註冊為一個 client,並有自己的設定。
- 身分代理(Identity brokering):Keycloak 可以把登入交給另一個提供者並信任其結果,因此員工可以使用自己的 Microsoft 365 帳號登入。
- 使用者聯合(User federation):Keycloak 可以從既有的 LDAP 目錄或 Microsoft Active Directory 讀取使用者,而不必為每個帳號另存一份副本。
Keycloak 與 Authentik
Authentik 涵蓋相同的領域。Keycloak 是較老的專案,也是開發人員需要在自己軟體內建登入時的常見選擇。Authentik 更重視在其網頁介面中設計登入步驟,並附有代理 outpost,可在沒有登入功能的應用程式前加上登入。Keycloak 也能保護這些應用程式,通常需要在它們前面另設代理。
KawaConnect 如何運用單一登入
我們建置客製化的企業軟體,而登入是應用程式中應遵循公開標準、而非從頭自行撰寫的部分。我們在 Microsoft 365 中的身分識別工作涵蓋 Entra ID 帳號、多重要素驗證與條件式存取。我們也執行自行託管的 Linux、Docker 與 Kubernetes 服務,其中身分識別提供者讓內部工具能與其他一切使用相同的 Microsoft 帳號。
相關服務
Kubernetes 顧問服務
供自行託管服務及其設定使用的叢集。
Microsoft 365
為員工帳號設定 Entra ID、MFA 與條件式存取。
網路安全
遠端存取、MFA 與網路分區,並有人在監看。
瞭解更多
- Keycloak 文件伺服器管理、保護應用程式與升級指南。
- Keycloak 網站該專案的首頁,提供下載、版本消息與入門指南。
- 維基百科上的 Keycloak對該專案及其在 Red Hat 歷史的中立概述。
- OpenID Connect 如何運作OpenID Foundation 對 Keycloak 與 Authentik 所用登入標準的說明。