2023-02-08 05:58:45 -05:00
|
|
|
/* This SQL will run after all other queries. */
|
|
|
|
|
2023-03-08 11:07:33 -05:00
|
|
|
---- Grant CRUD access to the group ----
|
2023-02-08 05:58:45 -05:00
|
|
|
grant select, insert, update, delete
|
|
|
|
on all tables
|
|
|
|
in schema public
|
|
|
|
to logto_tenant_${database};
|
|
|
|
|
2023-03-08 11:07:33 -05:00
|
|
|
---- Security policies for tenants table ----
|
2023-02-09 05:31:14 -05:00
|
|
|
|
2023-02-08 05:58:45 -05:00
|
|
|
revoke all privileges
|
|
|
|
on table tenants
|
|
|
|
from logto_tenant_${database};
|
|
|
|
|
2023-03-08 11:07:33 -05:00
|
|
|
-- Allow limited select to perform the RLS policy query in `after_each` (using select ... from tenants ...)
|
2024-02-18 21:45:57 -05:00
|
|
|
grant select (id, db_user, is_suspended)
|
2023-02-09 05:31:14 -05:00
|
|
|
on table tenants
|
|
|
|
to logto_tenant_${database};
|
|
|
|
|
|
|
|
alter table tenants enable row level security;
|
|
|
|
|
2023-03-08 11:07:33 -05:00
|
|
|
-- Create RLS policy to minimize the privilege
|
2023-02-09 05:31:14 -05:00
|
|
|
create policy tenants_tenant_id on tenants
|
|
|
|
using (db_user = current_user);
|
|
|
|
|
2023-03-08 11:07:33 -05:00
|
|
|
---- Revoke all privileges on systems table for tenant roles ----
|
2023-02-08 05:58:45 -05:00
|
|
|
revoke all privileges
|
|
|
|
on table systems
|
|
|
|
from logto_tenant_${database};
|
2023-03-08 11:07:33 -05:00
|
|
|
|
2023-03-14 02:15:45 -05:00
|
|
|
---- Revoke all privileges on service_logs table for tenant roles ----
|
|
|
|
revoke all privileges
|
|
|
|
on table service_logs
|
|
|
|
from logto_tenant_${database};
|