SuperAPI AI 工具集

supabase-policy-guardrails

通用与其它

查看项目

更新于 10-16 06:20

技能介绍

用途:为规模化使用 Supabase 的团队提供组织级治理,统一行级安全(RLS)策略、命名规范、迁移审查、成本监控与安全审计。

主要能力:

  1. 共享 RLS 策略库:提供 owner-only(按 user_id)、org-scoped(按 org_members 成员与角色)、public-read/auth-write 三类可复用模板函数,通过 SELECT public.rls_owner_only('todos') 等方式应用到新表,避免各开发者各写一套策略。
  2. 命名规范校验:validate_naming_conventions() 函数检查表名(复数 snake_case)、列名(snake_case)、外键(id 结尾)、布尔列(is/has_ 前缀)等,并给出修改建议。规范还涵盖时间戳(at)、RLS 策略({scope}{operation})、函数(verb_noun)、索引(idx_{table}_{columns})、迁移文件命名。
  3. 迁移审查 CI:在 GitHub Actions 中强制 RLS、命名检查、阻止破坏性操作,并提供 pre-commit 钩子拦截硬编码密钥与未启用 RLS 的表。
  4. 成本告警:可配置阈值的成本监控脚本,支持 Slack 告警。
  5. 安全审计:扫描缺失 RLS、过于宽松的策略、缺失索引,并可用定时 Edge Function 持续监控。

使用方式:需已安装并链接 Supabase CLI 的项目、@supabase/supabase-js v2+、CI/CD 流水线(推荐 GitHub Actions)、通过 psql 或 SQL Editor 访问数据库;成本告警与用量 API 建议 Pro 计划。策略模板与校验函数以迁移 SQL 形式创建,再按需调用。

限制:成本告警需 SUPABASE_ACCESS_TOKEN;审计表过多可能超时,需限定 schema 或分页;命名校验对有意单数表名等可能误报,需维护排除列表;pre-commit 可能误拦测试中的 JWT 类字符串,需加排除路径。具体 CI、成本与安全脚本的完整示例资料未全部展开,暂未提供。