字段级访问

字段可以指明哪些类型的调用方可以读取它,哪些可以写入它。内部备注可以只留给你的团队,由操作设置的值可以不暴露给用户的浏览器。

字段上的读取列表和写入列表

字段可带一个可选的 access对象,其中包含读取列表和写入列表。有条目的写入列表是一份允许列表,平台会在每条写入路径上拒绝其他任何调用方。读取列表决定客户端 API 向哪些调用方公开该字段。没有 access 对象的字段,任何已认证的调用方都可以写入。

五类调用方

每个请求都属于五类之一,由它携带的凭据决定。未登录的访客是 public。已登录用户使用自己的令牌、通过你的公开密钥写入,是 self。操作使用为其运行签发的令牌行事时是 scoped,即使该令牌带有触发它的用户。机密密钥是 service。团队中的成员,在控制台或 CLI 中,是 admin。

只有操作才能触及的字段

运行操作的用户,在所有权、行规则、审计操作者和配额方面仍然是该用户。操作读取和写入的内容算作 scoped,而不会算作 self。因此,列出 scoped 而不列出 self 的字段,由操作读取和设置,而用户的浏览器两者都做不到。

读取如何判定

数据 API 按同样的五类判定读取。操作按 scoped 读取,已登录用户自己的请求按 self 读取。访客和机密密钥都按 public 读取,在控制台中预览的团队成员可以读取所有字段。为某一类调用方计算的缓存响应绝不会提供给另一类调用方。

阅读详情

模型参考文档展示了字段上的 access 对象、五类调用方,以及一个操作的完整示例。