13.7. 客户端策略
为了方便保护客户端应用程序,以统一的方式实现以下点会很有帮助。
- 对客户端可以有的配置设置策略
- 验证客户端配置
- 遵守所需的安全标准和配置文件,如 foundation-grade API (FAPI)和 OAuth 2.1
要以统一的方式实现这些点,引入了 客户端策略 概念。
13.7.1. 使用案例 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
客户端策略实现了如下所列点:
- 对客户端可以有的配置设置策略
- 客户端上的配置设置可以通过客户端创建/更新期间的客户端策略实施,也可以在 OpenID Connect 请求到红帽构建的 Keycloak 服务器期间(与特定客户端相关)。红帽构建的 Keycloak 支持通过 保护应用程序和服务指南中的 客户端注册 策略 中所述的类似内容。但是,客户端注册策略只能涵盖 OIDC Dynamic Client Registration。客户端策略不仅涵盖客户端注册策略可以做什么,以及其他客户端注册和配置方式。当前计划用于客户端注册,由客户端策略替代。
- 验证客户端配置
- 红帽构建的 Keycloak 支持验证客户端是否遵循 Code Exchange 的概念验证、Request Object Signing Algorithm、Holder-of-Key Token 等设置,以此类推,如 Authorization Endpoint、Token Endpoint 等。它们可以由每个设置项目(在管理控制台、开关、下拉菜单等)指定。要使客户端应用程序安全,管理员需要以适当的方式设置许多设置,这使管理员很难保护客户端应用程序。客户端策略可以对上述客户端配置进行这些验证,也可以使用它们自动配置一些客户端配置交换机来满足高级安全要求。以后,单个客户端配置设置可能会被客户端策略直接执行所需的验证替代。
- 遵循所需的安全标准和配置集,如 FAPI 和 OAuth 2.1
- 全局客户端配置集 是默认情况下,在 Red Hat build of Keycloak 中预先配置的客户端配置集。它们预先配置为符合安全应用程序部分中的 FAPI 和 OAuth 2.1 等标准安全配置集,这有助于管理员轻松确保其客户端应用程序符合特定的安全配置集。https://docs.redhat.com/en/documentation/red_hat_build_of_keycloak/26.2/html-single/securing_applications_and_services_guide/目前,红帽构建的 Keycloak 有全局配置集来支持 FAPI 和 OAuth 2.1 规格。管理员只需要配置客户端策略,以指定哪些客户端应与 FAPI 和 OAuth 2.1 兼容。管理员可以配置客户端配置文件和客户端策略,以便红帽构建的 Keycloak 客户端可以轻松符合 SPA、原生 App、Open bank 等各种安全配置集。