SuperAPI AI 工具集

supabase-rls-policy-generator

数据与分析

查看项目

更新于 10-15 22:14

技能介绍

用途:当用户需要为 Supabase 数据库生成、创建或添加行级安全(RLS)策略时使用,适用于多租户或基于角色的访问控制场景。

主要能力:先分析数据库 schema(表结构、外键、关系),识别需要 RLS 保护的表并确定安全模型(多租户、基于角色或混合);再按访问模式生成 SELECT、INSERT、UPDATE、DELETE 四类策略,覆盖用户自有记录、租户隔离、角色权限、公开/私有资源等;同时可生成辅助函数(如角色检查、租户成员检查)、测试查询、迁移文件与策略文档。

使用方式:技能按步骤引导——提供 schema 文件路径或表名,回答访问模式问题(是否多租户、有哪些角色、是否有层级权限等),随后生成策略。示例策略结构包括:ALTER TABLE table_name ENABLE ROW LEVEL SECURITY; 以及 CREATE POLICY "Users can view own records" ON table_name FOR SELECT USING (auth.uid() = user_id); 多租户隔离使用 tenant_id IN (SELECT tenant_id FROM user_tenants WHERE user_id = auth.uid());角色访问使用 auth.jwt() ->> 'role' = 'admin'。辅助函数以 SECURITY DEFINER 定义。输出结构为 migrations/[timestamp]_add_rls_policies.sql、docs/rls-policies.md、tests/rls_tests.sql。

适用场景:Supabase 多租户应用、RBAC/ABAC、层级权限、公开与私有资源分离、共享资源访问。

限制:资料未提供具体收费、价格、平台支持范围或效果保证;实际策略需结合真实 schema 与角色体系验证,并注意为策略列建立索引以优化性能。