Amazon QuickSight це повністю керована хмарна служба бізнес-аналітики (BI), яка дозволяє легко підключатися до ваших даних, створювати інтерактивні інформаційні панелі та ділитися ними з десятками тисяч користувачів у самому QuickSight або вбудованому в програмне забезпечення як сервісні програми (SaaS).
QuickSight Enterprise Edition нещодавно додав безпеку на рівні рядків (RLS) за допомогою тегів, нову функцію, яка дозволяє розробникам надавати спільний доступ до однієї інформаційної панелі десяткам тисяч користувачів, гарантуючи, що кожен користувач може бачити та мати доступ лише до певних даних. Це означає, що коли незалежний постачальник програмного забезпечення (ISV) додає інформаційну панель, вбудовану в QuickSight, у свою програму, йому не потрібно ініціалізувати своїх кінцевих користувачів у QuickSight, і вони можуть просто налаштувати теги для фільтрації даних на основі інформаційної панелі обслуговується. Наприклад, якщо незалежний постачальник програмного забезпечення захоче налаштувати інформаційну панель, яка буде використовуватися для 20,000 100 користувачів із 20,000 клієнтами програми, причому всі користувачі клієнта матимуть доступ до ідентичних даних, ця нова функція дозволить вам надати спільний доступ до однієї інформаційної панелі для усіх користувачів, без необхідності налаштовувати або керувати XNUMX XNUMX користувачами в QuickSight.
RLS із застосуванням тегів гарантує, що кожен кінцевий користувач бачить лише релевантні йому дані, тоді як QuickSight автоматично масштабується відповідно до одночасності користувачів, щоб кожен кінцевий користувач бачив незмінно високу продуктивність. У цій публікації ми розглянемо, як це можна реалізувати.
Огляд рішення
Щоб вставити інформаційні панелі без ініціалізації користувачів, ми використовуємо API Згенерувати EmbedURL для анонімного користувача, який працює з QuickSight ціна пропускної здатності сесії. За допомогою цього API сервер вбудовування (логіка в додатку SaaS) визначає та керує ідентифікатором користувача, якому відображається інформаційна панель (на відміну від того, як цей ідентифікатор надається та керується в QuickSight).
На наступній діаграмі показано приклад робочого циклу вбудованих інформаційних панелей, які захищають дані залежно від того, хто отримує доступ до програми за допомогою RLS із тегами.
У цьому випадку незалежний постачальник програмного забезпечення має програму SaaS, до якої мають доступ два кінцеві користувачі. Один — менеджер, інший — супервайзер. Обидва користувачі мають доступ до однієї програми та тієї самої інформаційної панелі QuickSight, вбудованої в програму, і вони не підготовлені до QuickSight. Коли керівник сайту отримує доступ до інформаційної панелі, він бачить лише дані, що стосуються свого сайту, а коли менеджер отримує доступ до інформаційної панелі, він бачить дані, що стосуються всіх сайтів, якими він керує.
Щоб досягти такої поведінки, ми використовуємо нову функцію, яка дозволяє налаштовувати захист на рівні рядка за допомогою тегів. Цей метод захисту даних на вбудованих інформаційних панелях працює лише тоді, коли інформаційні панелі вбудовано без ініціалізації користувача (також називається анонімне вбудовування). Процес складається з двох кроків:
- Налаштуйте ключі тегів у стовпцях наборів даних, які використовуються для створення інформаційної панелі.
- Встановіть значення для ключів тегів під час виконання під час анонімного вбудовування інформаційної панелі.
Налаштуйте ключі тегів для стовпців у наборах даних, які використовуються для створення інформаційної панелі
Незалежні постачальники програмного забезпечення або розробники можуть установлювати стовпці в наборах даних за допомогою CreateDataset
or UpdateDataset
API:
У попередньому прикладі коду row-level-permission-tag-configuration
це елемент, який можна використовувати для визначення ключів тегів у стовпцях набору даних. Для кожного тегу можна визначити наступні додаткові елементи:
- TagMultiValueDelimiter – Цей параметр, якщо встановлено для стовпця, дає змогу передавати тегу більше одного значення під час виконання, і значення розмежовуються рядком, встановленим для цього параметра. У цьому прикладі кома встановлена як роздільник.
- MatchAllValue – Цей параметр, якщо встановлено для стовпця, дає змогу передавати всі значення стовпця під час виконання, і значення представлені рядком, встановленим для цього параметра. У цьому прикладі зірочка встановлена як відповідність усім рядкам.
Після визначення наших тегів ми можемо ввімкнути або вимкнути ці правила за допомогою Status
елемент API. У цьому випадку встановлено значення ENABLED
. Щоб вимкнути правила, значенням є DISABLED
. Після ввімкнення тегів ми можемо передавати значення в теги під час виконання, щоб захистити відображувані дані залежно від того, хто має доступ до інформаційної панелі.
Кожен набір даних може містити до 50 ключів тегів.
Ми отримуємо наступну відповідь для CreateDataset
or UpdateDataset
API:
Надайте авторам доступ до даних, захищених ключами тегів під час авторського аналізу
Після встановлення та ввімкнення ключів тегів для набору даних його захищають. Автори, які використовують цей набір даних для створення інформаційної панелі, не бачать жодних даних. Їм потрібно надати дозвіл на перегляд будь-яких даних у наборі даних під час створення інформаційної панелі. Щоб надати авторам QuickSight дозвіл переглядати дані в наборі даних, створіть файл дозволів або набір даних правил. Для отримання додаткової інформації див Створення правил набору даних для безпеки на рівні рядків. Нижче наведено приклад набору даних правил.
UserName | назва_стовпця_1 | назва_стовпця_2 | назва_стовпця_3 |
адміністратор/автор зразка |
У цьому зразку набору даних ми маємо ім’я користувача автора, указане в стовпці UserName. Інші три стовпці – це стовпці з набору даних, для яких ми встановлюємо ключі тегів. Значення залишено порожніми для цих стовпців для автора, доданого до цієї таблиці. Це дає змогу автору переглядати всі дані в цих стовпцях без будь-яких обмежень під час авторського аналізу.
Установіть значення для ключів тегів під час виконання під час вбудовування інформаційної панелі
Після встановлення ключів тегів для стовпців наборів даних розробники встановлюють значення для ключів під час виконання під час вбудовування інформаційної панелі. Розробники називають API GenerateDashboardEmbedURLForAnonymousUser
щоб вбудувати інформаційну панель і передати значення ключам тегів в елементі SessionTags
, як показано в наступному прикладі коду:
Оскільки ця функція захищає дані для користувачів, які не надані в QuickSight, виклик API призначений для AnonymousUser
і тому ця функція працює лише з API GenerateDashboardEmbedURLForAnonymousUser
.
Попередній приклад коду містить такі компоненти:
- для
tag_name_1
, ви встановлюєте два значення (value1
таvalue2
) за допомогоюTagMultiValueDelimiter
визначається під час встановлення ключів тегів (у цьому випадку кома). - для
tag_name_2
, ви встановлюєте одне значення як зірочку. Це дозволяє цьому ключу тегу мати всі значення для цього стовпця, оскільки ми визначили зірочку якMatchAllValue
при встановленні ключа тегу для стовпця раніше. - для
tag_name_3
, ви встановлюєте одне значення (value3
).
Визначення відповіді API
Відповідь API має EmbedURL
, Status
та RequestID
. Ви можете вставити цю URL-адресу у свою HTML-сторінку. Дані на цій інформаційній панелі захищено на основі значень, переданих до ключів тегів під час виклику API вбудовування GenerateDashboardEmbedURLForAnonymousUser
:
- EmbedUrl (рядок) – Одноразова URL-адреса, яку можна розмістити на серверній веб-сторінці, щоб вставити інформаційну панель. Цей URL дійсний протягом 5 хвилин. Операція API надає URL-адресу з
auth_code
значення, яке дозволяє один (і тільки один) вхід до сеансу користувача, дійсний до 10 годин. Ця URL-адреса відображає інформаційну панель із застосуванням правил RLS на основі значень, установлених для ключів тегів RLS. - Статус (ціле число) – HTTP-статус запиту.
- RequestId (рядок) – Ідентифікатор запиту AWS для цієї операції.
Дрібнодисперсний контроль доступу
Ви можете досягти точного контролю доступу за допомогою динамічного Управління ідентифікацією та доступом AWS (IAM) формування політики. Для отримання додаткової інформації див Ізоляція орендарів SaaS за допомогою динамічно створених політик IAM. При використанні GenerateEmbedUrlForAnonymousUser
API для вбудовування, у політиці IAM потрібно вказати два типи ресурсів: ARN простору імен, до якого фактично належать ваші анонімні користувачі, та ARN інформаційної панелі, які можна використовувати в AuthorizedResourceArns
значення вхідного параметра. Сеанси, згенеровані за допомогою цього API, можуть отримувати доступ до авторизованих ресурсів і ресурсів (інформаційних панелей), спільних із простором імен.
Оскільки анонімні користувачі є частиною простору імен, їм доступні будь-які інформаційні панелі, спільні з простором імен, незалежно від того, чи передаються вони явно через AuthorizedResourceArns
параметр.
Щоб дозволити ідентифікатору абонента генерувати URL-адресу для будь-якого користувача та будь-якої інформаційної панелі, Resource
блок політики можна встановити на *
. Щоб дозволити ідентифікатору абонента генерувати URL-адресу для будь-якого анонімного користувача в певному просторі імен (наприклад, Tenant1
) Resource
частина політики може бути встановлена на arn:aws:quicksight:us-east-1:<YOUR_AWS_ACCOUNT_ID>:namespace/Tenant1
. Те саме стосується ідентифікатора інформаційної панелі. Для створення динамічної політики ви також можете використовувати заповнювачі для простору імен і користувачів.
Наступний код є прикладом політики IAM:
Використовуйте футляр
OkTank є незалежним постачальником програмного забезпечення в галузі охорони здоров’я. У них є програма SaaS, яка використовується різними лікарнями в різних регіонах країни для управління своїми доходами. OkTank має тисячі працівників охорони здоров’я, які мають доступ до їхнього додатка, і мають вбудовані операції, пов’язані з їхнім бізнесом, на інформаційній панелі QuickSight у своїй програмі. OkTank не хоче окремо керувати своїми користувачами в QuickSight і хоче захистити дані залежно від того, який користувач із якої лікарні отримує доступ до їх програми. OkTank захищає дані на інформаційних панелях під час виконання за допомогою безпеки на рівні рядків за допомогою тегів.
OkTank має лікарні (Північна лікарня, Південна лікарня та Центральна лікарня) у центральному, східному, південному та західному регіонах.
У цьому прикладі наступні користувачі отримують доступ до програми OkTank і вбудованої інформаційної панелі. Кожен користувач має певний рівень правил обмеження, які визначають, до яких даних він може отримати доступ на інформаційних панелях. PowerUser
є суперкористувачем, який може бачити дані по всіх лікарнях і регіонах.
Користувач програми OkTank | лікарня | область |
NorthUser | Північна лікарня | Центральний і Східний |
NorthAdmin | Північна лікарня | Усі регіони |
SouthUser | Південна лікарня | Південь |
SouthAdmin | Південна лікарня | Усі регіони |
PowerUser | Всі лікарні | Усі регіони |
Жодного з цих користувачів не було підготовлено до QuickSight. OkTank керує цими користувачами у власному додатку і тому знає, до якого регіону та лікарні належить кожен користувач. Коли будь-який із цих користувачів отримує доступ до вбудованої інформаційної панелі QuickSight у програмі, OkTank має захистити дані на інформаційній панелі, щоб користувачі могли бачити дані лише для свого регіону та лікарні.
По-перше, OkTank створив ключі тегів для набору даних, який вони використовують для роботи інформаційної панелі. У своїх UpdateDataset
виклик API, RowLevelPermissionTagConfiguration
елемент у наборі даних виглядає наступним чином:
По-друге, під час виконання під час вбудовування інформаційної панелі через GenerateDashboardEmbedURLForAnonymousUser
API, вони встановили SessionTags
для кожного користувача.
SessionTags
та цінності NorthUser
в GenerateDashboardEmbedURLForAnonymousUser
Виклик API виглядає наступним чином:
SessionTags
та цінності NorthAdmin
полягають в наступному:
SessionTags
та цінності SouthUser
полягають в наступному:
SessionTags
та цінності SouthAdmin
полягають в наступному:
SessionTags
та цінності PowerUser
полягають в наступному:
Наступний знімок екрана показує, що SouthUser
бачить, що відноситься до Південної лікарні в Південному регіоні.
Наступний знімок екрана показує, що SouthAdmin
див., що відносяться до Південної лікарні в усіх регіонах.
Наступний знімок екрана показує, що PowerUser
див., що стосуються всіх лікарень у всіх регіонах.
На основі тегів сесії OkTank захистив дані на вбудованих інформаційних панелях таким чином, що кожен користувач бачить лише певні дані на основі свого доступу. Ти можеш доступ до інформаційної панелі як один із користувачів (змінивши користувача в спадному меню вгорі праворуч) і подивіться, як змінюються дані залежно від вибраного користувача.
Загалом, завдяки безпеці на рівні рядків із використанням тегів, OkTank може забезпечити переконливу аналітику в рамках свого додатка SaaS, гарантуючи, що кожен користувач бачить лише відповідні дані без необхідності надання та керування користувачами в QuickSight. QuickSight надає високомасштабований, безпечний варіант аналітики, який можна налаштувати та розгорнути в робочій версії за кілька днів, а не за тижні чи місяці раніше.
Висновок
Поєднання вбудованої інформаційної панелі для користувачів, які не надані в QuickSight, і безпеки на рівні рядків за допомогою тегів дозволяє розробникам і незалежним постачальникам програмного забезпечення швидко й легко налаштовувати складну, налаштовану аналітику для користувачів своїх додатків — і все це без будь-якого налаштування або керування інфраструктурою, але масштабується до мільйонів користувачів. . Для отримання додаткових оновлень від Вбудована аналітика QuickSightСм. Що нового в посібнику користувача Amazon QuickSight.
Про авторів
Раджі Сівасубраманіам є спеціалізованим архітектором рішень в AWS, який спеціалізується на аналітиці. Раджі має 20-річний досвід розробки комплексних рішень для управління корпоративними даними, бізнес-аналітики та аналітики для компаній зі списку Fortune 500 і Fortune 100 по всьому світу. Вона має глибокий досвід роботи з інтегрованими даними та аналітикою охорони здоров’я з широким спектром наборів даних у сфері охорони здоров’я, включаючи керований ринок, орієнтацію на лікаря та аналітику пацієнтів. У вільний час Раджі захоплюється походами, йогою та садівництвом.
Шрікант Бахеті є спеціалізованим всесвітнім старшим архітектором рішень для Amazon QuickSight. Він розпочав свою кар'єру як консультант і працював у багатьох приватних та державних організаціях. Пізніше він працював у PerkinElmer Health and Sciences & eResearch Technology Inc, де відповідав за проектування та розробку веб-додатків із високим трафіком, високомасштабованих і підтримуваних конвеєрів даних для платформ звітності, що використовують сервіси AWS та безсерверні обчислення.
Карім Сайєд-Мохаммед є менеджером з продуктів Amazon QuickSight. Він зосереджується на вбудованій аналітиці, API та досвіді розробників. До QuickSight він працював в AWS Marketplace і Amazon в якості PM. Карім розпочав свою кар'єру як розробник, а потім PM з технологій колл-центру, місцевого експерта та реклами для Expedia. Недовгий час він працював консультантом у McKinsey and Company.
- '
- "
- &
- 000
- 100
- 11
- доступ
- рахунки
- дію
- оголошення
- ВСІ
- Amazon
- аналітика
- API
- Інтерфейси
- додаток
- додаток
- застосування
- додатка
- authors
- AWS
- будувати
- бізнес
- бізнес-аналітика
- call
- потужність
- кар'єра
- код
- Колонка
- Компанії
- компанія
- обчислення
- консультант
- Клієнти
- приладова панель
- дані
- управління даними
- Розробник
- розробників
- Downtown
- співробітників
- підприємство
- досвід
- ШВИДКО
- особливість
- Уряд
- здоров'я
- охорона здоров'я
- тут
- Високий
- піший туризм
- лікарня
- лікарні
- Як
- HTTPS
- IAM
- Особистість
- У тому числі
- інформація
- Інфраструктура
- Інтелект
- інтерактивний
- IT
- ключ
- ключі
- рівень
- місцевий
- Робить
- управління
- ринок
- ринку
- матч
- місяців
- Нова функція
- На північ
- операції
- варіант
- Інше
- продуктивність
- лікар
- Платформи
- політика
- влада
- приватний
- Product
- Production
- ресурс
- ресурси
- відповідь
- роздрібна торгівля
- revenue
- Котити
- Правила
- SaaS
- Масштабування
- НАУКИ
- безпеку
- бачить
- обраний
- Без сервера
- Послуги
- комплект
- установка
- Поділитись
- загальні
- Короткий
- сайти
- So
- Софтвер
- Рішення
- Південь
- Простір
- почалася
- Заява
- Статус
- Технології
- Технологія
- час
- топ
- трафік
- Updates
- користувачі
- значення
- Web
- веб-додатки
- West
- ВООЗ
- в
- робочий
- працює
- світ
- років
- йога