Учебник. Применение фильтров безопасности к элементам модели отчета

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

Для применения безопасности элемента модели необходимо развернуть модель на сервере отчетов, а затем на странице «Безопасность» в диспетчере отчетов применить безопасность к сущностям и полям модели. Кроме того, возвращаемые моделью данные могут быть защищены на уровне строк. Например, можно разрешить менеджерам по продажам видеть только свои собственные заказы на продажу. Чтобы применить безопасность на уровне строк, необходимо создать хотя бы один атрибут для использования в качестве фильтра ограничения данных, а затем связать его со свойством Коллекция SecurityFilters или DefaultSecurityFilter Object. Атрибут должен иметь тип Boolean, а свойство IsFilter должно иметь значение True. При необходимости, если атрибут не используется в качестве поля отчета, то можно присвоить свойству Hidden значение True.

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

ПримечаниеПримечание

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

В этом учебнике вы научитесь применять защиту на уровне строк к сущности модели отчета AdventureWorks2008R2 с помощью коллекции SecurityFilters. Теперь применим необходимые параметры безопасности в диспетчере отчетов.

Важное примечаниеВажно!

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

Требования

Для работы с этим учебником должны быть установлены следующие компоненты.

  • Службы Microsoft SQL Server Службы Reporting Services, работающие в собственном режиме. Выпуск SQL Server Express не поддерживает модели. Дополнительные сведения см. в разделе Функции, поддерживаемые различными выпусками SQL Server 2008 R2, включая следующие компоненты.

    • Microsoft SQL Server.

    • Microsoft SQL Server Business Intelligence Development Studio.

    • Microsoft SQL Server с базой данных База данных AdventureWorks2008R2.

    • Microsoft SQL Server с образцом модели отчета Adventure Works.

  • Платформа Microsoft .NET Framework 2.0 в системе, где будет выполняться построитель отчетов.

Необходимы следующие разрешения.

  • Для развертывания и публикации модели отчета пользователю должна быть назначена роль диспетчера содержимого или издателя.

  • Разрешения на получение данных из базы данных База данных AdventureWorks2008R2.

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