Keycloak

什麼是 Keycloak?

Keycloak 是開放原始碼的身分識別與存取管理軟體。它讓許多應用程式共用一個支援多重要素驗證的登入,並廣泛用於為客製應用程式加入符合標準的登入。

與工程師談談 知識庫
示意圖:一個帳號登入身分識別提供者,之後開啟電子郵件、企業應用程式與內部工具

它是什麼

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 與網路分區,並有人在監看。

瞭解更多

要為自己的軟體加入登入功能嗎?

告訴我們應用程式的功能,以及誰會登入它。我們會概述符合標準的登入如何配合。

開始洽談