Что разрешение, требуемое просмотреть все полномочия на данной базе данных?

Что разрешение может предоставить праву просмотреть все полномочия на данной базе данных?

В моем текущем контексте служба поддержки части программного обеспечения должна смочь исследовать причину проблем разрешения, не будучи разрешенным изменять разрешение самих. Я хочу, чтобы они смогли просмотреть полномочия каждого входа в систему/пользователя/ролей базы данных. Если бы это невозможно на уровне базы данных, уровень сервера работал бы.

0
задан 13 March 2015 в 16:59
2 ответа

В соответствии с документацией к sys.database_permissions DMV:

Любой пользователь может увидеть свои собственные разрешения. Чтобы увидеть разрешения для других пользователей, требует ПРОСМОТРИТЕЛЬНОГО ОБНАРУЖЕНИЯ, ВСЕГО ЛЮБОГО ПОЛЬЗОВАТЕЛЯ, или любого разрешения на пользователь. Для просмотра определяемых пользователем ролей, требуется ALTER ANY ROLE, или членство в роли (например, public).

И, в соответствии с документацией для разрешений на пользователей, вы можете предоставить определение просмотра на пользователя. Однако, если вы используете что-либо удаленно сложное со своими разрешениями, я скажу по собственному опыту, что возможность выдавать себя за пользователя является очень полезной при диагностике таких вещей (так как вы можете вызывать такие вещи, как fn_my_permissions, sys.login_token и sys.user_token).

.
3
ответ дан 4 December 2019 в 11:48

Это можно получить с помощью разрешений VIEW DEFINITION.

Однако, скорее всего, вы не захотите разрешать им доступ к вашим серверам баз данных.
. Альтернативным способом был бы запрос прав на вашу базу данных и предоставление им результатов.

Это можно сделать с помощью DMV или SQL-запросов. Есть несколько примеров в этом посте StackOverflow.

1
ответ дан 4 December 2019 в 11:48

Теги

Похожие вопросы