0

私は Greenploum データベースを使用していますが、多かれ少なかれ Postgres と同じであると想定しています。テーブルが分割されている列の値に基づいて、行レベルのセキュリティ ポリシーを実装したいと考えています。

私はテーブルを持っています。TABLE ランク (id int、rank int、year int、gender char(1)、count int、source_system テキスト)

サンプルデータ: (1,2, 2012, 1,1, source_system_a), (2,1, 2012, 1,1, source_system_b), (3,4, 2012, 1,1, source_system_a), (4,3, 2012, 1,1, source_system_c),

テーブルは、source_system 列に基づいて分割されます。source_system 列に基づいて、すべてのデータを表示できる一連のユーザーと、すべてを表示できない一連のユーザーが必要です。source_system_a は安全な値である必要があるため、安全な権限を持つユーザーのみが source_system_a を含む行を表示できる必要があります。

例えば、

ユーザー a (すべてを見ることができる) は「select * from rank;」を実行します。

結果: 1,2, 2012, 1,1, source_system_a, 2,1, 2012, 1,1, source_system_b, 3,4, 2012, 1,1, source_system_a, 4,3, 2012, 1,1, source_system_c,

ユーザー b (安全でない) は「select * from rank;」を実行します。

結果: 2,1, 2012, 1,1, source_system_b, 4,3, 2012, 1,1, source_system_c,

どうもありがとう

4

1 に答える 1