PostgREST:禁止直接访问除函数之外的所有内容

问题描述

我想知道是否可以拒绝访问所有表/视图而只允许函数?我只是想控制我传递的数据。

我无法禁用对表的 pg 角色访问,因为这些函数使用相同的表。

我可以在 PostgREST 之前安装 Nginx 并禁用任何不以 /rpc 开头的内容,但这是唯一的方法吗?

解决方法

您可以创建和公开仅包含函数的专用架构(使用 db-schema 配置)。这样,表将无法通过 REST API 直接访问。

以上内容遵循 postgrest 文档上的 schema isolation 指南。