2.4. 财务级 API (FAPI)支持
红帽构建的 Keycloak 使管理员更容易确保其客户端符合以下规格:
此合规性意味着红帽构建的 Keycloak 服务器将验证授权服务器的要求,这在规格中提到。红帽构建的 Keycloak 适配器没有对 FAPI 的任何特定支持,因此客户端(应用程序)一侧所需的验证可能仍然需要手动完成,或者通过其他第三方解决方案完成。
2.4.1. FAPI 客户端配置集 复制链接链接已复制到粘贴板!
为确保您的客户端兼容 FAPI,您可以在您的域中配置客户端策略,如服务器管理 指南中所述,并将它们链接到 FAPI 支持的全局客户端配置集,这些配置文件可在每个域中自动可用。您可以根据您需要客户端符合哪个 FAPI 配置集,使用 fapi-1-baseline 或 fapi-1-advanced 配置集。您还可以使用配置集 fapi-2-security-profile 或 fapi-2-message-signing 来满足 FAPI 2 Draft 规格的合规性。
如果要使用 Pushed Authorization Request (PAR),建议您客户端同时使用 fapi-1-baseline 配置集和 fapi-1-advanced 用于 PAR 请求。具体来说,fapi-1-baseline 配置集包含 pkce-enforcer executor,这样可确保客户端使用带有安全 S256 算法的 PKCE。FAPI 高级客户端不需要此功能,除非它们使用 PAR 请求。
如果您要以 FAPI 兼容方式使用 CIBA,请确保您的客户端同时使用 fapi-1-advanced 和 fapi-ciba 客户端配置集。需要使用 fapi-1-advanced 配置集,或者包含请求的 executor 的其他客户端配置文件,因为 fapi-ciba 配置集仅包含 CIBA 特定的 executor。当强制实施 FAPI CIBA 规格的要求时,需要额外的要求,如强制机密客户端或证书绑定访问令牌。
红帽 Keycloak 的构建符合 Open Finance Brasil financial-grade API Security Profile 1.0 实现者 Draft 3。这比 FAPI 1 高级 规格的一些要求更严格,因此可能需要更严格地配置客户端 策略 来强制实施某些要求。特别是:
-
如果您的客户端没有使用 PAR,请确保它使用加密的 OIDC 请求对象。这可以通过使用带有启用了
Encryption Required的secure-request-objectexecutor 的客户端配置文件来实现。 -
确保对于 JWS,客户端使用
PS256算法。对于 JWE,客户端应使用RSA-OAEP和A256GCM。这可能需要在这些算法适用 的所有客户端 设置中设置。
2.4.3. 澳大利亚消费者数据权利(CDR)安全配置文件 复制链接链接已复制到粘贴板!
Red Hat build of Keycloak 与 Australia Consumer Data Right Security Profile 兼容。
如果要应用 Australia CDR 安全配置集,您需要使用 fapi-1-advanced 配置集,因为 Australia CDR 安全配置集基于 FAPI 1.0 高级安全配置集。如果您的客户端也应用 PAR,请确保客户端应用 RFC 7637 证明密钥进行代码交换(PKCE),因为澳大利亚 CDR 安全配置集需要在应用 PAR 时应用 PKCE。这可以通过使用带有 pkce-enforcer executor 的客户端配置文件来实现。
2.4.4. TLS 注意事项 复制链接链接已复制到粘贴板!
随着机密信息被交换,所有交互都应通过 TLS (HTTPS)加密。此外,FAPI 规格中使用的密码套件和 TLS 协议版本有一些要求。要满足这些要求,您可以考虑配置允许的密码。此配置可以通过设置 https-protocols 和 https-cipher-suites 选项来完成。红帽 Keycloak 的构建默认使用 TLSv1.3,因此可能不需要更改默认设置。但是,如果您需要因为某种原因回退到较低 TLS 版本,可能需要调整密码。如需了解更多详细信息,请参阅配置 TLS 章节。