如何处理Hasura中的复杂权限

时间:2019-05-06 03:30:24

标签: postgresql hasura

基本-我需要根据不同表中的某些变量从列中返回数据(如果不允许访问,我将返回列或null)

我已经通过postgres中的自定义函数完成了我需要做的事情,但是问题是在Hasura函数中,它与实现SETOF的表/视图共享了权限。
因此,我必须允许访问表本身,因此我的函数中的权限毫无意义,因为任何人都可以直接通过直接查询原始表来访问数据。

我当前的思路是,要做我需要的唯一方法是创建一个远程模式并删除对原始表的访问。

但是也许有一种方法可以不将某些表显示为graphql查询?如果我可以做这样的事情-我只需要隐藏表并只公开一个函数即可。

1 个答案:

答案 0 :(得分:0)

远程模式似乎可以正常工作。

另一个选项是allow-queries选项。

可以限制查询。看来有点棘手,您需要每个查询都应有一个准确的副本(字段的顺序正确),但是如果这样做,则只接受您明确列入白名单的查询。 More info in the docs

我对Postgres权限还不够熟悉,无法提供更好的主意...