【问题标题】:How to restrict access to specific entities or properties in Cloud Datastore?如何限制对 Cloud Datastore 中特定实体或属性的访问?
【发布时间】:2019-06-18 12:47:05
【问题描述】:
Datastore 的 Identity and Access Management 文档描述了如何授予用户对所有实体的访问权限。是否可以授予用户对某些实体或属性的访问权限,但不能授予其他用户访问权限?
例如,给定具有属性“name”、“phone_number”和“favorite_fruit”的实体“Customer”,我想为某些用户提供对“favorite_fruit”的访问权限,而不是“name”或“phone_number”。
是否可以创建具有这种特殊性级别的权限?如果不是,您将如何解决此限制?
【问题讨论】:
标签:
google-cloud-platform
google-cloud-datastore
【解决方案1】:
不,数据存储区本身没有这样的限制机制,这是您的应用程序负责强制执行的责任。甚至命名空间的实施也是在应用程序本身中完成的——通过确保在进行数据存储调用时指定正确的命名空间。
最终用户通常无法直接访问数据存储。相应的 GCP 项目 GAE 应用程序和其他已明确授予权限的应用程序具有数据存储范围的访问权限,并充当最终用户和数据存储之间的中介。他们是执行较小范围访问控制的人。
您引用的 IAM 文档准确地反映了这一点:数据存储范围的范围,而不是实体/属性。