應用程式與服務安全規劃

保護應用程式安全的介紹與基本概念

作為一個符合 OAuth2、OpenID Connect 和 SAML 標準的伺服器,只要應用程式和服務使用的技術堆疊支援這些協定中的任何一個,Keycloak 就可以保護它們的安全。關於 Keycloak 支援的安全協定的更多詳細資訊,請參考伺服器管理指南

大多數對於這些協定的支援已經可以從程式語言、框架或它們正在使用的反向代理中獲得。善用應用程式生態系統中已有的支援是使您的應用程式完全符合安全標準和最佳實務的關鍵,這樣您可以避免供應商鎖定。

對於某些程式語言,Keycloak 提供了程式庫,試圖彌補特定安全協定支援不足的缺陷,或提供與伺服器更豐富且緊密的整合。這些程式庫稱為 Keycloak 用戶端配接器,如果您無法依賴應用程式生態系統中提供的資源,它們應該作為最後的手段使用。

保護應用程式和服務的基本步驟

以下是在 Keycloak 中保護應用程式或服務的基本步驟。

  1. 使用以下選項之一,將用戶端註冊到 realm

    • Keycloak 管理主控台

    • 用戶端註冊服務

    • CLI

  2. 使用以下選項之一,在您的應用程式中啟用 OpenID Connect 或 SAML 協定

    • 善用應用程式生態系統中現有的 OpenID Connect 和 SAML 支援

    • 使用 Keycloak 配接器

本指南提供了這些步驟的詳細說明。您可以在伺服器管理指南中找到更多關於如何透過管理主控台將用戶端註冊到 Keycloak 的詳細資訊。

開始使用

Keycloak 快速入門儲存庫提供了關於如何使用不同的程式語言和框架保護應用程式和服務的範例。透過閱讀其文件和程式碼庫,您將了解您的應用程式和服務要使用 Keycloak 保護其安全所需的最基本更改。

另請參閱以下章節,以取得關於 OpenID Connect 和 SAML 協定的受信任和廣為人知的用戶端實作的建議。

OpenID Connect

JavaScript (用戶端)

Node.js (伺服器端)

C#

Python

Android

iOS

Apache HTTP 伺服器

術語

本指南中使用以下術語

  • 用戶端是與 Keycloak 互動以驗證用戶身份並取得令牌的實體。通常,用戶端是代表用戶運作的應用程式和服務,它們為用戶提供單一登入體驗,並使用伺服器發出的令牌存取其他服務。用戶端也可以是只對取得令牌感興趣並代表自己存取其他服務的實體。

  • 應用程式包括各種為每個協定的特定平台運作的應用程式

  • 用戶端配接器是使透過 Keycloak 保護應用程式和服務更容易的程式庫。它們提供與底層平台和框架的緊密整合。

  • 建立用戶端註冊用戶端是相同的動作。建立用戶端是使用管理主控台建立用戶端的術語。註冊用戶端是使用 Keycloak 用戶端註冊服務註冊用戶端的術語。

  • 服務帳戶是一種能夠代表自己取得令牌的用戶端類型。

本頁內容