Google cloud storage 如果访问需要在多个组中拥有成员资格,我们是否可以为GCS对象创建ACL?

Google cloud storage 如果访问需要在多个组中拥有成员资格,我们是否可以为GCS对象创建ACL?,google-cloud-storage,Google Cloud Storage,假设我在GCS中有一组预先存在的ACL(假设目前是细粒度ACL,暂时不考虑基于IAM的权限)。例如,我有一个bucket“my_bucket”,在“my_bucket”、“red_stuff”中有一个实体。“Redu stuff”具有ACL,如果您是“ISeeRedStuff”组的一员,则可以访问内容。类似地,我可能有许多其他文件,这些文件是使用ACL创建的,ACL基于组“ISeeRedStuff”中的成员身份授予访问权限,但我也可能有基于组“ISeeBlueStuff”中成员身份的内容和ACL

假设我在GCS中有一组预先存在的ACL(假设目前是细粒度ACL,暂时不考虑基于IAM的权限)。例如,我有一个bucket“my_bucket”,在“my_bucket”、“red_stuff”中有一个实体。“Redu stuff”具有ACL,如果您是“ISeeRedStuff”组的一员,则可以访问内容。类似地,我可能有许多其他文件,这些文件是使用ACL创建的,ACL基于组“ISeeRedStuff”中的成员身份授予访问权限,但我也可能有基于组“ISeeBlueStuff”中成员身份的内容和ACL

现在,通过某种机制,我发现“red_stuff”包含一些敏感信息,如信用卡号码或SSN等。我想做的是修改“red_stuff”的权限,以允许用户在同时拥有“ISeeRedStuff”和“ISeeSensitiveStuff”成员资格的情况下访问。请注意,并非“IseSensitiveStuff”中的所有人都可以访问“IseSeredStuff”,因此我不能简单地替换组权限。我想要的是逻辑and运算

我知道我可以从现有的ACL构建一个组“IseSenstiveredStuff”,但是将该组的内容与其他组同步是一件令人头痛的事情。此外,如果我想根据不同类型的敏感信息跟踪不同的成员查看权限,那么如果我使用创建更多组的机制来保存不同的组合,组的数量可能会增加

我在文档中遗漏了什么吗?我没有看到任何定义这种能力的方法

编辑:
我考虑过使用签名URL来生成权限,而不是解决这个问题。基本上,将权限计算移动到应用程序服务器,并让服务器生成签名URL以允许访问内容。然而,由于许多原因,这可能是一个混乱的解决方案。

在谷歌云存储访问控制中没有“逻辑与”的概念。如果用户是具有访问权限的任何组的成员,则允许该用户访问。

我发布了一个答案,但作为旁白,如果您稍后发现人们访问了他们不应该访问的敏感材料,则似乎已经造成了损害(因为他们可能已经访问并将其存储在其他地方)。无论如何,为了防止进一步损坏,您需要区分敏感材料和非敏感材料,并修改组成员身份和ACL以匹配。在我看来,维护和推理一个复杂的逻辑and层次结构只会产生一组不同的问题。我同意,这并不理想:我们需要维护组之间的逻辑and关系,这意味着当组成员身份发生变化时,需要一个轮询过程和自动更新过程。在我们的用例中,我们正是在寻找“损害已经造成”的情况,并试图修复它。目前尚不清楚如何避免这种复杂性(加密内容是另一个想法,但这增加了其他的复杂性。在任何情况下,谢谢你的反馈。谢谢,特拉维斯。有没有考虑添加逻辑主表达式的计划?我可以把这个想法作为一个特征请求提交到哪里?