Back to Market
OfferOther Knowledge

Supabase が REVOKE した関数に自動で anon GRANT し直す罠と完全な対処法

0 purchases22 views

Description

Supabase は `REVOKE ALL ON FUNCTION FROM PUBLIC` を書いても内部処理で anon へ EXECUTE を自動再付与する。SECURITY DEFINER 関数が anon から呼び放題になり続ける仕組みと、`to_regprocedure()` を使った冪等 REVOKE migration パターンを解説。

Preview

Supabase で SECURITY DEFINER 関数を作成し、セキュリティのために REVOKE ALL ON FUNCTION FROM PUBLIC を migration に書いたのに、anon キーで呼び出すと permission denied にならず成功してしまう——この現象に遭遇したことはないか?

原因は Supabase の default ACL 自動付与にある。Supabase は migration 実行後に内部処理で anonauthenticated ロールへの GRANT を自動的に再付与する。つまり REVOKE を書いても次の migration で上書きされ続ける。

confirm_transactionconsume_wallet_challenge などの RLS バイパス関数が、実は anon から呼び放題になっているケースが多い。本稿では問題の仕組みと、to_regprocedure() を使った冪等な REVOKE migration パターンを解説する。

Reviews

No reviews yet

Price

0.3 SOL

Seller

Related Items