Разрешения на просмотр в Amazon REdshift - базовая таблица воссоздана, а разрешения на просмотр заблокированы - PullRequest
0 голосов
/ 04 июня 2019

У меня есть пользователь в моем Amazon Redshift, у которого есть доступ к определенному представлению.Базовая таблица этого представления воссоздается каждый день в процессе ETL.Когда проходит день, представление также воссоздается, и из-за этого разрешение для этого представления «блокируется» для этого конкретного пользователя, и мне нужно снова предоставить разрешение.

Вот представление заявления Grant:

GRANT USAGE ON SCHEMA dwh TO monte_carlo_data_project;
GRANT SELECT ON dwh.v_dp_dim_account TO monte_carlo_data_project;

Вот экран печати, который показывает воссозданное представление: DDL Tetx

Когда пользователь пытается запросить представление снова (после воссоздания представления)он получает ошибку разрешения:

Ошибка SQL [500310] [42501]: недопустимая операция Amazon: разрешение запрещено для отношения v_dp_dim_account;

Только если я запускаю GRANT SELECT команда снова, пользователь получит разрешение снова.

Есть идеи, как решить эту проблему?

1 Ответ

2 голосов
/ 04 июня 2019

Создайте свой обзор один раз с помощью WITH NO SCHEMA BINDING.

Это позволит вам «отделить» таблицу от представления.

Из документации

Без привязки к схеме Предложение, которое указывает, что представление не привязано кбазовые объекты базы данных, такие как таблицы и пользовательские функции.В результате нет никакой зависимости между представлением и объектами, на которые оно ссылается.Вы можете создать представление, даже если указанные объекты не существуют.Поскольку нет никакой зависимости, вы можете удалить или изменить объект, на который ссылаются, не затрагивая представление

Для получения дополнительной информации

https://docs.aws.amazon.com/redshift/latest/dg/r_CREATE_VIEW.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...