Поделиться через


Защита отчетов и ресурсов

Изменения: 14 апреля 2006 г.

Можно управлять степенью предоставляемого пользователям доступа к отдельным отчетам и ресурсам. По умолчанию только пользователи, являющиеся членами встроенной группы Администраторы, могут выполнять отчеты, просматривать ресурсы, изменять свойства и удалять элементы. Остальные пользователи должны иметь созданные для них назначения ролей, предоставляющие доступ к отчету или ресурсу.

Доступ к отчетам и ресурсам на основе ролей

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

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

Возможно, для решения поставленной задачи придется выполнить несколько назначений ролей. Допустим, нужно предоставить доступ к отчету двум пользователям (Анне и Фернандо) и членам группы менеджеров по управлению персоналом. Анна и Фернандо должны иметь возможность управлять отчетом, а члены группы менеджеров по управлению персоналом — только выполнять его. Для согласования всех этих пользователей необходимо создать три отдельных назначения ролей: одно — чтобы сделать Анну диспетчером содержимого отчета, второе — чтобы сделать Фернандо диспетчером содержимого отчета и третье — чтобы предоставить членам группы менеджеров по управлению персоналом право только на просмотр отчета.

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

Сдерживание атак, осуществляемых путем инжекции HTML-кода, в опубликованном отчете или документе

В службах Reporting Services отчеты и ресурсы обрабатываются с использованием идентификатора безопасности пользователя, который запустил отчет. Если отчет содержит выражения, сценарий, пользовательские элементы отчета или пользовательские сборки, код выполняется с использованием учетных данных пользователя. Если ресурсом является HTML-документ, содержащий сценарий, сценарий начнет выполняться, когда пользователь откроет документ на сервере отчетов. Возможность запустить код или сценарий без отчета — мощная функция, несущая в себе определенную долю риска. Если код вредоносен, сервер отчетов и пользователь, запустивший отчет, становятся уязвимыми для атаки.

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

Можно снизить риск выполнения вредоносных сценариев, приняв следующие меры предосторожности.

  • Избирательно решайте, кто может публиковать содержимое на сервере отчетов. Поскольку всегда существует возможность публикации вредоносного содержимого, лучше ограничить число пользователей, которые могут публиковать содержимое.
  • Все издатели также должны избегать публикации отчетов и ресурсов, поступивших из неизвестных или не заслуживающих доверия источников. При необходимости откройте файл в текстовом редакторе и поищите подозрительный сценарий или URL-адреса.

Сдерживание атак, осуществляемых путем инжекции кода SQL, в параметризованном отчете

В любом отчете, содержащем параметры типа String, используйте список доступных значений (иначе называемый списком допустимых значений) и убедитесь, что у любого пользователя, запускающего отчеты, есть разрешение только на просмотр данных в отчете. При определении параметра типа String пользователю предоставляется текстовое поле, в которое можно ввести любое значение. Список допустимых значений ограничивает значения, которые могут быть введены. Если параметр отчета привязан к параметру запроса и не использует список допустимых значений, пользователь отчета может ввести в это текстовое поле команду на языке SQL и выполнить атаку встроенными командами SQL в отношении этого отчета и всего сервера. Если у пользователя есть достаточные разрешения для выполнения новой инструкции SQL, это может привести к нежелательному результату на сервере.

Если параметр отчета не привязан к параметру запроса и значения параметра включены в отчет, пользователь отчета может ввести синтаксис выражения или URL-адрес в значение параметра и подготовить отчет для просмотра через Excel или HTML. Если после этого другой пользователь просматривает отчет и щелкает содержимое подготовленного к просмотру параметра, то он может невольно выполнить вредоносный сценарий или перейти по ссылке.

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

Дополнительные сведения об атаках, осуществляемых путем инжекции SQL-кода, и об их сдерживании см. в разделе Встроенные средства безопасности и повышенные разрешения.

ms157323.note(ru-ru,SQL.90).gifПримечание.
В предыдущих версиях документации был включен пример создания динамического запроса в виде выражения. Этот тип запроса не рекомендуется использовать, так как он создает уязвимость для атак, осуществляемых путем инжекции SQL-кода.

Защита конфиденциальных отчетов

Отчеты, содержащие конфиденциальные данные, следует защищать на уровне доступа к данным, требуя от пользователей, чтобы они предоставили учетные данные, дающие право на доступ к этим данным. Дополнительные сведения см. в разделе Указание учетных данных и сведений о соединении. Кроме того, можно защитить папку, сделав ее недоступной для неавторизованных пользователей. Дополнительные сведения см. в разделе Защита папок.

См. также

Задачи

Как указать сохраненные учетные данные для источника данных (среда Management Studio)

Основные понятия

Встроенные средства безопасности и повышенные разрешения
Создание, изменение и удаление назначений ролей
Роль «Издатель»
Назначение ролей для доступа к построителю отчетов
Управление разрешениями и безопасностью служб Reporting Services
Защита совместно используемых элементов источника данных

Другие ресурсы

Работа с параметрами в службах Reporting Services

Справка и поддержка

Получение помощи по SQL Server 2005

Журнал изменений

Версия Журнал

14 апреля 2006 г.

Новое содержимое
  • Сдерживание атак, осуществляемых путем инжекции SQL-кода.
  • Сдерживание атак, осуществляемых путем инжекции HTML-кода.