Аналітичні привілеї в SAP HANA: Як створити?

⚡ Розумний підсумок

Аналітичні привілеї в SAP HANA додає авторизацію на рівні рядків поверх привілеїв об'єкта, щоб два користувачі, які запитують одне й те саме представлення інформації, бачили лише ті записи, які дозволяють їхні призначені обмеження. SAP Студія HANA.

  • 🔘 Мета: Привілей об'єкта відкриває все представлення, тоді як аналітичний привілей фільтрує рядки, які повертає представлення.
  • ☑️ Сфера застосування: Представлення атрибутів, аналітичні представлення та представлення обчислень можуть бути захищені аналітичним привілеєм.
  • Обмеження: Значення всередині одного атрибута поєднуються за допомогою оператора АБО, а обмеження для різних атрибутів поєднуються за допомогою оператора І.
  • 🧪 приклад: Привілей на перегляд розрахунку CA_FI_LEDGER обмежує користувача ABHI_TEST компанією 1000.
  • 🛠️ Призначення: Обмеження застосовується лише після перевірки, активації, призначення користувачеві або ролі та розгортання.
  • 📈 напрямок: Привілеї на основі XML застаріли, тому нові обмеження записуються як аналітичні привілеї SQL.

Аналітичні привілеї, що обмежують доступ до даних на рівні рядків у SAP ХАНА

Що таке аналітичні привілеї SAP HANA?

Аналітичні привілеї обмежують користувача даними, які він має право переглядати, тому вони є основною частиною SAP Безпека HANA.

Привілеї SQL надають авторизацію на рівні об'єкта, а не на рівні запису. Користувач, який утримує SELECT на представленні, може читати кожен рядок у ньому. Там, де потрібне обмеження на рівні рядків, використовується аналітичний привілей.

Аналітичні привілеї надають дозвіл на такі перегляди інформації.

Аналітичний привілей створюється нижче та призначається користувачеві «ABHI_TEST», щоб користувач міг бачити дані лише для компанії зі значенням 1000. Обидва привілеї потрібні разом: привілей об'єкта відкриває представлення, а аналітичний привілей визначає, які рядки повертаються.

Як створити аналітичний привілей у SAP ХАНА

Шість кроків, наведених нижче, виконуються SAP Студія HANA, від створення привілею до його тестування з другим користувачем.

Крок 1) Перейдіть до розділу «Аналітичні привілеї». Клацніть правою кнопкою миші пакет «Моделювання», а потім виберіть «Створити» –> «Аналітичні привілеї», як показано нижче.

Новий параметр «Аналітичні привілеї» в контекстному меню пакета моделювання

Крок 2) З’явиться спливаюче вікно «Нове». Введіть дані аналітичних привілеїв, наведені нижче.

  1. Введіть назву та мітку аналітичного права.
  2. Назва пакета вибирається автоматично.
  3. Опція вибору створює новий привілей.

Нове діалогове вікно аналітичних привілеїв із полями імені, мітки та пакета

На наступному кроці відображається редактор аналітичних привілеїв для додавання та редагування привілеїв.

Крок 3) Натисніть кнопку «OK». Відкриється редактор аналітичних привілеїв, і першою буде вибрано еталонну модель.

  1. У розділі «Загальні» відображається назва та мітка.
  2. Натисніть кнопку «Додати» в розділі «Довідкові моделі», як показано нижче.
  3. Виберіть створений раніше вигляд розрахунку (CA_FI_LEDGER).

Кнопка «Додати» в розділі «Довідкові моделі» редактора аналітичних привілеїв

Потім термін дії та обмеження атрибута визначаються в тому ж редакторі.

  1. Натисніть кнопку «Додати», щоб створити термін дії привілею.
  2. Призначте термін дії привілею.
  3. Натисніть кнопку «Додати», щоб вибрати атрибут, на який поширюється обмеження.
  4. Виберіть атрибут «Компанія».
  5. Натисніть кнопку «Додати», щоб призначити значення цьому атрибуту.
  6. Призначте значення, вибравши тип або оператор і значення. Тут користувач обмежений лише даними перегляду розрахунків для компанії 1000, як показано нижче.

Редактор аналітичних привілеїв з еталонною моделлю, валідністю та обмеженнями компанії

Перевірте та активуйте аналітичні привілеї. Потім вони створюються в папці «Аналітичні привілеї» в пакеті «Моделювання», як показано нижче.

Активовані аналітичні привілеї, зазначені в папці «Аналітичні привілеї»

Крок 4) Призначте аналітичні привілеї користувачеві «ABHI_TEST», який вже має привілеї на пакет моделювання. Double- натисніть на користувача «ABHI_TEST» у розділі Безпека -> Користувачі.

  1. Виберіть вкладку «Аналітичні привілеї».
  2. Натисніть кнопку «+».
  3. Відобразиться спливаюче вікно для вибору аналітичних привілеїв. Введіть назву аналітичного привілею, створеного раніше.
  4. Виберіть аналітичний привілей.
  5. Натисніть кнопку «ОК», як показано нижче.

Виберіть спливаюче вікно «Аналітичні привілеї» на екрані обслуговування користувачів

Аналітичний привілей додається користувачеві, як показано нижче.

Вкладка «Аналітичні привілеї» користувача ABHI_TEST після додавання привілеїв

Крок 5) Розгорніть зміни для користувача, натиснувши кнопку розгортання. Відобразиться повідомлення про те, що користувача «ABHI_TEST» було змінено, як показано нижче.

Повідомлення про підтвердження розгортання, в якому зазначено, що користувача ABHI_TEST було змінено

Крок 6) Перевірте аналітичні привілеї. Увійдіть як «ABHI_TEST» із системи HANAUSER, щоб підтвердити, що завдання виконано.

  1. Виберіть поточну систему HDB (HANAUSER) і клацніть на ній правою кнопкою миші.
  2. Виберіть «Додати систему з іншим користувачем», потім введіть ім’я користувача та пароль для «ABHI_TEST», як показано нижче.
  3. Системну HDB (ABHI_TEST) додано до списку систем.

Додати опцію «Система з іншим користувачем», яка використовується для входу як ABHI_TEST

Користувач ABHI_TEST не має повного доступу до даних розрахункового представлення, створеного HANAUSER, оскільки HANAUSER створив аналітичне право, що обмежує це представлення компанією 1000, та призначив його ABHI_TEST.

Перейдіть до папки «Вміст» -> виберіть пакет -> перегляд розрахунків (CA_FI_LEDGER) -> клацніть правою кнопкою миші -> Попередній перегляд даних. Екран попереднього перегляду даних відображається, як показано нижче.

Попередній перегляд даних у режимі розрахунку обмежений компанією 1000

Дані у вигляді розрахунку обмежені балансовою одиницею 1000, що підтверджує, що аналітичні привілеї активні для цього користувача.

Порівняння класичних аналітичних привілеїв XML та SQL

Існує два види аналітичних привілеїв, і вибір має значення для будь-якої нової розробки. Редактор, показаний вище, створює класичний привілей на основі XML. Аналітичні привілеї SQL були введені в SAP HANA 1.0 SPS 10 та виражають те саме обмеження, що й умова фільтра SQL.

Аспект Класичний (на основі XML) Аналітичні привілеї SQL
Визначення Зберігається графічно в моделюванні як об'єкт часу проектування XML. Визначається умовою SQL-фільтра, тому складна логіка залишається читабельною.
Conditions Обмеження атрибутів за допомогою простих операторів. Повні SQL-вирази, включаючи вкладені та комбіновані умови.
Статус Застаріло з SAP HANA 2.0 SPS 02. Рекомендовано для кожної нової привілеї.
доступність Недоступно в SAP Хмара HANA. Підтримується в SAP HANA 2.0 та SAP Хмара HANA.

Команда SAP Моделювання HANA пропонує функцію міграції, яка перетворює класичні привілеї на основі XML на привілеї на основі SQL, тому існуючі обмеження не потрібно переписувати вручну. SAP У HANA Cloud привілей стає артефактом часу розробки всередині HDI-контейнера та досягає користувача через роль, а не через редактор користувача.

Як оцінюються обмеження аналітичних привілеїв

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

  • Кілька значень, перелічених для одного атрибута, об'єднані логічною OR, тому користувач може бачити компанію 1000 або компанію 2000.
  • Обмеження на різні атрибути поєднуються з логічною І, тому назва компанії та країна мають збігатися.
  • Коли користувач має кілька аналітичних привілеїв для одного представлення, результати додаються, що розширює, а не звужує доступ.
  • Статичне обмеження зберігає фіксовані значення, тоді як динамічне обмеження зчитує дозволені значення під час виконання з процедури, тому один привілей може обслуговувати багатьох користувачів.

Представлення перевіряється лише тоді, коли його властивість Apply Privileges вказує тип привілеїв, і перевірка виконується на додаток до привілеїв об'єкта SELECT. Представлення стовпців, згенеровані активацією, знаходяться в схемі _SYS_BIC, а ефективні обмеження користувача можна прочитати з системного представлення EFFECTIVE_STRUCTURED_PRIVILEGES.

Поширені помилки аналітичних привілеїв та їх виправлення

Більшість проблем з авторизацією в інформаційному поданні виникають через одну з наведених нижче ситуацій.

  • Помилка «Не авторизовано» у представленні даних. Користувач має аналітичні права, але не має права SELECT для згенерованого представлення стовпців або для базової схеми. Надайте обидва.
  • У попередньому перегляді не відображається жодних рядків. Атрибут `restricted` не містить відповідного значення, або термін дії привілею вже закінчився.
  • Обмеження ігнорується. Привілей було створено, але так і не активовано, або для подання не встановлено властивість «Застосувати привілеї».
  • Зміна не має жодного ефекту. Призначення не було розгорнуто, або сеанс користувача розпочався до розгортання та потребує повторного підключення.
  • Все і так видно. Користувач має _SYS_BI_CP_ALL, що надає необмежений доступ до кожного представлення інформації, і повинен залишатися поза виробничими ролями.

Надавайте аналітичні привілеї через ролі, а не безпосередньо користувачам, щоб одне й те саме обмеження можна було переглянути, перенести та скасувати в одному місці. Контекст моделювання для захищених представлень розглядається в SAP Моделювання HANA та SAP ХАНА гіди

Поширені запитання

SAP HANA використовує системні привілеї для завдань адміністрування, привілеї об'єктів для таблиць та представлень, привілеї пакетів для вмісту репозиторію, привілеї програм для програм XS та аналітичні привілеї для доступу на рівні рядків усередині представлень інформації.

Так. Розділ «Довідкові моделі» приймає кілька інформаційних подань, і до кожного з них застосовується те саме обмеження атрибутів, за умови, що обмежений атрибут існує в кожному переліченому поданні.

_SYS_BI_CP_ALL – це згенерований аналітичний привілей, який надає необмежений доступ до кожного представлення інформації. Він зручний для моделювання в пісочниці, але порушує безпеку на рівні рядків і не підходить для виробничих ролей.

Машинне навчання на основі журналів доступу профілює нормальну поведінку запитів і позначає облікові записи, які раптово зчитують незвичайні компанії чи регіони. Такі інструменти ранжують ризиковані гранти для перевірки, але адміністратор безпеки все одно вирішує, які привілеї змінити.

GitHub Copilot створює умови фільтрації та супутній SQL-код з короткого коментаря, що скорочує час роботи над складними обмеженнями. Кожну згенеровану умову необхідно перевірити на реальних даних, оскільки неправильний оператор непомітно розширює доступ.

SAP HANA Cloud підтримує лише аналітичні привілеї SQL. Привілей є артефактом часу розробки всередині контейнера HDI, він надається через роль, а класичний редактор XML від SAP Студія HANA більше не доступна.

Ні. Обмеження оцінюється для інформаційних представлень, у яких встановлено властивість «Застосувати привілеї». Запит до базової таблиці контролюється лише привілеями об’єкта, тому конфіденційні таблиці слід відкривати через представлення.

Роль об'єднує привілеї та є рекомендованим контейнером для транспортування та перевірки. Аналітичний привілей є одним з об'єктів у цьому пакеті, і його надання безпосередньо користувачеві ускладнює аудит того ж обмеження пізніше.

Підсумуйте цей пост за допомогою: