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


Предоставление настраиваемого доступа к данным измерений (службы Analysis Services)

После включения доступа на чтение в кубе можно установить дополнительные разрешения, которые явно разрешают или запрещают доступ к элементам измерения (включая меры, входящие в аналитику мер, содержащую все меры, используемые в кубе). Например, для нескольких категорий торговых посредников может потребоваться задать разрешения, чтобы исключить данные, относящиеся к определенному типу бизнеса. На следующей съеме показано влияние запрета доступа к типу бизнеса «Склад» для измерения «Торговый посредник».

Сводные таблицы с членом измерения и без него

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

Можно ограничить доступ, выбрав, каким членам его разрешить (AllowedSet), а каким — запретить (DeniedSet). Для этого нужно включить или исключить членов измерения из роли.

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

Предварительные требования

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

Проверка наличия помех безопасности измерений: меры по умолчанию, элементы по умолчанию и меры, используемые в выражениях меры

  1. В среде SQL Server Management Studio щелкните правой кнопкой мыши куб и выберите Script Cube as (Создать скрипт для куба). | ALTER To | Окно редактора нового запроса.

  2. Выполните поиск строки DefaultMeasure. Следует найти одну строку для куба и по одной строке для каждой перспективы. При определении безопасности измерений избегайте ограничения доступа к мерам по умолчанию.

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

  4. Наконец, выполните поиск строки DefaultMember. Запишите все атрибуты, которые служат в качестве элемента атрибута по умолчанию. Не устанавливайте ограничения на эти атрибуты при настройке безопасности измерений.

Базовая безопасность измерений

  1. В среде Среда SQL Server Management Studio подключитесь к экземпляру служб Службы Analysis Services, разверните узел Роли для соответствующей базы данных в обозревателе объектов, а затем щелкните роль базы данных (или создайте новую).

    У этой роли уже должен быть доступа на чтение к кубу. Для справки см. Предоставление разрешений для куба или модели (службы Analysis Services).

  2. В области Данные измерения | Базовая выберите измерение, для которого нужно настроить разрешения.

  3. Выберите иерархию атрибутов. Не все атрибуты будут доступны. Только атрибуты со свойством AttributeHierarchyEnabled отображаются в списке Иерархия атрибутов.

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

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

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

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

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

Скрытие мер

Согласно пояснению в Предоставление настраиваемого доступа к данным ячеек (службы Analysis Services), чтобы полностью скрыть все визуальные аспекты меры, а не только данные ячеек, требуются разрешения для членов измерения. В этом разделе поясняется, как запретить доступ к метаданным объекта меры.

  1. В области Данные измерения | Простые, прокрутите список «Измерение» вниз, пока на экране не появятся измерения куба, затем выберите Измерение мер.

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

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

Сведения о том, как обнаружить меры, способные нарушить безопасность ролей, см. в разделе "Предварительные требования".

Расширенная безопасность измерений

Если вы умеете работать с MDX, можно написать выражения MDX, указывающие условия, на основании которых членам разрешается или запрещается доступ. Щелкните Создать роль | Данные измерения | Расширенные, чтобы получить сценарий.

Для создания инструкций MDX можно использовать MDX Builder. Дополнительные сведения см. в разделе Диалоговое окно «Построитель многомерных выражений» (службы Analysis Services — многомерные данные). На вкладке Дополнительно доступны следующие параметры.

  • Атрибут
    Выберите атрибут, безопасность которого необходимо настроить.

  • Разрешенный набор элементов
    Свойство AllowedSet может иметь следующие значения: нет элементов, все элементы (по умолчанию) или некоторые элементы. Если при предоставлении доступа к атрибуту не определяются никакие элементы допустимого набора, то будет разрешен доступ ко всем элементам. Если разрешить доступ к атрибуту и задать определенный набор элементов атрибута, будут отображаться только явным образом разрешенные элементы.

    Создание AllowedSet имеет «волновой эффект», если атрибут участвует в многоуровневой иерархии. Например, предположим, что какая-либо роль разрешает доступ к штату Вашингтон (в сценарии, когда эта роль предоставляет разрешения к отделу продаж компании в штате Вашингтон). Для пользователей, подключающихся через эту роль, запросы, включая предков (Соединенные Штаты Америки) или потомков (Сиэтл и Редмонд) будут видеть только членов в цепочке, включая штат Вашингтон. Поскольку остальные состояния не разрешены явным образом, действие будет таким же, как если бы они были запрещены.

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

    Если задать пустой набор ({}) элементов атрибута, никакие элементы атрибута не будут доступны для роли базы данных. Отсутствие допустимого набора не трактуется как пустой набор.

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

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

  • Элемент по умолчанию
    Свойство DefaultMember определяет набор данных, возвращаемый клиенту, когда атрибут не задан явным образом в запросе. Если атрибут не включается явным образом, то службы Службы Analysis Services используют для атрибута один из следующих элементов по умолчанию.

    • Если роль базы данных определяет для атрибута элемент по умолчанию, то службы Службы Analysis Services используют данный элемент по умолчанию.

    • Если роль базы данных не определяет для атрибута элемент по умолчанию, то службы Службы Analysis Services используют элемент по умолчанию, заданный для самого атрибута. Элемент по умолчанию для атрибута, если не указывается иное, является элементом All (если только атрибут не определяется как не включаемый в статистическое вычисление).

    Например, предположим, что роль базы данных указывает Male в качестве элемента по умолчанию для атрибута Gender. Если только в запрос явно не включен атрибут Gender и не указан другой элемент для такого атрибута, то службы Службы Analysis Services вернут набор данных, включающий в себя только клиентов мужского пола. Дополнительные сведения о задании членов по умолчанию см. в разделе Определение элемента по умолчанию.

  • Активировать визуальные итоги
    Свойство VisualTotals указывает на то, вычисляются ли отображаемые статистические значения ячеек в соответствии со всеми значениями ячеек или только в соответствии со значениями ячеек, видимых роли базы данных.

    По умолчанию, свойство VisualTotals отключено (установлено значение False). Указанный параметр по умолчанию позволяет добиться максимальной производительности, потому что службы Службы Analysis Services могут быстро вычислить сумму всех значений ячеек, не тратя время на выбор значений ячеек для включения в вычисление.

    Однако отключение свойства VisualTotals может оказать отрицательное влияние на безопасность, если пользователь может воспользоваться статистическими значениями ячеек для вывода значений элементов атрибута, к которым роль базы данных пользователя не имеет доступа. Например, службы Службы Analysis Services используют значения трех элементов атрибута для вычисления статистического значения ячейки. У роли базы данных есть доступ к просмотру двух из указанных трех элементов атрибута. Используя статистическое значение ячейки, член данной роли базы данных сможет вывести значение третьего элемента атрибута.

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

  • Проверка
    Щелкните, чтобы проверить синтаксис MDX, заданный на этой странице.

См. также

Задания

Предоставление разрешений для структур интеллектуального анализа данных и моделей (Analysis Services)

Предоставление разрешений для объектов источника данных (службы Analysis Services)

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

Предоставление разрешений для куба или модели (службы Analysis Services)

Предоставление настраиваемого доступа к данным ячеек (службы Analysis Services)