powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / В списке табличных привилегий не видны предоставленные привилегии
7 сообщений из 7, страница 1 из 1
В списке табличных привилегий не видны предоставленные привилегии
    #39956916
endy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте. Я создал две таблицы и так как не могу предоставить grant на обе таблицы одновременно создал роль куда буду добавлять табличные привилегии, а роль буду назначать пользователю. Но вот тут появилась маленькая проблема. Пользователь не может увидеть в своем списке привилегий те табличные привилегии, которые были назначены ему через роль. Ниже описано последовательность проделанных операций шаг за шагом. Прошу помочь в решении. Заранее благодарю.

Шаги пользователя HR:

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
CREATE TABLE A1 (ID NUMBER);
Table A1 created.

CREATE TABLE A2 (ID NUMBER);
Table A2 created.

CREATE ROLE ROLE1;
Role ROLE1 created.

GRANT SELECT ON A1 TO ROLE1;
Grant succeeded.

GRANT SELECT ON A2 TO ROLE1;
Grant succeeded.

GRANT ROLE1 TO MAX;
Grant succeeded.



Шаги пользователя MAX:

Код: plsql
1.
2.
3.
4.
5.
6.
SET ROLE ROLE1;
Role ROLE1 succeeded.

SELECT * FROM HR.A1;--успех

SELECT * FROM USER_TAB_PRIVS;--успех, но найдено 0 результатов
...
Рейтинг: 0 / 0
В списке табличных привилегий не видны предоставленные привилегии
    #39956939
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RTFM ALL_TAB_PRIVS_RECD
...
Рейтинг: 0 / 0
В списке табличных привилегий не видны предоставленные привилегии
    #39957132
endy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Elic,

Спасибо большое. Очень помогли.

Получается что

Код: plsql
1.
SELECT * FROM ALL_TAB_PRIVS_RECD;



И

Код: plsql
1.
SELECT * FROM USER_TAB_PRIVS;



Оба view используются для просмотра всех табличных привилегий, но указанный вами показывает еще и те табличные привилегии, которые были назначены через роль, а то что указал я показывает только те табличные привилегии, которые были назначены напрямую? Я правильно понимаю?
...
Рейтинг: 0 / 0
В списке табличных привилегий не видны предоставленные привилегии
    #39957215
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
endy
Я правильно понимаю?
RTFM Reference (FAQ)
Или ты не можешь по-английски читать документацию?
...
Рейтинг: 0 / 0
В списке табличных привилегий не видны предоставленные привилегии
    #39957441
endy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Elic,

Стараюсь, но есть проблемы с полным пониманием.. Поэтому часто не поняв в документации ищу в интернете
...
Рейтинг: 0 / 0
В списке табличных привилегий не видны предоставленные привилегии
    #39957448
endy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Elic,

Например в документации написано следующее:

USER_TAB_PRIVS
USER_TAB_PRIVS describes the object grants for which the current user is the object owner, grantor, or grantee. Its columns are the same as those in DBA_TAB_PRIVS.

Что насколько я понимаю говорит о том что USER_TAB_PRIVS показывает список объектных привилегий, для тех объектов, которые либо принадлежат пользователю, либо ему были переданы право от другого пользователя, либо сам пользователь передал право кому-то. Из этого выходит что в этом списке должны быть указаны и те объектные привилегии, которые я предоставил пользователю MAX.
Но они там не показываются, а вот ALL_TAB_PRIVS_RECD показывает все. На счет этого в документации указано слюдущее

USER_TAB_PRIVS_RECD describes the object grants for which the current user is the grantee. Its columns (except for GRANTEE) are the same as those in ALL_TAB_PRIVS_RECD.

Из этого следует что в данном предоставлении указываются те объектные привилегии, которые были предоставлены пользователю кем-то.

Тоесть вроде бы по документации в обоих представлениях должна быть данная информация или же я чего то не до понял.
...
Рейтинг: 0 / 0
В списке табличных привилегий не видны предоставленные привилегии
    #39957461
dmdmdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вы даете право не напрямую пользователю (grantee), а через роль, в этом разница.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / В списке табличных привилегий не видны предоставленные привилегии
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]