Содержание


Проверенные методики IBM Business Analytics

Практические примеры защиты динамических кубов в Cognos BI

Продукт: IBM Cognos Cube Designer; область интересов: отчеты

Comments

Серия контента:

Этот контент является частью # из серии # статей: Проверенные методики IBM Business Analytics

Следите за выходом новых статей этой серии.

Этот контент является частью серии:Проверенные методики IBM Business Analytics

Следите за выходом новых статей этой серии.

Назначение

Статья дополняет главу 7. Dimensional security руководства IBM Cognos Dynamic Cube Redbook и предлагает некоторые примеры, демонстрирующие влияние различных сочетаний фильтров защиты измерений на просмотр данных пользователями и создаваемые агрегаты.

Применимость

Документ применим к IBM Cognos BI 10.2.1.

Допущения

Предполагается, что читатель понимает базовые концепции моделирования динамических кубов и ознакомился с руководством IBM Cognos Dynamic Cube Redbook.

В статье используется пример great_outdoors_dynamiccube как базовая модель, которая будет модифицирована для включения описываемых фильтров и представлений защиты. Предполагается, что уже развернуты и сконфигурированы примеры IBM Cognos BI, а также соответствующие источники данных.

Обзор

Представления защиты измерений динамических кубов могут оказывать различное влияние на возможность просмотра данных и агрегатов пользователями, в зависимости от того, как они сконфигурированы. В документе рассматриваются 6 различных сценариев защиты, применяемой к способу заказа Email и продуктам Firefly 4 и Firefly 2. Для каждого измерения создаются различные реализации двух фильтров защиты.

Создание фильтров защиты

Фильтр защиты определяет, будет ли пользователю предоставляться доступ к одному или нескольким элементам в иерархии. Откройте модель great_outdoors_dynamiccube в Dynamic Cube Designer и убедитесь в наличии соединения с соответствующим источником данных. Мы будем использовать наборы элементов из источника данных для создания фильтров защиты, и потребуется доступ к источнику данных.

  1. Разверните объект Model (Модель), затем измерение Order method (Способ заказа). Вы увидите папку Levels (Уровни) и иерархию Order method.
    Project Explorer с развернутыми объектом Model и измерением Order method
    Figure 1 - Project Explorer view with Model and Order method dimension expanded
    Figure 1 - Project Explorer view with Model and Order method dimension expanded
  2. Щелкните правой кнопкой мыши по иерархии Order method и выберите Open Editor... (Открыть редактор…) или дважды щелкните по иерархии Order method. Откроется окно свойств. Перейдите на вкладку Security (Защита).
    Панель свойств иерархии Order method
    Figure 2 - Order method hierarchy property pane
    Figure 2 - Order method hierarchy property pane
  3. Щелкните по кнопке Add Role based Security Filter (Добавить фильтр защиты на базе ролей), чтобы создать новый фильтр защиты для иерархии Order method.
    Свойства иерархии Order method с выбранным объектом New Role Security Filter
    Figure 3 Order method hierarchy property with New Role Security Filter object selected
    Figure 3 Order method hierarchy property with New Role Security Filter object selected
  4. Щелкните правой кнопкой мыши по объекту New Role Security Filter и выберите Rename (Переименовать). Измените имя объекта на order method.
  5. Затем в раскрывающемся списке Scope (Область) выберите Grant Members, Descendants and Ancestors (Доступ к элементам, потомкам и предкам).
  6. И затем в диалоговом окне определения выберите Edit (Изменить), разверните иерархию Order method, затем папку Members. Разверните корневой элемент All (Все), перетащите объект E-mail в диалоговое окно выражения и нажмите OK. Созданный фильтр защиты показан на рисунке 4.
    Определение фильтра защиты order method
    Figure 4 - Security filter definition for order method
    Figure 4 - Security filter definition for order method
  7. Повторите действия 1–6 для измерения и иерархии Product (Продукт). Фильтр защиты должен иметь имя product и следующее определение:
    set(Firefly 4;Firefly 2)

    На рисунке 5 показано, как должен выглядеть созданный фильтр product.
    Определение фильтра защиты product
    Figure 5 - Completed security filter definition for product
    Figure 5 - Completed security filter definition for product

Создание представлений защиты

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

Определение представлений защиты
Имя представления защитыОписание представления защиты
Admin ViewАдминистраторы могут видеть все элементы из всех иерархий
Order MethodПользователь может видеть все элементы из всех иерархий, кроме иерархии Order method, к которой применяется фильтр защиты order method
ProductsПользователь может видеть все элементы из всех иерархий, кроме иерархии Products, к которой применяется фильтр защиты product
Email and Firefly onlyПользователь может видеть только иерархии Order method и Products, к которым применяются соответствующие фильтры защиты
Email and Firefly combinedПользователь может видеть все элементы из всех иерархий, кроме иерархий Order method (к которой применяется фильтр защиты order method) и Products (к которой применяется фильтр защиты product)
FireflyПользователь может видеть только иерархию Products, к которой применяется фильтр защиты product
EmailПользователь может видеть только иерархию Order method, к которой применяется фильтр защиты order method
  1. Правой кнопкой мыши щелкните по кубу gosldw_sales и выберите Open Editor... или дважды щелкните по кубу gosldw_sales ля вывода окна свойств. Перейдите на вкладку Security.
    Свойства защиты для куба gosldw_sales
    Figure 6 - gosldw_sales cube security properties
    Figure 6 - gosldw_sales cube security properties
  2. Нажмите кнопку Add Security View, чтобы добавить новое представление защиты для куба. Щелкните правой кнопкой мыши по объекту New Security View на панели Security Views и выберите Rename. Введите новое имя Admin View.
    Куб gosldw_sales с представлением защиты Admin View
    Figure 7 - gosldw_sales with the security view named Admin View
    Figure 7 - gosldw_sales with the security view named Admin View
  3. Выберите представление защиты Admin View и нажмите кнопку Add Secured Member (Добавить защищенный элемент) для добавления фильтров защиты в это представление с использованием информации из таблицы 1. Для представления Admin view разверните каждую иерархию и поставьте отметку в каждом поле, соответствующем фильтру защиты All Members Granted (Доступ ко всем элементам), как показано на рисунке 8. Нажмите OK.
    Диалоговое окно добавления фильтров защиты для представления защиты Admin View
    Figure 8 – Add Security Filters dialog box for the Admin View security view
    Figure 8 – Add Security Filters dialog box for the Admin View security view
  4. Вкладка Security должна выглядеть так, как показано на рисунке 9.
    Вкладка Security с определением представления Admin View
    Figure 9 - Security View Tab View with Admin View Definition
    Figure 9 - Security View Tab View with Admin View Definition
  5. Повторите действия 1–3 для создания представления защиты Order Method. На шаге 3 необходимо выбрать фильтр защиты All Members Granted для всех иерархий, кроме иерархии Order Method, для которой следует выбрать фильтр защиты order method. В результате определение представления защиты Order Method должно выглядеть так, как показано на рисунке 10.
    Определение представления защиты Order Method
    Figure 10 - Definition for the Order Method security view
    Figure 10 - Definition for the Order Method security view
  6. Повторите действия 1–3 для создания представления защиты Products. На шаге 3 необходимо выбрать фильтр защиты All Members Granted для всех иерархий, кроме иерархии Products, для которой следует выбрать фильтр защиты product. В результате определение представления защиты должно выглядеть так, как показано на рисунке 11.
    Определение представления защиты Products
    Figure 11 - Definition for the Products security view
    Figure 11 - Definition for the Products security view
  7. Повторите действия 1–3 для создания представления защиты Email and Firefly only. На шаге 3 единственными иерархиями, для которых необходимо добавить защищенные представления, являются Order method и Products. Для этих иерархий фильтры защиты All Members Granted выбирать не нужно, только фильтры защиты order method и product для соответствующих иерархий. В результате определение представления защиты должно выглядеть так, как показано на рисунке 12.
    Определение представления защиты Email and Firefly only
    Figure 12 – The definition for the Email and Firefly only security view
    Figure 12 – The definition for the Email and Firefly only security view
  8. Повторите действия 1–3 для создания представления защиты Email and firefly combined. В этом представлении фильтры защиты All Members Granted используются для всех иерархий, кроме Order method и Products, для которых используются фильтры защиты order method и product security соответственно. В результате определение представления защиты должно выглядеть так, как показано на рисунке 13.
    Определение представления защиты Email and firefly combined
    Figure 13 - Definition of the Email and firefly combined security view
    Figure 13 - Definition of the Email and firefly combined security view
  9. Повторите действия 1–3 для создания представления защиты Firefly. Для этого представления единственной определенной иерархией является Products, для которой используется фильтр защиты product, а фильтр защиты All Members Granted не требуется. В результате определение представления защиты должно выглядеть так, как показано на рисунке 14.
    Определение представления защиты Firefly
    Figure 14 - Definition of the Firefly security view
    Figure 14 - Definition of the Firefly security view
  10. Повторите действия 1–3 для создания представления защиты email. Для этого представления единственной определенной иерархией является Order method, для которой используется фильтр защиты order method, а фильтр защиты All Members Granted не требуется. В результате определение представления защиты должно выглядеть так, как показано на рисунке 15.
    Определение представления защиты email
    Figure 15 – Definition of the email security view
    Figure 15 – Definition of the email security view
  11. Создав все представления защиты, опубликуйте куб gosldw_sales на вашем сервере.

В следующем разделе мы присвоим эти представления защиты пользователям в источнике LDAP-аутентификации и рассмотрим влияние каждого представления защиты на один и тот же отчет.

Создание отчета и присвоение представлений защиты

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

  1. Откройте Analysis Studio с кубом gosldw_sales и в ответ на приглашение выберите Blank Analysis (Пустой анализ), как показано на рисунке 16.
    Динамический куб gosldw_sales в Analysis Studio
    Figure 16 - Analysis Studio opened against gosldw_sales dynamic cube
    Figure 16 - Analysis Studio opened against gosldw_sales dynamic cube
  2. Перетащите иерархию Products на строки, а иерархию Order method на столбцы. Разверните измерение Measures (Показатели) и перетащите элемент Quantity (Количество) в перекрестную таблицу. В результате отчет должен выглядеть так, как показано на рисунке 17. Сохраните отчет как Security View и закройте Analysis Studio.
    Отчет Security View, созданный в Analysis Studio
    Figure 17 - Security View report built in Analysis Studio
    Figure 17 - Security View report built in Analysis Studio

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

Пользователи LDAP и связанные представления защиты
Имя пользователяПредставление защиты
AdminAdmin View
emailonlyEmail
combuserEmail and firefly combined
bothonlyuserEmail and Firefly only
fireflyonlyFirefly
omuserOrder Method
produserProducts
  1. Войдите в IBM Cognos Administration как пользователь с достаточным уровнем привилегий, перейдите на вкладку Configuration (Конфигурация) и выберите раздел Data Source Connection (Соединение с источником данных). Выберите в качестве источника данных куб gosldw_sales, а затем объект model. Вы увидите список представлений защиты, которые ранее были созданы и опубликованы в кубе (см. рисунок 18).
    Куб gosldw_sales в IBM Cognos Administration
    Figure 18 – The IBM Cognos Administration view of the gosldw_sales cube
    Figure 18 – The IBM Cognos Administration view of the gosldw_sales cube
  2. Щелкните по пиктограмме Set Properties (Свойства) для представления защиты Admin View и убедитесь в том, что поставлена отметка в поле Override the access permissions acquired from the parent entry (Переопределять разрешения доступа, полученные от родительской записи). Добавьте пользователя Admin Person и установите разрешения Read (Чтение), Execute (Выполнение) и Traverse (Просмотр). Затем поставьте отметку в поле рядом с группой Directory Administrators и выберите Remove, чтобы удалить ее из списка пользователей или групп, которые могут получать доступ к представлению защиты Admin View (см. рисунок 19).
    Разрешения для представления защиты Admin View
    Figure 19 – User permissions for the Admin View security view
    Figure 19 – User permissions for the Admin View security view
  3. Повторите шаг 4 для других пользователей в соответствии с таблицей 2.

Вывод отчета с применением различных представлений защиты

Создав представления защиты и связав их с набором пользователей, рассмотрим влияние, оказываемое каждым представлением защиты на данные, которые будет видеть пользователь. Далее вы увидите каждый отчет с объяснением того, почему представление защиты ограничило данные именно таким образом.

Вывод отчета для пользователя Admin

Первый отчет (см. рисунок 20) был выполнен пользователем Admin, для которого используется представление Admin View. Представление Admin View позволяет пользователю получать доступ ко всем уровням и элементам каждой иерархии. В результате пользователь Admin может видеть все элементы и агрегаты куба, поэтому отчет выглядит так, как будто никакой защиты не применялось.

Отчет, предоставляемый пользователю Admin
Figure 20 - Report output for Admin user
Figure 20 - Report output for Admin user

Результаты защиты только иерархии Order method

Результат, показанный на рисунке 21, увидит пользователь, которому предоставлен доступ только к представлению защиты email или Order Method. Пользователь может видеть все продукты, поскольку по умолчанию он имеет доступ ко всем объектам измерения, если только к нему не применяется представление защиты. Представление защиты Order Method позволяет пользователю получать доступ ко всем иерархиям, но ограничивает иерархию Order Method элементом E-mail. Представление защиты email позволяет пользователю видеть только элемент E-mail, однако для доступа к кубу ему предоставляется доступ ко всем другим иерархиям, поскольку для них не существует определений защиты.

Обратите внимание, что общий показатель для каждого продукта не совпадает со значением для элемента E-mail, и общие показатели для элемента All и Lanterns не совпадают. Это объясняется тем, что при определении защиты мы выбрали область Grant Members, Descendants and Ancestors. В результате, хотя пользователь ограничен только просмотром элемента E-mail для уровня Order method, ему был предоставлен доступ к уровню All. Вместо того чтобы тратить время на агрегирование всех элементов на дочернем уровне Order method, для запроса значительно быстрее будет возвратить агрегат для уровня All. Кроме того, поскольку пользователь имеет доступ к уровню All, запрос возвращает агрегированное значение для этого уровня, а не общую сумму значений только для элемента, который пользователь может видеть. Например, для фонаря Firefly Lite возвращается общее количество для элемента Firefly Lite для всех способов заказа.

Пример вывода отчета, защищенного представлением email или Order Method
Figure 21 - Sample output for secured report with email or Order Method security views enabled
Figure 21 - Sample output for secured report with email or Order Method security views enabled

Результаты защиты только иерархии Products

Подобно представлениям защиты для Order method, представления защиты, присвоенные пользователям fireflyonly и produsers, возвращает одинаковый результат. Оба представления защиты ограничивают иерархию Products, чтобы были видимы только элементы Firefly 2 и Firefly 4. И снова, хотя пользователь fireflyonly имеет доступ только к представлению защиты Firefly, которое определяет защиту только для иерархии Products, по умолчанию пользователь получает доступ ко всем иерархиям, для которых защита не определена. На рисунке 22 показан результат ограничения иерархии Products.

Подобно предыдущему примеру, хотя пользователь имеет доступ только к элементам Firefly 2 и Firefly 4, он имеет доступ к родительскому элементу Lanterns. В результате вместо суммирования элементов, возвращаемых на уровне Products, проще запросить значение агрегата для элемента Lanterns — для Fax это будет общее количество всех фонарей, заказанных по факсу.

Пример вывода отчета, защищенного представлением Firefly или Products
Figure 22 - Sample output for security report with Firefly or Products security views enabled
Figure 22 - Sample output for security report with Firefly or Products security views enabled

Результаты совместной защиты иерархий Order method и Products

Далее рассматриваются два представления, где защищены только иерархии Order method и Products, и где защищены иерархии Order method и Products с предоставлением доступа ко всем другим иерархиям. В обоих случаях элементы, возвращаемые для Order method и Products, ограничены представлениями защиты. В результате общие показатели для уровней Lanterns и All являются общими показателями для всех элементов Lanterns со способом заказа E-mail и всех других способов для продуктов Firefly 2 и Firefly 4 (см. рисунок 23).

Пример вывода отчета с защищенными иерархиями Order method и Products
Figure 23 - Sample output for security report with Order method and Products hierarchies secured

Комбинированные представления

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

Результат сочетания представлений защиты Order Method и Products
ИерархияПредставление защиты ProductsПредставление защиты Order Method
BranchAll Members GrantedAll Members Granted
Employee by RegionAll Members GrantedAll Members Granted
Order MethodAll Members GrantedE-mail
Product brandAll Members GrantedAll Members Granted
ProductsFirefly 2, Firefly 4All Members Granted
PromotionsAll Members GrantedAll Members Granted
RetailersAll Members GrantedAll Members Granted
TimeAll Members GrantedAll Members Granted
Time (close date)All Members GrantedAll Members Granted
Time (ship date)All Members GrantedAll Members Granted
Sales orderAll Members GrantedAll Members Granted

Результат выполнения этого же отчета (см. рисунок 24) показывает, что пользователь имеет доступ ко всем элементам иерархий Order Method и Products. Сочетание разрешений позволяет пользователю видеть значения показателей для всех элементов Lanterns со способом заказа E-mail, и он может видеть значения показателей для всех способов заказа для фонарей Firefly 2 и Firefly 4. Общие значения, показанные для способа заказа Fax, не отражают элементы, к которым пользователь имеет доступ, и общие значения для уровня All не совпадают со значениями, возвращаемым для способа заказа E-mail. Это снова объясняется тем фактом, что пользователь имеет доступ к предку способов заказа, или уровню All, а также предку элементов Firefly 2 и Firefly 4, или Lanterns, и возвращаются эти агрегированные значения, а не общее значение для элементов, которые видит пользователь.

Вывод отчета для сочетания представлений защиты Order method и Products
Figure 24 - Report output for combining Order method and Products security views
Figure 24 - Report output for combining Order method and Products security views

В разделе 7.8.1 руководства IBM Cognos Dynamic Cubes Redbook описывается поведение, которое вы видели выше, когда элементы видимы, а значения показателей нет. Это связано с тем фактом, что есть элементы из каждого представления защиты, которые не видимы в другом представлении. Результатом вычисления кортежей, которое должно возвращать значения, в итоговом комбинированном представлении защиты является ERR. Дополнительную информацию о комбинированной защите можно найти в руководстве IBM Cognos Dynamic Cubes Redbook.


Ресурсы для скачивания


Похожие темы


Комментарии

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

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=40
Zone=WebSphere
ArticleID=1024385
ArticleTitle=Проверенные методики IBM Business Analytics: Практические примеры защиты динамических кубов в Cognos BI
publish-date=12162015