Права доступа к источнику данных отличаются от разрешений доступа к отчетам.
Роли SSRS определяют, может ли пользователь получать доступ к отчету. Источник данных отчета, скорее всего, настроен для передачи учетных данных пользователя в базу данных и, следовательно, хранимых процедур; поэтому вам также необходимо установить разрешения на этом уровне.
Если у пользователя нет доступа к отчетам, они не смогут их запускать, и доступ к базе данных не произойдет.
Чтобы посмотреть на него по-другому, рассмотрите отчет, в котором учетные данные хранятся в источнике данных, а не просто прошли проверку подлинности Windows. Это означает, что любой пользователь, выполняющий отчет, будет подключаться к базе данных с этими сохраненными учетными данными, а не как они сами. Вам нужно будет только беспокоиться о разрешениях базы данных для учетных данных источника данных. Вы все равно должны иметь возможность предоставлять/запрещать доступ к отчету, и в этом случае разрешения доступа к отчетам будут иметь значение.
Редактировать после комментария:
Вы упомянули два сценария, один, где источник данных настроен для хранения учетных данных пользователя базы данных, а другой, где доступ к базе данных Источник данных настроен на использование учетные данные того, кто выполняет отчет.
В обоих сценариях вы контролируете доступ к самому отчету на уровне сервера отчетов.
Так что, если вы предоставляете домен \ User1Browser роль непосредственно на уровне отчета или выше, они могут получить доступ к отчету. Без настройки доступа Домен \ Пользователь2 не может запустить отчет.
Теперь, когда настроено разрешение отчета, вам необходимо подумать о том, как настроен источник данных.
Когда учетные данные хранятся в источнике данных, вам нужно только учитывать разрешения базы данных для этого пользователя. Предположим, вы настроили источник данных для подключения к базе данных как Домен \ ReportUser - только этому пользователю потребуется доступ к основным хранимым процедурам. Домен \ Пользователь1 не имеет доступа к базе данных, поэтому на этих объектах не требуется EXECUTE
; только Домен \ ReportUser.
Когда учетные данные не сохраняются, доступ к базе данных источника данных будет выполняться пользователем Запустив отчет, так что в этом случае, когда Domain \ User1 запускает отчет, они также будут работать основные хранимые процедуры так будет необходимо обладать привилегией EXECUTE
.
В обоих сценариях источника данных Домен \ Пользователь2 не может получить доступ к отчету из-за разрешений отчета, поэтому разрешения на базу данных не имеют значения.
Thx для ответа Ian. Ты прав. Я только что проверил параметры безопасности SSRS для Datasource Reports, передал учетные данные для источника данных и «Использовать как учетные данные Windows при подключении к источнику данных». Я задаюсь вопросом, что значит ... Может кто-нибудь пролил свет? Я предполагаю, что в моей ситуации я не должен передавать хранимые учетные данные в источник данных отчетов, а должен использовать «Интегрированную защиту Windows» – Subhasis
Я все еще запутался .. Я снял флажок «Учетные данные, хранящиеся на этом сервере отчетов» и использовал «интегрированную защиту Windows». Теперь я добавляю роль домена \ User1 в браузер, пытаюсь открыть отчеты с компьютера Windows, зарегистрированного как domain \ User1, я до сих пор не вижу отчетов. Должен ли я предоставить какое-либо конкретное разрешение базы данных для домена \ user1 ... Можете ли вы сказать мне шаги, чтобы сделать домен \ user1 доступ к отчетам, но domain \ user2 не может. – Subhasis
@ Субасис, я добавил немного более подробно. Короткий ответ заключается в том, что разрешения отчетов будут контролировать доступ, но в зависимости от того, как настроен источник данных, вам, возможно, также придется учитывать разрешения для отдельных пользователей. –