首页 > 解决方案 > Firestore 安全规则仅允许特定字段

问题描述

我正在尝试实施安全规则以限制用户仅访问文档中的特定字段。我的数据结构是这样的:

document {
  name: John,
  dob: 1994,
  email: john@hotmail.com
}

我想将name字段限制为read, write by ownerdob字段到read by owner, create by owner; emailread by owner, update by owner

我阅读了文档,似乎我只能通过安全规则控制对特定文档的访问。它没有提及任何允许访问特定字段的内容。为了允许访问文档中的特定字段,我应该怎么做?

标签: firebasegoogle-cloud-firestorefirebase-security

解决方案


安全规则不能用于限制对文档中单个字段的访问。如果用户对文档具有直接读取权限,则他们始终可以读取文档中的每个字段。

您唯一的选择是:

  1. 将受限字段拆分为另一个集合中的文档,并以不同方式保护该集合。
  2. 完全拒绝对集合的直接访问,并强制用户通过 API 端点,该端点根据传递给端点的用户身份去除受限字段。

推荐阅读