Im, используя базу данных Greenploum, но я предполагаю ее более или менее такую же, как Postgres. Я хочу реализовать политику безопасности на уровне строк, основанную на значении столбца, в который разбивается таблица.Политика выбора уровня строки на Postgres (greenplum)
У меня есть стол. Таблица ранг (ID INT, ранг INT, год INT, пол символ (1), количество 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.
, например,
пользователь а (может видеть все) означает 'выбрать * из ранга;'
результат: 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,
пользователь б (не безопасно) означает 'выбрать * из ранга;'
результат: 2,1, 2012, 1,1, source_system_b, 4,3, 2012, 1,1, source_system_c,
Большое спасибо
* «Im с использованием базы данных Greenploum, но им при условии его более или менее такой же, как Postgres» *. Это не так. Он основан на очень старой версии PostgreSQL, которая была сильно изменена. –