hom*_*xto 3 keycloak keycloak-services
我已将 Keycloak 设置为 SAML 代理,身份验证由当局提供的外部 IdP 完成。使用此 IdP 登录的用户都被接受,我们需要从 Keycloak 获得一个 OAuth 令牌来访问我们的系统。我已经尝试过使用 H2 的默认设置并使用外部 MariaDB 运行。
外部 IdP 为我们提供了用户的全名和个人 ID。GDPR 涵盖了这两个数据,我真的不喜欢将这些数据存储在 DMZ 中运行的数据库中的声音。开放Keycloak 访问后端数据库也不是一个好的解决方案,尤其是当我不需要存储用户时。
在没有数据库的情况下运行的好处是我有一个更简单的 DMZ 设置,因为我真的不需要在后端存储任何关于用户的信息。
我是否需要数据库,如果不需要,我如何在没有它的情况下运行 Keycloak?
我是否需要数据库,如果不需要,我如何在没有它的情况下运行 Keycloak?
是的,但是,开箱即用的 Keycloak 无需部署任何外部数据库即可运行。从 Keycloak 官方文档部分Relational Database Setup可以阅读:
Keycloak 带有自己的嵌入式基于 Java 的关系数据库,称为 H2。这是 Keycloak 将用于持久化数据的默认数据库,并且实际上仅存在以便您可以开箱即用地运行身份验证服务器。
所以开箱即用的你不能在没有数据库的情况下运行 Keycloak。
从同一份文档中可以看出:
我们强烈建议您将其替换为更适合生产的外部数据库。H2 数据库在高并发情况下不太可行,也不应该在集群中使用。
所以关于这个:
没有数据库运行的好处是我有一个更简单的 DMZ 设置,因为我真的不需要在后端存储任何关于用户的信息。
您仍然会更好地提供部署另一个数据库,因为 Keycloak 在数据库中存储的不仅仅是用户信息(例如,领域信息、组、角色等)。
外部 IdP 为我们提供了用户的全名和个人 ID。GDPR 涵盖了这两个数据,我真的不喜欢将这些数据存储在 DMZ 中运行的数据库中的声音。开放Keycloak 访问后端数据库也不是一个好的解决方案,尤其是当我不需要存储用户时。
您可以将 IDP 和 Keycloak 配置为在用户进行身份验证时不会将用户导入 Keycloak。
| 归档时间: |
|
| 查看次数: |
834 次 |
| 最近记录: |