17.7. 红帽在容器中以 FIPS 模式构建 Keycloak 服务器


当您希望红帽以 FIPS 模式构建 Keycloak 时,您的"主机"也必须使用 FIPS 模式。然后,容器将从父主机"inherit" FIPS 模式。详情请查看 RHEL 文档中的这个部分。https://access.redhat.com/documentation/zh-cn/red_hat_enterprise_linux/9/html/security_hardening/using-the-system-wide-cryptographic-policies_security-hardening#enabling-fips-mode-in-a-container_using-the-system-wide-cryptographic-policies

当从 FIPS 模式下从主机执行时,Red Hat build of Keycloak 容器镜像将自动处于 fips 模式。但是,请确保红帽构建的 Keycloak 容器也使用 BCFIPS jars (而不是 BC jar)和启动时正确的选项。

有关此问题,最好构建自己的容器镜像,如 在容器中运行红帽构建的 Keycloak 所述,并调整 它以使用 BCFIPS 等。

例如在当前目录中,您可以创建子目录 文件 并添加:

  • 如上所述,BC FIPS jar 文件
  • 自定义密钥存储文件 - 例如 keycloak-fips.keystore.bcfks
  • 安全文件 kc.java.security,为 SAML 添加了供应商(OpenJDK 21 或更新版本 OpenJDK 17 不需要)

然后,在当前目录中创建 Containerfile,如下所示:

Containerfile :

FROM registry.redhat.io/rhbk/keycloak-rhel9:26 as builder

ADD files /tmp/files/

WORKDIR /opt/keycloak
RUN cp /tmp/files/*.jar /opt/keycloak/providers/
RUN cp /tmp/files/keycloak-fips.keystore.* /opt/keycloak/conf/server.keystore
RUN cp /tmp/files/kc.java.security /opt/keycloak/conf/

RUN /opt/keycloak/bin/kc.sh build --features=fips --fips-mode=strict

FROM registry.redhat.io/rhbk/keycloak-rhel9:26
COPY --from=builder /opt/keycloak/ /opt/keycloak/

ENTRYPOINT ["/opt/keycloak/bin/kc.sh"]
Copy to Clipboard Toggle word wrap

然后,将 FIPS 作为优化的 Docker 镜像构建并启动它,如 容器中运行红帽构建的 Keycloak 所述。这些步骤要求您使用启动镜像时的参数。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat