背景
框架 15.0.0,对象采用默认 OWD public_read_write。
我们观察到(真机,11 用户 × 51 对象):
- 读跨属主全开——任意已认证用户可读每个对象的每条记录,包括机密行;权限集是否授予
viewAllRecords 没有任何区别。
- 无法授予跨属主写——即使权限集带
modifyAllRecords: true,行级属主门仍拦非属主的 update/delete。因此在 public_read_write 下,「属主可编辑 + 主管可编辑任意记录」通过 RBAC 无法实现。
问题
这在开源版里是有意设计吗?我们把 #2920 理解为:开源版fail-closed 到 owner-only,而层级 / all-records 提权是企业版能力、不随开源框架发布。若如此,则 viewAllRecords / modifyAllRecords 在 public_read_write 下失效属于有意设计,我们会把「主管看 / 改全部」当作企业版 / admin / Hook 层面的事,而不是 bug。
能否确认?如果确属设计,建议在 sharing 文档里加一行说明(「*AllRecords 为企业版能力;开源版在 public_read_write 下为 owner-only」),可以省掉后来者的同样排查。
如果这些开关本应在开源版生效,我们再另开 bug 附复现。
背景
框架 15.0.0,对象采用默认 OWD
public_read_write。我们观察到(真机,11 用户 × 51 对象):
viewAllRecords没有任何区别。modifyAllRecords: true,行级属主门仍拦非属主的 update/delete。因此在public_read_write下,「属主可编辑 + 主管可编辑任意记录」通过 RBAC 无法实现。问题
这在开源版里是有意设计吗?我们把 #2920 理解为:开源版fail-closed 到 owner-only,而层级 / all-records 提权是企业版能力、不随开源框架发布。若如此,则
viewAllRecords/modifyAllRecords在public_read_write下失效属于有意设计,我们会把「主管看 / 改全部」当作企业版 / admin / Hook 层面的事,而不是 bug。能否确认?如果确属设计,建议在 sharing 文档里加一行说明(「
*AllRecords为企业版能力;开源版在public_read_write下为 owner-only」),可以省掉后来者的同样排查。如果这些开关本应在开源版生效,我们再另开 bug 附复现。