無料 RLS ポリシー生成ツール
正しい Supabase RLS ポリシーを数秒で生成
行の所有のしかたと、許可する操作を選ぶだけ。各行を呼び出し元に絞る貼るだけ SQL を——Supabase 推奨の (select auth.uid()) 性能イディオムと、書き込みの WITH CHECK 付きで——生成します。出力を貼ったら、チェッカーで検証しましょう。
すべてブラウザ内で動作——どこにも送信しません。
生成されたポリシー
alter table public.notes enable row level security;
create policy "notes_owner_select"
on public.notes for select
to authenticated
using ((select auth.uid()) = user_id);
create policy "notes_owner_insert"
on public.notes for insert
to authenticated
with check ((select auth.uid()) = user_id);
create policy "notes_owner_update"
on public.notes for update
to authenticated
using ((select auth.uid()) = user_id)
with check ((select auth.uid()) = user_id);
create policy "notes_owner_delete"
on public.notes for delete
to authenticated
using ((select auth.uid()) = user_id);これらはよくある所有パターンの正しいテンプレートです——正しい「形」を生成しますが、あなたの認可設計が正しいことの保証ではありません。カラムとモデルがデータに合うか確認し、チェッカーで検証してください。設計レビューを補完するもので、代替ではありません。
出力を信頼できる理由
同じ分類器の表と裏
生成(create)と RLS チェッカー(verify)は、同じ問い——ポリシーが行を呼び出し元に絞っているか——を扱います。ここの全パターンは CI でチェッカーの分類器に通され、over-permissive には決してなりません。
- 1
構造的に正しい
所有者束縛の述語、全書き込みの WITH CHECK、(select auth.uid()) ラッパ——実態調査が実アプリの 9.2% で欠けていると見つけた、まさにその形です。
- 2
主張でなく証明
テストが全モデル×操作を生成し、チェッカーと同じエンジンで分類。出力が authenticated-only や anon-writable と判定されたら CI が落ちます。
- 3
確認はあなたの手で
入力に対して正しい形を生成します。カラムと所有モデルがデータに合うかはあなたが確認を——ツールは業務ルールを知り得ず、それを明言します。
生成したら、リポジトリ全体を検証
ポリシーをチェッカーに貼って確認するか、プロジェクト全体をコマンド一発でスキャン。アクセス制御の設計を端から端まで見てほしいなら、監査として引き受けます。
npx @aegiskit/cli scanインストール・サインアップ不要——リポジトリをローカルで読み、どこにも通信しません。
FAQ
生成されたポリシーは本番に貼って安全ですか?
定番の所有者スコープの形であり、全て RLS チェッカーと同じ分類器で over-permissive にならないことを検証済みです。ただしカラムと所有モデルがデータに合うかは確認が必要です——生成するのは正しい「形」であって、認可設計が正しいことの保証ではありません。
(select auth.uid()) は何のためですか?
Supabase 推奨の性能イディオムです。関数をサブクエリに包むと、Postgres は行ごとではなくクエリごとに 1 回だけ評価するため、大きなテーブルで桁違いに速くなります。素の auth.uid() = user_id は正しいが遅い。理由があればオフにできます。
なぜ書き込みに WITH CHECK を付けるのですか?
USING は「見える行」、WITH CHECK は「書ける値」を制御します。無いと、他人の所有者 ID で行を作成・更新できてしまう(書き込みバイパス)。生成ツールは全 INSERT/UPDATE に自動で WITH CHECK を付けます。
テーブル名やカラム名はどこかに送信されますか?
いいえ。生成は 100% ブラウザ内で動作し、どこにも通信しません。入力は安全な SQL 識別子にサニタイズされるため、おかしな入力でも壊れた/注入可能な SQL にはなりません。
RLS チェッカーと何が違いますか?
生成ツールは正しいポリシーを作り、チェッカーは既存のポリシーを検証します。同じ分類器の表と裏です——ここで生成し、実際のマイグレーションをチェッカーに貼って、ズレていないか確認してください。