Supabaseで
- どのテーブルのどのカラムに
- 誰が
-
INSERT
やSELECT
,UPDATE
できるか
を調べるSQLです。
カラムレベルでの権限を調べるSQL
カラムレベルの権限はinformation_schema
のcolumn_privileges
ビューを開くと簡単にわかります。Supabaseでは、public
スキーマでのanon
ロールとauthenticated
ロールの権限がアプリケーションが気にすべき権限なので、その2つに絞って見ると分かりやすいです。
select grantee, table_name, column_name, privilege_type
from information_schema.column_privileges
where table_schema = 'public'
and grantee in ('anon', 'authenticated')
order by grantee, table_name, privilege_type, column_name;
実行結果の例
-
grantee
が権限付与されたロール名です。Supabaseではanon
やauthenticated
になります。 -
table_name
はどのテーブルかを指します。 -
column_name
はどのカラムかを指します。 -
privilege_type
はそのカラムに対してSELECT
やINSERT
、UPDATE
ができるかを指します。
ここの結果に出てこないということは、その権限が無いということです。