產品說明
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)的存取權限控管。
適應性認證:可根據使用者的登入地點、裝置或時間,自動決定是否需要觸發更嚴格的身份驗證流程。
操作介面



