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"]

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

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.