我们有一个多租户数据库,这是一个我们基于tenant_id 实现行级安全性的表:
租户 ID | product_id |
---|---|
0 | 一个 |
0 | 乙 |
1 | 1A |
1 | 1B |
2 | 2A |
2 | 2B |
我们的要求是与tenant_id = 0 关联的产品应该可供所有租户使用。与tenant_id != 0 关联的产品应仅对相关租户可用。
有没有办法使用安全定义器来实现这一点?还是我们需要单独的表格?
我们有一个多租户数据库,这是一个我们基于tenant_id 实现行级安全性的表:
租户 ID | product_id |
---|---|
0 | 一个 |
0 | 乙 |
1 | 1A |
1 | 1B |
2 | 2A |
2 | 2B |
我们的要求是与tenant_id = 0 关联的产品应该可供所有租户使用。与tenant_id != 0 关联的产品应仅对相关租户可用。
有没有办法使用安全定义器来实现这一点?还是我们需要单独的表格?
在编写 RLS 策略时,您始终可以编写多个条件。例如:在你的情况下,
create policy *policy_name* on *table_name* for all to public using (tenant_id=current_user or tenant_id = 0)
参考:在此处输入链接描述