Как предоставить пользователю ограниченный доступ к системной таблице? - PullRequest
0 голосов
/ 16 января 2019

Я просматриваю системную таблицу: stl_load_errors, и я создал представление поверх stl_load_errors для ограничения данных.

пример просмотра:

create view vw_sample_load_errors
as
select * from stl_load_errors where filename like 'sample123%'

Теперь, когда обычный пользователь запрашивает представление, он не может видеть ни одной строки.
Как я могу дать ему доступ к этой точке зрения в одиночку.

Я не хочу предоставлять доступ к системному журналу, который предоставит пользователю неограниченный доступ ко всем данным во всех системных таблицах, включая stl_load_errors.

Дайте мне знать, если это достаточно ясно.

1 Ответ

0 голосов
/ 17 января 2019

Невозможно достичь желаемого с помощью разрешений Redshift. Пользователи могут видеть только свои собственные строки в системных таблицах (по умолчанию) или они могут видеть все строки во всех системных таблицах (если для SYSLOG ACCESS установлено значение UNRESTRICTED). Невозможно предоставить эквивалент SYSLOG ACCESS UNRESTRICTED для одной системной таблицы.

Как предложил Джон в комментариях, вы можете создать процесс, который каждую минуту или около того копирует данные из stl_load_errors в другую таблицу и предоставляет пользователю разрешения на это.

...