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