GRANT SELECT на другой таблице схемы - PullRequest
0 голосов
/ 01 мая 2018

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

Обновления основной схемы запускаются с помощью сервлета Liquibase, который запускается основным пользователем при первом запуске приложения.

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

Мы рассматриваем вопрос о том, чтобы основной пользователь мог создавать / изменять объекты в схеме архива и встраивать это в наши сценарии Liquibase.

Основному пользователю был предоставлен APP_ADMIN_ROLE, который дает ему право CREATE, ALTER, COMMENT ON и т. Д. На ЛЮБУЮ ТАБЛИЦУ, чтобы он мог создавать и удалять таблицы в схеме архива.

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

Есть ли способ достичь этого.

GRANT DBA TO MAIN не вариант.

Заранее спасибо

...