我在Postgres中创建了一个登录角色,然后我尝试使用行级安全性授予修改表中指定行的权限。我尝试了数千次,但它不起作用。我只有一个表。
soat7uwm1#
你没有给予足够的信息来说明你采取了哪些步骤来得出结论,认为它不起作用,所以我将涵盖这两种情况:1.您创建了策略,但没有对表启用RLS。从documentation:注意,必须在表上启用行级安全性(使用ALTER TABLE ... ENABLE ROW LEVEL SECURITY),才能应用创建的策略。1.您正在使用所有者角色、超级用户角色或从其中之一继承权限的角色测试RLS。默认情况下,它们会绕过RLS。您可以通过ALTER TABLE [..] FORCE ROW LEVEL SECURITY对表所有者强制RLS,但不能对超级用户强制RLS。
ALTER TABLE [..] FORCE ROW LEVEL SECURITY
1条答案
按热度按时间soat7uwm1#
你没有给予足够的信息来说明你采取了哪些步骤来得出结论,认为它不起作用,所以我将涵盖这两种情况:
1.您创建了策略,但没有对表启用RLS。从documentation:
注意,必须在表上启用行级安全性(使用ALTER TABLE ... ENABLE ROW LEVEL SECURITY),才能应用创建的策略。
1.您正在使用所有者角色、超级用户角色或从其中之一继承权限的角色测试RLS。默认情况下,它们会绕过RLS。您可以通过
ALTER TABLE [..] FORCE ROW LEVEL SECURITY
对表所有者强制RLS,但不能对超级用户强制RLS。