我有一个应用程序,需要根据用户的授权凭证将不同的对象存储在不同的数据存储中。例如。用户可能需要将对象1保存到他们的BI postgres数据库中,将对象2保存到其S3存储桶中,然后将对象3保存到其他位置。
这些设置是由用户提前配置的。就我所知,他们可能想要一个后端连接器方法.saveToFlashDrive(),它们将位于映射到表或记录的单个对象的级别。
相反,他们可能也希望基于这些凭据从不同的数据存储中读取数据。来自一些数据库联合的IE记录取决于某些谓词“获取db1和db2中的所有行,以使db2中的行不在db3中”(我设想了一种情况,其中客户端2阻止客户端3访问基于a的记录列值,还可以将访问共享数据的权限列入白名单。
理想情况下,我想封装此授权过滤(我可以针对每种记录类型访问的dbs和行),作为某种过滤谓词,将其下推到我要去的任何sql / hdfs / s3 / etc之类的东西中必须做。
我想知道是否有人知道这种用例的好方法/设计,它不需要为每个单独的客户查询定制代码。我正在查看PBAC,不清楚这是否是正确的路线。