行レベルのセキュリティ - Amazon Redshift

行レベルのセキュリティ

Amazon Redshift で行レベルセキュリティ (RLS) を使用すると、機密データに対するきめ細かなアクセス制御を行うことができます。データベースオブジェクトレベルで定義されたセキュリティポリシーに基づいて、スキーマまたはテーブル内の特定のデータレコードにアクセスできるユーザーまたはロールを選択できます。列のサブセットに対する許可をユーザーに付与できる列レベルのセキュリティに加えて、RLS ポリシーを使用して表示されている列の特定の行に対するアクセスをさらに制限します。行レベルのセキュリティの詳細については、「列レベルのアクセスコントロールの使用上の注意」を参照してください。

テーブルに RLS ポリシーを実行するとき、ユーザーがクエリを実行したときに返される結果セットを制限できます。

RLS ポリシーを作成するとき、Amazon Redshift がクエリのテーブル内にある既存の行を返すかどうか決定する式を指定できます。アクセスを制限する RLS ポリシーを作成することで、クエリにさらなる条件を追加または外在化する必要がなくなります。

RLS ポリシーを作成するとき、単純なポリシーを作成して、ポリシーの複雑なステートメントを避けることをお勧めします。RLS ポリシーを定義するとき、ポリシーに基づくポリシー定義で過度なテーブル結合を使用しないでください。

ポリシーがルックアップテーブルを参照するとき、ポリシーが存在するテーブルに加え、Amazon Redshift は追加のテーブルをスキャンします。RLS ポリシーがアタッチされているユーザーと、ポリシーがアタッチされていないユーザーでは、同じクエリのパフォーマンスに違いが発生します。