|
v_my_permissions
|
|||
---|---|---|---|
#18+
Панадобилось дать пользователям обзор, какими правами на какие объекты они располагают. Был бы благодарен за критику / исправления. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31.
... |
|||
:
Нравится:
Не нравится:
|
|||
26.05.2020, 15:45 |
|
v_my_permissions
|
|||
---|---|---|---|
#18+
Alexander Us, а чем вам просто использование sys.fn_my_permissions не угодило? просто если вам нужен именно список, то нельзя сказать что тот запрос что у вас сейчас есть покажет полную картину ... |
|||
:
Нравится:
Не нравится:
|
|||
26.05.2020, 16:12 |
|
v_my_permissions
|
|||
---|---|---|---|
#18+
felix_ff, Да, мне нужно чтобы пользователь одним запросом получал перечень объектов текущей базы как таблицы, виды, процедуры, функции (кроме столбцов) с перечислением дозволенных действий. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.05.2020, 16:21 |
|
v_my_permissions
|
|||
---|---|---|---|
#18+
Специфические для MSSQL вещи проще делать через системные таблицы и представления. Код: sql 1. 2. 3. 4. 5. 6.
... |
|||
:
Нравится:
Не нравится:
|
|||
26.05.2020, 16:23 |
|
v_my_permissions
|
|||
---|---|---|---|
#18+
invm, Спасибо, красивое решение. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.05.2020, 16:59 |
|
v_my_permissions
|
|||
---|---|---|---|
#18+
Alexander Us, а вам нужно только персонализированное право? просто представьте ситуацию что пользователь имеет право impersonate на более привелигированную учетку. в таком случае к примеру fn_my_permissions не покажет прямых прав на допустим таблицу, а вот косвенные права при олицетворении у пользователя фактически будут. это попадает под ваше определение "объектов текущей базы как таблицы, виды, процедуры, функции (кроме столбцов) с перечислением дозволенных действий."? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.05.2020, 17:02 |
|
v_my_permissions
|
|||
---|---|---|---|
#18+
Alexander Us, Пользователь может также иметь разрешения уровня базы данных, быть членом роли, владельцем схемы. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.05.2020, 17:21 |
|
v_my_permissions
|
|||
---|---|---|---|
#18+
felix_ff Alexander Us, а вам нужно только персонализированное право? просто представьте ситуацию что пользователь имеет право impersonate на более привелигированную учетку. в таком случае к примеру fn_my_permissions не покажет прямых прав на допустим таблицу, а вот косвенные права при олицетворении у пользователя фактически будут. это попадает под ваше определение "объектов текущей базы как таблицы, виды, процедуры, функции (кроме столбцов) с перечислением дозволенных действий."? - мне нужны "эффективные" права. неважно как позьзователь получил право - в составе группы или персоонально, ему надо выдать строчку объект ; права - до сих пор impersonate использовалось только свеху вниз. например, руководитель группы / или админ смотрит, что мам можно делать Васе Пупкину. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.05.2020, 17:35 |
|
v_my_permissions
|
|||
---|---|---|---|
#18+
Владислав Колосов Alexander Us, Пользователь может также иметь разрешения уровня базы данных, быть членом роли, владельцем схемы. Неважно как позьзователь получил право - в составе группы, персоонально и т.д., ему надо выдать строчку объект ; права Т.е. но мне нужны "эффективные" права чтобы, например - разработчик мог быстпо посмотреть есть ли у него необходимые права на объект(ы) - руководитель группы или админ мог убедиться в наличии (отсутствии) прав пользователя на объект(ы) В этом случае не играет роли как эти права получены. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.05.2020, 17:41 |
|
v_my_permissions
|
|||
---|---|---|---|
#18+
Alexander Us, ну мы же вашей инфраструктуры не знаем, пользователи могут кстати сами права выдавать. в целом может получиться вот такая ситуация Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35.
как бы пользователь u2 изначально прав на таблицу не имеет, но стоит у него появиться некоторой лазейке и пожалуйста. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.05.2020, 18:17 |
|
v_my_permissions
|
|||
---|---|---|---|
#18+
felix_ff, спасибо за замечательный ! пример. Но в реальной жизни мой запрос/вид нужны для добросовестных пользователей, чтобы можно было быстро оценить, на какие объекты есть или не хватает прав. По крайней мере в одном из двух, продемонстированных Вами случаев запрос от invm выдаст стоку с "TAKE OWNERSHIP" для пользователя "u2", таблицы "tu1". ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2020, 10:07 |
|
|
start [/forum/topic.php?fid=46&msg=39962367&tid=1686070]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
41ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
others: | 18ms |
total: | 152ms |
0 / 0 |