Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 Список ролей, которым можно что-нибудь грантить  [new]
Правильный Вася
Member

Откуда:
Сообщений: 377
Допустим, я некий владелец схемы, но при этом не DBA. Поэтому у меня нет доступа к DBA_ROLES.
Я хочу получить список ролей, чтобы некоторым из них дать права на объекты в моей схеме.
Где их можно добыть?
В session_roles только те, которые выданы мне, а этого мало...
17 июн 18, 21:55    [21498036]     Ответить | Цитировать Сообщить модератору
 Re: Список ролей, которым можно что-нибудь грантить  [new]
Правильный Вася
Member

Откуда:
Сообщений: 377
Дополню, версия Оракла от 11 и выше.

Кроме того, в SESSION_ROLES присутствуют и те роли, у которых в DBA_ROLES.ORACLE_MAINTAINED='Y', т.е. 'A role for which this column has the value Y must not be changed in any way except by running an Oracle-supplied script.'
Но как я об этом могу узнать, если нет доступа к DBA_ROLES?
19 июн 18, 14:56    [21503492]     Ответить | Цитировать Сообщить модератору
 Re: Список ролей, которым можно что-нибудь грантить  [new]
Elic
Member

Откуда:
Сообщений: 29976
Правильный Вася
Я хочу получить список ролей, чтобы некоторым из них дать права на объекты в моей схеме.
"Кому бы выдать права?" - неверная постановка вопроса. Правильная: "Кто просил права".
19 июн 18, 15:12    [21503595]     Ответить | Цитировать Сообщить модератору
 Re: Список ролей, которым можно что-нибудь грантить  [new]
Elic
Member

Откуда:
Сообщений: 29976
Elic
Правильная: "Кому нужны права?"
19 июн 18, 15:13    [21503598]     Ответить | Цитировать Сообщить модератору
 Re: Список ролей, которым можно что-нибудь грантить  [new]
Viewer
Member

Откуда: Самара
Сообщений: 5369
Вы можете объяснить, чего вас так припёрло выдавать права, если никто об этом не просит?
Выдавайте согласно подтверждённым/обоснованным заявкам/требованиям. Остальное не ваша проблема.
19 июн 18, 15:16    [21503610]     Ответить | Цитировать Сообщить модератору
 Re: Список ролей, которым можно что-нибудь грантить  [new]
Правильный Вася
Member

Откуда:
Сообщений: 377
неверная постановка вопроса

Я ж не об этом спрашивал, верно?
Не надо советовать покупать морковку, когда я спрашиваю, какая булочка вкуснее.

Если серьезно, то мне нужно дать права ролям, но так, чтоб их можно было выбрать из списка, а не вдалбливать руками. И чтоб в этом списке они были, а не только системно-созданные.
19 июн 18, 16:03    [21503810]     Ответить | Цитировать Сообщить модератору
 Re: Список ролей, которым можно что-нибудь грантить  [new]
-2-
Member

Откуда:
Сообщений: 15330
Правильный Вася
мне нужно
Если у тебя нет прав на DBA_, логично предположить, что в базе ты не хозяин. Соответственно и грантовать наобум даже не oracle_maintained ролям не должен без согласования с ответственным лицом. Либо пусть админ создаст view your_maintained_roles и даст на нее грант, либо заведи свою табличку my_maintained_roles.
19 июн 18, 16:45    [21503905]     Ответить | Цитировать Сообщить модератору
 Re: Список ролей, которым можно что-нибудь грантить  [new]
Правильный Вася
Member

Откуда:
Сообщений: 377
-2-
грантовать наобум не должен без согласования с ответственным лицом

Увы, задача стоит вполне конкретно: дать инструмент любому пользователю выдавать права на свои объекты.
И если список других пользователей я получить могу, то список ролей - нет. И я не могу встраивать в инструмент предложение пользователю договориться с админом, чтоб тот создал еще какие-то объекты, через которые я могу добыть список этих самых ролей. Согласование - это на той стороне, а инструмент - у меня. И хотелось бы, чтоб он был прост и без коллбэков к пользователям инструмента.
19 июн 18, 18:02    [21504238]     Ответить | Цитировать Сообщить модератору
 Re: Список ролей, которым можно что-нибудь грантить  [new]
Elic
Member

Откуда:
Сообщений: 29976
Правильный Вася
задача стоит
Кто кому поставил? А почему прав на решение не дал?
Правильный Вася
дать инструмент
О-пля, намечается универсальная нетленка с просто мега-функционалом?
19 июн 18, 18:09    [21504274]     Ответить | Цитировать Сообщить модератору
 Re: Список ролей, которым можно что-нибудь грантить  [new]
env
Member

Откуда: Россия, Москва
Сообщений: 6697
Правильный Вася,

Если речь о ролях приложения - то делаешь явную таблицу маппинга и обращаешься к ней, если приложение должно давать пользователю возможность явно выдавать права ролям СУБД, то как ты планируешь отделять свои от служебных (я даже не спрашиваю зачем, и кому потом охреневать от этого велосипеда)?
19 июн 18, 18:16    [21504300]     Ответить | Цитировать Сообщить модератору
 Re: Список ролей, которым можно что-нибудь грантить  [new]
Правильный Вася
Member

Откуда:
Сообщений: 377
Elic, не вижу поводов для иронии.

Задача - мне, а права у пользователя(ей) инструмента. Но кто они и какие у них отношения с админами, это не моя компетенция, знать их не знаю.
19 июн 18, 18:19    [21504311]     Ответить | Цитировать Сообщить модератору
 Re: Список ролей, которым можно что-нибудь грантить  [new]
Правильный Вася
Member

Откуда:
Сообщений: 377
env
если приложение должно давать пользователю возможность явно выдавать права ролям СУБД, то как ты планируешь отделять свои от служебных?

Я не планирую, это проблемы пользователя инструмента. Подразумевается, что он вполне грамотный, а не кноподав.
19 июн 18, 18:22    [21504323]     Ответить | Цитировать Сообщить модератору
 Re: Список ролей, которым можно что-нибудь грантить  [new]
andrey_anonymous
Member

Откуда: Москва
Сообщений: 18337
Пусть раздают права паблику.
Или пользователям напрямую.
Или создайте свою роль.
Чужим ролям ничего раздавать не надо.
19 июн 18, 18:49    [21504376]     Ответить | Цитировать Сообщить модератору
 Re: Список ролей, которым можно что-нибудь грантить  [new]
Правильный Вася
Member

Откуда:
Сообщений: 377
andrey_anonymous
Или создайте свою роль.
Чужим ролям ничего раздавать не надо.

Допустим, пользователь инструмента создал несколько этих самых своих ролей. Но я-то о них знать не знаю. Они для меня и есть "чужие".
Можно, конечно, заставить его вбивать роли вручную. Но хочется сделать красиво, с выбором.

Но как я понял из всех советов, прямого пути нет, раз все так дружно пытаются вытолкать меня с этого пути на всякие обходные.
19 июн 18, 19:42    [21504441]     Ответить | Цитировать Сообщить модератору
 Re: Список ролей, которым можно что-нибудь грантить  [new]
Elic
Member

Откуда:
Сообщений: 29976
Правильный Вася
пользователь создал несколько этих самых своих ролей
USER_ROLE_PRIVS
19 июн 18, 19:49    [21504458]     Ответить | Цитировать Сообщить модератору
 Re: Список ролей, которым можно что-нибудь грантить  [new]
-2-
Member

Откуда:
Сообщений: 15330
Правильный Вася
не могу встраивать в инструмент предложение пользователю договориться с админом
Инсталляционные и конфигурационные процедуры ответственность "администратора приложения". Будет ли эту роль исполнять специалист техподдержки, разработчик приложения, кто-то из конченных пользователей или прилетит вдруг ларри элиссон на красном самолете - вопрос ролевых игр у конкретного заказчика.
19 июн 18, 20:18    [21504487]     Ответить | Цитировать Сообщить модератору
 Re: Список ролей, которым можно что-нибудь грантить  [new]
Правильный Вася
Member

Откуда:
Сообщений: 377
Elic, ну, как вариант. Но ведь и там тоже встречаются oracle_mailtained ...
19 июн 18, 20:32    [21504499]     Ответить | Цитировать Сообщить модератору
 Re: Список ролей, которым можно что-нибудь грантить  [new]
SY
Member

Откуда: Middlebury, CT USA
Сообщений: 10040
Правильный Вася
Допустим, пользователь инструмента создал несколько этих самых своих ролей.


Не путай application role и database role. Пользователь инструмента не должен создавать database roles. Он может создавать application role которая может быть (a может и нет) реализована через database role. Но даже если и реализована через database role ты, как пользователь инструмента должен В ИНСТРУМЕНТЕ выдать application role grant на обьект инструмента, а в какой SQL это выльется это инструменту решать.

SY.
19 июн 18, 20:49    [21504516]     Ответить | Цитировать Сообщить модератору
 Re: Список ролей, которым можно что-нибудь грантить  [new]
Правильный Вася
Member

Откуда:
Сообщений: 377
SY,
я не говорил об application role, т.к. не работаю с ними и не встраиваю в инструмент.
Возможно, пользователь инструмента и сам будет в дальнейшем их создавать, а может и нет. Я ж ему даю инструмент для database role, вот о них и спрашивал.
19 июн 18, 21:08    [21504533]     Ответить | Цитировать Сообщить модератору
 Re: Список ролей, которым можно что-нибудь грантить  [new]
SY
Member

Откуда: Middlebury, CT USA
Сообщений: 10040
T.е. frontend'a у тебя нет и все дружно лезут прямиком в базу. Что-же, продолжай в том-же духе.

SY.
19 июн 18, 21:56    [21504597]     Ответить | Цитировать Сообщить модератору
 Re: Список ролей, которым можно что-нибудь грантить  [new]
-2-
Member

Откуда:
Сообщений: 15330
Правильный Вася
Допустим, пользователь инструмента создал несколько этих самых своих ролей.
Ага. Один пользователь создал объекты, чтобы их грантовать, другой создал роли, чтобы в них грантовать и все тайком от "инструмента". Но вот грант только через него!
20 июн 18, 00:24    [21505214]     Ответить | Цитировать Сообщить модератору
 Re: Список ролей, которым можно что-нибудь грантить  [new]
Elic
Member

Откуда:
Сообщений: 29976
-2-
Ага. Один пользователь создал объекты, чтобы их грантовать, другой создал роли, чтобы в них грантовать и все тайком от "инструмента". Но вот грант только через него!
Зато сверх-лоб решает сверх-задачу. Т,е. "работает", а не занимается сверх-измышлизмом.
20 июн 18, 07:33    [21505497]     Ответить | Цитировать Сообщить модератору
 Re: Список ролей, которым можно что-нибудь грантить  [new]
env
Member

Откуда: Россия, Москва
Сообщений: 6697
Правильный Вася,

Т.е. пользователь Вася создаёт таблицу My_Private_Data и хочет поделиться ей с друзьями, для чего выбирает в приложении гранты ролям DBA, SELECT_CATALOG_ROLE, EXP_FULL_DATABASE и прочим. Я всё правильно понимаю пока?
20 июн 18, 09:36    [21505709]     Ответить | Цитировать Сообщить модератору
 Re: Список ролей, которым можно что-нибудь грантить  [new]
MaximaXXL
Member

Откуда: Киев
Сообщений: 652
env,

Да тут вообще что-то странное с задачей, т.е. Если Вася создал таблицу и хочет засовывать ее в ЧУЖИЕ ему роли ....?
Даже не зная есть ли у пользователя Петя эти роли
Почему не создать свои и не добавлять туда пользователей, список которых у него есть?
А при наличии синонимов еще и колизии доступа можно схлопотать, когда Вася будет видеть одинаковые таблицы Пети и Коли.
При этом возможно ломая другие приложения (появяться у людей вьюхи с названиями таблиц, как вариант, или перегруженные функции).
В общем надо переименовать с "Правильный Вася" в "Бесстрашный Вася"
20 июн 18, 10:40    [21505898]     Ответить | Цитировать Сообщить модератору
 Re: Список ролей, которым можно что-нибудь грантить  [new]
Правильный Вася
Member

Откуда:
Сообщений: 377
-2-
Один пользователь создал объекты, чтобы их грантовать, другой создал роли, чтобы в них грантовать и все тайком от "инструмента". Но вот грант только через него!

Разве я говорил, что это обязательно разные пользователи? Может быть и тот же самый.
И все сделать могут как в инструменте, так и без него. В том и задача, чтоб просто помочь пользователю, а не заменять его.

Зато сверх-лоб решает сверх-задачу. Т,е. "работает", а не занимается сверх-измышлизмом.

Постебался? Не надоело?
Задача поставлена, идет поиск решения. А если у кого-то клише приросло к рукам, то это не значит, что и остальные должны быть такими же.

Вася создаёт таблицу My_Private_Data и хочет поделиться ей с друзьями, для чего выбирает в приложении гранты ролям DBA, SELECT_CATALOG_ROLE, EXP_FULL_DATABASE и прочим. Я всё правильно понимаю пока?

Все с точностью до наоборот (см. [#~21503492]) - хочется иметь список ролей, не встроенных в оракл, а созданных юзерами.

В общем надо переименовать с "Правильный Вася" в "Бесстрашный Вася"

Если это поможет делу, не вопрос.
20 июн 18, 13:53    [21506662]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Oracle Ответить