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


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

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

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

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

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

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

В этом учебнике вам предстоит изучить, как применить защиту на уровне строк к сущности модели отчета Adventure Works с помощью коллекции SecurityFilters. Далее предстоит применить требуемые параметры безопасности в диспетчере отчетов.

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

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

Требования

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

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

    • MicrosoftSQL Server.

    • MicrosoftSQL ServerBusiness Intelligence Development Studio.

    • Microsoft сервер SQL Server с базой данных AdventureWorks.

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

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

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

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

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

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