SupabaseのRLSを特定のユーザに適用するZennn_o_n_a_m_e💬SupabaseのRLSを特定のユーザに適用する2022/07/25に公開SQLSupabasePostgreSQLtech初めにSupabaseでRLSを使用する際の条件として以下のように書く場合が多いと思います。具体的な条件でRLSを適用したい場合などあると思います。今回は以下のケースを想定して具体的なRLSの設定について説明します。勤務時間を格納するworksテーブルを作成するクエリを記述します。各テーブルの情報は以下のようになります。(今回はRLSの説明のみなので簡易的な作りにしています。employee_positionはinteger型でそれぞれ以下のような対応関係になっています。事務員RLSの設定それでは以下の条件を満たすようなRLSを設定してみましょう。事務員`のみに勤務時間データの更新を許可する先ほど記載したクエリに文を追加します。);ポリシールールの作成部分について詳しくみてみましょう。updateのポリシールールはそれぞれ以下の様に記述しました。条件の部分のみを切り取ってみましょう。4)上の式中のinはPostgresの副問い合わせ式です。した際にBで得られた結果がAと一致する場合に真(true)を返します。副問い合わせ式の詳細については以下をご覧ください。括弧内の式から得られる結果とuid()が等しいかを検証しているという意味です。括弧内の式について見てみましょう。4これは至ってシンプルですね。ユーザのidをselect文で取得しています。4の場合は事務員となります。事務員として登録されているユーザのIDに一致するかどうかを表しています。上で記載した条件を満たす様なRLSの設定ができました。最後に当記事で記載した方法以外にもやり方があれば教えて頂けると嬉しいです。Web系エンジニアになりたい大学生です。株式会社FunctionalLabでアルバイトをさせて頂いてます。Web系エンジニアになりたい大学生です。株式会社FunctionalLabでアルバイトをさせて頂いてます。Proよくある質問LinksX(Twitter)GitHubメディアキットLegal利用規約プライバシーポリシ。