Skip to content

Keycloak

開源身分與存取管理系統

軟體分類 其他 / 網路應用
軟體標籤
開發廠商 Red Hat / Keycloak Community
Stars
0
Forks
0
License
APACHE 2.0
Version
v26.0.0
Update
OS
kubernetes

產品說明

Keycloak 是一款功能強大的開源身分認證與存取管理(IAM)系統。它的核心功能是讓開發者能以極低的工作量,為自家的應用程式或服務加入「登入」與「權限控制」功能。

Keycloak 支援工業級的標準協定,包括 OpenID Connect (OIDC)SAML 2.0 以及 OAuth 2.0。透過 Keycloak,使用者只需登入一次(SSO),就能存取企業內部所有的相關系統。此外,它還能輕易串接社交帳號(如 Google、GitHub)或企業現有的 LDAP/Active Directory 目錄,是構建安全軟體生態圈的首選工具。

核心特色:

  • 單一登入 (SSO):只需一次登入,即可跨多個獨立應用程式通行無阻。
  • 標準協定支援:完全相容 OIDC、SAML 2.0 與 OAuth 2.0。
  • 身分代理 (Identity Brokering):可作為中繼站,讓使用者透過 Facebook 或 Google 帳號登入你的系統。
  • 強大的後台管理:提供直觀的 Web UI,可細緻管理使用者、角色、群組及客戶端權限。

常用指令

Keycloak 現代化的部署方式以容器化為主,透過 kc.sh 腳本進行核心配置。

伺服器啟動與管理

# 在開發模式下啟動 Keycloak (不需 HTTPS)
kc.sh start-dev

# 啟動正式生產環境並連結資料庫
kc.sh start --db=postgres --db-url=jdbc:postgresql://localhost/keycloak

# 匯出特定 Realm (領域) 的所有設定資料
kc.sh export --dir /tmp/export --realm my-project

# 重新建置優化後的 Keycloak 映像檔 (Build Mode)
kc.sh build
專用術語功能說明使用場景
Realm領域/租戶邏輯上的隔離區塊,同一個伺服器可管理多個獨立專案
Clients客戶端應用指需要被 Keycloak 保護的應用程式(如你的 Web 或 App)
User Federation使用者同盟將現有的 LDAP 或 Active Directory 使用者同步至 Keycloak
MFA / OTP多因素認證開啟二次驗證(如 Google Authenticator)以強化帳號安全性

進階技巧

  • 自定義主題 (Theming):Keycloak 允許開發者完全自定義登入頁面、電子郵件範本的 HTML/CSS,確保登入流程與企業品牌視覺一致。

  • 細粒度授權 (Fine-Grained Authorization):除了基礎的「角色」控制,Keycloak 支援複雜的基於規則(Rule-based)或基於資源(Resource-based)的存取權限控管。

  • 適應性認證:可根據使用者的登入地點、裝置或時間,自動決定是否需要觸發更嚴格的身份驗證流程。


操作介面