amazon-web-services - Keycloak跨数据中心部分同步用户数据
问题描述
我在一家德国公司工作,因此我们必须遵守 GDPR。我们将我们的产品作为软件即服务产品进行销售,并在 AWS 中托管系统。我们的客户遍布欧洲、美国和亚洲。因此,我们在欧洲西部、美国东北部和亚太地区的 AWS 中运行多个 VPC。我们的计划是将 Keycloak 实现为 SSO 后端。
到目前为止,我们最初的想法是使用所谓的跨数据中心复制来实现 Keycloak。这意味着每个 VPC 有一个 Keycloak-Cluster,前面有一个负载均衡器,用于 VPC 间缓存/通信的 Infispan 集群和一个 Aurora RDS 集群作为集中式数据库,但我们并没有被固定。问题是,如上所述,我们受 GDPR 约束,因此欧洲用户的数据不得离开欧盟,除非客户要求我们这样做。我所读到的只是说 Keycloak 期望所有数据都在数据库集群中同步。
关于我们的拓扑结构和问题本身的信息:每个客户在最合适的地理区域都有专用的 EC2 实例。此外,还有在欧盟托管的集中式服务。因此,来自美国或亚太地区的用户需要访问欧盟的系统,但欧盟用户不需要访问欧盟以外的实例/服务,除非客户明确订购。
那么我们如何实现这一目标呢?
我唯一的想法是建立一个数据库集群(可能不是 AWS Aurora RDS)并在数据库本身上进行配置以不同步所有数据。但这对我来说听起来很恶心,我不认为 Keycloak 在这方面做得很好。任何想法或提示将不胜感激!
解决方案
好的,如果有人对我们的解决方案感兴趣:看来,我们会接受这样一个事实,即非欧盟客户在某些情况下会有延迟。Infinispan 集群将用作缓存,因此这些用户只会偶尔遇到这种延迟。DB 将驻留在欧盟。我不确定 Infinispan 服务器是否会充当缓存,是否与其他数据中心中的节点的连接丢失,但也许我会找到一些相关信息。
推荐阅读
- maven - 将 setting.xml 中的 Maven 配置文件移动到 pom.xml
- perl - 在 perl 中使用 ctime 的正确方法是什么?
- javascript - CSS类活动
- docsify - Docsify 搜索插件不工作,总是不返回结果
- amazon-cloudformation - 如何使用 ScheduleExpression 手动触发 cloudwatch 规则(10 天)
- android - 如何在启用安全参数的不同导航图中重用片段?
- c# - C#浮点到二进制字符串,反之亦然
- beautifulsoup - 从谷歌搜索中使用 csv 文件中的多个搜索词检索 url。当我运行上述代码时,csv文件为空
- python - 为什么我的脚本不能始终如一地检测电子邮件正文中的内容?
- python - 来自 ipywidget 的组合框小部件不起作用