Initial commit
This commit is contained in:
27
skills/database-conventions/examples/rls-policies.md
Normal file
27
skills/database-conventions/examples/rls-policies.md
Normal file
@@ -0,0 +1,27 @@
|
||||
# Row Level Security Examples
|
||||
|
||||
**RLS policy patterns for multi-tenant isolation.**
|
||||
|
||||
## Enable RLS
|
||||
|
||||
```sql
|
||||
ALTER TABLE users ENABLE ROW LEVEL SECURITY;
|
||||
```
|
||||
|
||||
## Tenant Isolation Policy
|
||||
|
||||
```sql
|
||||
CREATE POLICY "tenant_isolation" ON users
|
||||
FOR ALL TO authenticated
|
||||
USING (tenant_id = (current_setting('request.jwt.claims')::json->>'tenant_id')::uuid);
|
||||
```
|
||||
|
||||
## Admin Override Policy
|
||||
|
||||
```sql
|
||||
CREATE POLICY "admin_access" ON users
|
||||
FOR ALL TO admin
|
||||
USING (true);
|
||||
```
|
||||
|
||||
**See [../reference/rls-policies.md](../reference/rls-policies.md) for complete RLS guide.**
|
||||
Reference in New Issue
Block a user