Keycloak Docker 导入 LDAP 绑定凭据而不公开它们



我有一个 keycloak docker 映像,我从 json 文件导入我的领域配置。它有效,到目前为止一切顺利。

但是在我的配置中有一个LDAP提供程序,它没有正确的凭据(绑定DN和绑定凭据(。出于安全目的,它们不会插入到 JSON 中。所以我必须在启动后在管理控制台中手动插入凭据。

我现在正在尝试找到一种安全的方法来自动化它,而无需以明文形式公开凭据,这样我们就不必在每次启动后手动插入凭据。

我想过使用 shell 脚本或其他任何东西将它们插入容器内的 JSON 文件中,然后在启动 keycloak 时导入生成的文件。问题是凭据随后将以明文形式显示在容器内的 JSON 文件中。因此,任何有权访问容器的人都可以看到它们。

我正在考虑根据环境变量在该 JSON 文件中插入凭据(这些变量安全地存储在 Gitlab 运行器中并在日志中屏蔽(,启动 keycloak,然后在 keycloak 成功启动后动态删除 JSON 文件,而不会暴露任何层中的凭据。但我找不到办法做到这一点。

有人能想到如何实现这一目标的想法吗?

任何帮助将不胜感激。

解决方法是将 keycloak 实例绑定到具有持久卷的外部数据库(此处来自 keycloak 的示例(,并在 docker-compose 中将迁移策略从 OVERWRITE_EXISTING 更改为IGNORE_EXISTING(此处的文档(,如下所示:

command: '-b 0.0.0.0 -Dkeycloak.migration.strategy=IGNORE_EXISTING'

这样,您的配置是持久的,因此您只需在第一次输入 LDAP 凭证,就不需要对管道进行复杂的操作。

相关内容

  • 没有找到相关文章

最新更新