Меню

Безопасность на уровне столбцов в SAP HANA

Технологии обработки больших данных предлагают организациям широкие возможности по консолидации данных из различных источников, которые могут стать ценной информацией для эффективного развития бизнеса. Широкие возможностями влекут за собой и сложные задачи по обеспечению информационной безопасности. Технологии баз данных предоставляют множество решений для реализации информационной безопасности. Для обеспечения безопасности на уровне строк в SAP HANA применяются аналитические полномочия, гарантирующие, что информация будет доступна только пользователям, которые имеют право на работу с ней. Однако в SAP HANA отсутствует готовая встроенная функциональность для реализации безопасности на уровне столбцов. В этой статье рассматривается процесс обеспечения безопасности на уровне столбцов в SAP HANA.

Ключевое понятие

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

По мере того, как интернет вещей (IoT) всё больше проникает в различные сферы жизни, мы получаем всё больше данных из самых разных источников, причём этот прирост становится стремительным. Организации пытаются извлекать максимальную выгоду, которая содержится в этих данных. При этом остро встает вопрос о защите информации от несанкционированного доступа. Пользователи, не имеющие необходимых полномочий, ни в коем случае не должны иметь доступ к собранным данным.

Как правило, в любой системе бизнес-информации и аналитики (BI) данные извлекаются из различных источников в центральный репозитарий, который называется хранилищем данных. Бизнес-пользователи получают доступ к этим данным посредством отчетов BI, надстроенных над хранилищем. На рис. 1 показана высокоуровневая архитектура стандартной системы BI.

Рис. 1. Высокоуровневая архитектура стандартной системы бизнес-информации и аналитики

При обработке отчетности BI применяется два типа безопасности:

  • Безопасность на уровне строк — фильтрация строк данных из результата запроса в зависимости от полномочий пользователей.
  • Безопасность на уровне столбцов — скрытие или маскирование полей или столбцов из результата запроса в зависимости от полномочий пользователей.

Реализовать безопасность информации при работе с большими данными можно разными способами. В SAP HANA хранимая информация отображается в виде информационных моделей, которые иначе называются ракурсами расчета. Для реализации безопасности на уровне строк в SAP HANA применяются аналитические полномочия на ракурсы расчета. Аналитические полномочия определяют, какие данные может просматривать пользователь или группа пользователей. Эта функция реализует безопасность на уровне строк, строки данных, на просмотр которых у пользователя нет прав, автоматически отфильтровываются. Однако в SAP HANA отсутствует стандартная функциональность для реализации безопасности на уровне столбцов. Описанный в следующем разделе подход позволяет маскировать информацию в столбце из ракурса расчета в зависимости от полномочий пользователей, таким образом, реализуется безопасность на уровне столбцов.

Примечание.

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

Шаги для реализации безопасности на уровне столбцов

Далее приводятся шаги для реализации безопасности на уровне столбцов в SAP HANA. В рассматриваемом примере в таблице в SAP HANA хранится информация сбыта. Доступ бизнес-пользователей к определенным столбцам в таблице данных сбыта осуществляется с помощью настройки безопасности на уровне столбцов.

В следующем примере данные сбыта с полями, показанными на рис. 2, хранятся в SAP HANA в таблице SALES_DATA схемы ADMINISTRATOR (рис. 2).

Рис. 2. Данные из таблицы SALES_DATA

Бизнес-пользователь USER_1 может обращаться только к столбцу Sales_revenue и не должен иметь доступ к столбцу Quantity_sold, а бизнес-пользователь USER_2 может работать со столбцом Quantity_sold, но не со столбцом Sales_revenue. Для реализации этого сценария, используются объекты SAP HANA Studio: ракурсы расчета, хранимые процедуры и аналитические полномочия. SAP HANA Studio инструментальная среда для моделирования в SAP HANA

Подробные данные среды:

  • SAP HANA с пакетом поддержки 12.
  • SAP HANA Studio 2.2.

1. Запустите SAP HANA Studio, дважды щелкнув по нему в меню «Пуск» Windows для SAP HANA, см. Рис. 3.

Рис. 3. Запуск SAP HANA Studio

2. Появится экран клиентского инструмента SAP HANA Studio со списком всех добавленных систем SAP HANA, см. Рис. 4.

Рис. 4. SAP HANA Studio со списком систем SAP HANA

Примечание.

В SAP HANA Studio используются различные форматы, которые называются перспективами. В рассматриваемом примере используется перспектива разработки в SAP HANA. Для выбора перспективы разработки SAP HANA в SAP HANA Studio Выберите «Window ▶ Perspective ▶ Other» (Windows ▶ Перспектива ▶ Прочее).

3. Выберите систему, для которой требуется реализовать безопасность на уровне столбцов. Щелкните по ней правой кнопкой мыши и выберите «Log On» (Войти), см. Рис. 5.

Рис. 5. Вход в систему SAP HANA

4. Выберите ту же систему и нажмите кнопку «SQL» в верхней части экрана. Откроется консоль SQL для данной системы, см. Рис. 6. Консоль SQL показана на рис. 7.

Рис. 6. Вызов консоли SQL

5. На консоли SQL введите скрипт SQL, чтобы создать таблицу для хранения информации пользовательского доступа, см. Рис. 7. Для выполнения скрипта выберите пиктограмму, выделенную на рис. 7.

Рис. 7. Создание таблицы для хранения информации о доступе пользователей

6. В результате этого действия создается таблица SALES_USER_SECURITY в схеме ADMINISTRATOR с данными, показанными на рис. 8.

Рис. 8. Данные из таблицы SALES_USER_SECURITY

7. В SAP HANA весь контент для моделирования (ракурсы расчета, хранимые процедуры и аналитические полномочия ) хранится в пакетах. Пакеты служат контейнерами для всех объектов моделирования в SAP HANA. Эти пакеты создаются в папке «Contents» (Контент) в системе SAP HANA. Разверните папку «Contents» (Контент), щелкните по ней правой кнопкой мыши и выберите опцию «New ▶ Package» (Создать ▶ Пакет), см. Рис. 9. Появится экран, представленный на рис. 10.

Рис. 9. Создание нового пакета

8. Введите имя пакета и нажмите кнопку «OK» (рис. 10) для завершения процесса создания нового пакета.

Рис. 10. Экран подробных данных нового пакета

9. Новый пакет отображается в папке «Content» (Контент) в системе SAP HANA, как показано на рис. 11.

Рис. 11. Новый пакет в папке «Content» (Контент)

10. После создания пакета необходимо создать ракурс расчета для представления данных из созданной ранее таблицы пользовательского доступа (т. е. SALES_USER_ACCESS). Для создания ракурса расчета в новом пакете щелкните по пакету правой кнопкой мыши и выберите опцию «New ▶ Calculation View» (Создать ▶ Ракурс расчета), см. Рис. 12. Появится экран, показанный на рис. 13.

Рис. 12. Создание ракурса расчета в пакете

Рис. 13. Ввод подробных данных ракурса расчета 

11. Введите имя ракурса расчета. Выберите категорию данных ракурса DIMENSION и нажмите кнопку «Finish» (Готово), см. Рис. 13. Откроется экран, представленный на рис. 14.

Рис. 14. Добавление объектов к узлу «Projection» (Проекция) ракурса расчета

Примечание.

Поскольку в таблице SALES_USER_ACCESS поле показателя или измерения отсутствует, для ракурса расчета необходимо указать тип DIMENSION. Это означает, что в нем не будут использоваться показатели.

12. Нажмите кнопку «Finish» (Готово), см. Рис. 13. Откроется экран, показанный на рис. 14, с узлами проекции и семантики в ракурсе расчета. Для добавления таблицы к ракурсу расчета щелкните правой кнопкой мыши по узлу проекции и выберите опцию «Add Objects» (Добавить объекты). Откроется экран, представленный на рис. 15.

Рис. 15. Поиск таблицы для добавления к узлу «Projection» (Проекция)

13. На экране, показанном на рис. 15, введите имя таблицы, которая будет добавлена к узлу проекции, в поле «Type the object name to search for» (Введите имя объекта для поиска). Все соответствующие результаты будут автоматически показаны в области ниже. Выберите требуемую таблицу и нажмите кнопку «OK». Откроется экран, представленный на рис. 16.

Оформите подписку sappro и получите полный доступ к материалам SAPPRO

У вас уже есть подписка?

Войти