Как работает oracle грант? - PullRequest
0 голосов
/ 21 апреля 2020

Как я понимаю в Oracle, одна схема предназначена только для одного пользователя, и если вы (предоставляющий) предоставляете привилегии другому пользователю (получателю) для доступа к этой схеме, эта схема копируется в схему получателя, тогда как MySQL просто обеспечивает доступ к базе данных без копирования.

Например, если user1 - схема1 и если вы предоставляете привилегии пользователю2 для доступа к схеме1. Будут ли эти таблицы в схеме1 скопированы в схему (это может быть схема2) пользователя user2. Как это работает за кулисами?

И,

Если я предоставлю только права доступа select2 для user2 для доступа к user1.table1, будет ли table1 скопирован в схему user2? Или user2 получает доступ только к table1, в то время как table1 все еще будет в schema1?

GRANT SELECT ON user1.table1 TO user2;

Пожалуйста, помогите мне понять, как работает oracle предоставление привилегий. Спасибо.

1 Ответ

2 голосов
/ 21 апреля 2020

эта схема копируется в схему получателя

Это совершенно неверно.

Получатель гранта получает только право доступа к таблицам в другой схеме. Для доступа к таблице грантополучатель должен префикс ссылки на таблицу со схемой грантодателя:

например, user2 необходимо выполнить:

select *
from user1.table1;

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

...