2013-04-05 3 views
0

У меня есть набор отчетов SSRS с использованием хранимых процедур, и я хочу предоставить доступ к отчетам только для просмотра. Я полагал, что это можно сделать, назначив роли SSRS пользователям/группам «Браузер». Но это не работает.Значение ролей SSRS? Отчеты в зависимости от разрешения хранимых процедур

Доступ к разрешениям/запретам на доступ к отчетам может быть осуществлен только путем предоставления/отклонения разрешения EXECUTE для лежащих в основе хранимых процедур.

Я что-то упустил? Если это верно, то каково значение ролей SSRS.

ответ

1

Права доступа к источнику данных отличаются от разрешений доступа к отчетам.

Роли SSRS определяют, может ли пользователь получать доступ к отчету. Источник данных отчета, скорее всего, настроен для передачи учетных данных пользователя в базу данных и, следовательно, хранимых процедур; поэтому вам также необходимо установить разрешения на этом уровне.

Если у пользователя нет доступа к отчетам, они не смогут их запускать, и доступ к базе данных не произойдет.

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

Редактировать после комментария:

Вы упомянули два сценария, один, где источник данных настроен для хранения учетных данных пользователя базы данных, а другой, где доступ к базе данных Источник данных настроен на использование учетные данные того, кто выполняет отчет.

В обоих сценариях вы контролируете доступ к самому отчету на уровне сервера отчетов.

Так что, если вы предоставляете домен \ User1Browser роль непосредственно на уровне отчета или выше, они могут получить доступ к отчету. Без настройки доступа Домен \ Пользователь2 не может запустить отчет.

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

Когда учетные данные хранятся в источнике данных, вам нужно только учитывать разрешения базы данных для этого пользователя. Предположим, вы настроили источник данных для подключения к базе данных как Домен \ ReportUser - только этому пользователю потребуется доступ к основным хранимым процедурам. Домен \ Пользователь1 не имеет доступа к базе данных, поэтому на этих объектах не требуется EXECUTE; только Домен \ ReportUser.

Когда учетные данные не сохраняются, доступ к базе данных источника данных будет выполняться пользователем Запустив отчет, так что в этом случае, когда Domain \ User1 запускает отчет, они также будут работать основные хранимые процедуры так будет необходимо обладать привилегией EXECUTE.

В обоих сценариях источника данных Домен \ Пользователь2 не может получить доступ к отчету из-за разрешений отчета, поэтому разрешения на базу данных не имеют значения.

+0

Thx для ответа Ian. Ты прав. Я только что проверил параметры безопасности SSRS для Datasource Reports, передал учетные данные для источника данных и «Использовать как учетные данные Windows при подключении к источнику данных». Я задаюсь вопросом, что значит ... Может кто-нибудь пролил свет? Я предполагаю, что в моей ситуации я не должен передавать хранимые учетные данные в источник данных отчетов, а должен использовать «Интегрированную защиту Windows» – Subhasis

+0

Я все еще запутался .. Я снял флажок «Учетные данные, хранящиеся на этом сервере отчетов» и использовал «интегрированную защиту Windows». Теперь я добавляю роль домена \ User1 в браузер, пытаюсь открыть отчеты с компьютера Windows, зарегистрированного как domain \ User1, я до сих пор не вижу отчетов. Должен ли я предоставить какое-либо конкретное разрешение базы данных для домена \ user1 ... Можете ли вы сказать мне шаги, чтобы сделать домен \ user1 доступ к отчетам, но domain \ user2 не может. – Subhasis

+0

@ Субасис, я добавил немного более подробно. Короткий ответ заключается в том, что разрешения отчетов будут контролировать доступ, но в зависимости от того, как настроен источник данных, вам, возможно, также придется учитывать разрешения для отдельных пользователей. –

Смежные вопросы