RLS Policy Dialog

RLSPolicy ダイアログを使用して、行レベルセキュリティポリシーを作成します。

注釈

行レベルセキュリティがテーブルレベルで有効になっていて、ポリシーが作成されていない場合、デフォルトで 拒否ポリシー が適用されます。つまり、そのテーブルの行は表示されず、変更できません。

RLSPolicy ダイアログは、次のダイアログタブを使用して行レベルセキュリティポリシーを作成します: General 、および Commands 。 SQL タブには、ダイアログ選択によって生成されたSQLコードが表示されます。

RLSポリシーの[General]タブ

[ General ]タブのフィールドを使用して、RLSポリシーを定義します。

  • Name フィールドを使用して、RLSポリシーの説明的な名前を追加します。名前は pgAdmin ツリーコントロールに表示されます。

  • Role の横にあるドロップダウンリストボックスを使用して、RLSポリシーを適用するロールを選択します。

  • Type の横にあるドロップダウンリストボックスを使用して、ポリシーの種類を選択します。

[ コマンド ]タブをクリックして続行します。

RLSPolicyCommandsタブ

[ コマンド ]タブのフィールドを使用して、RLSポリシーを定義します。

  • Event の横にあるドロップダウンリストボックスを使用して、ポリシーを適用するコマンドを選択します。有効なオプションは、ALL、SELECT、INSERT、UPDATE、およびDELETEです。デフォルトはALLです。

  • Using フィールドを使用して、ブール値を返すSQL条件式を追加します。この式は、行レベルのセキュリティが有効になっている場合、テーブルを参照するクエリに追加されます。

  • Withcheck フィールドを使用して、ブール値を返すSQL条件式を追加します。この式は、行レベルのセキュリティが有効になっている場合、テーブルに対するINSERTおよびUPDATEクエリで使用されます。

SQL タブをクリックして続行します。

RLSPolicy ダイアログに入力すると、SQLコマンドが生成されます(以下の例を参照)。レビューには SQL タブを使用します。再アクセスするかタブを切り替えて、SQLコマンドを変更します。

例

以下は、 RLSPolicy ダイアログでのユーザー選択によって生成されたsqlコマンドの例です。

RLSポリシーSQLタブ

ここに示す例は、 jobhist テーブルに行レベルセキュリティを適用する jobhist_rls という名前のRLSポリシーの作成を示しています。

  • Info ボタン(i)をクリックして、オンラインヘルプにアクセスします。

  • Save ボタンをクリックして作業を保存します。

  • Close ボタンをクリックして、作業を保存せずに終了します。

  • Reset ボタンをクリックして、構成パラメーターを復元します。