You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AppSync基于isPrivate字段的所有者授权条件配置咨询

问题解答

仅通过Schema配置就能实现这个需求,不需要自定义Lambda解析器。

你可以通过在@auth指令的read权限规则中添加条件判断来实现目标逻辑:当isPrivate为false时允许所有用户读取,当isPrivate为true时仅所有者可读取。修改后的配置如下:

@auth(
  rules: [
    { allow: groups, groups: ["user"], operations: [create] },
    { allow: public, operations: [read], condition: { isPrivate: { eq: false } } },
    { allow: owner, operations: [read] }
  ]
)

规则说明:

  • 第一条规则保留原有配置,允许user组的所有用户执行create操作;
  • 第二条规则针对read操作,设置条件isPrivate: { eq: false },当实体的isPrivate字段为false时,所有用户(包括未登录用户)都能读取;
  • 第三条规则确保实体所有者无论isPrivate的值是什么,都始终拥有read权限,同时当isPrivate为true时,只有这条规则会生效,实现仅所有者可读取的限制。

内容的提问来源于stack exchange,提问作者venom

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 20:12:01