Amazon QuickSight to w pełni zarządzana, działająca w chmurze usługa analizy biznesowej (BI), która ułatwia łączenie się z danymi, tworzenie interaktywnych pulpitów nawigacyjnych i udostępnianie ich dziesiątkom tysięcy użytkowników w ramach samego programu QuickSight lub osadzonego w oprogramowaniu jako aplikacje usługowe (SaaS).
Do programu QuickSight Enterprise Edition dodano niedawno zabezpieczenia na poziomie wiersza (RLS) przy użyciu tagów — nową funkcję, która umożliwia programistom udostępnianie jednego pulpitu nawigacyjnego dziesiątkom tysięcy użytkowników, zapewniając jednocześnie, że każdy użytkownik może widzieć tylko określone dane i mieć do nich dostęp. Oznacza to, że gdy niezależny dostawca oprogramowania (ISV) doda do swojej aplikacji pulpit nawigacyjny osadzony w QuickSight, nie będzie musiał udostępniać użytkownikom końcowym oprogramowania QuickSight i może po prostu skonfigurować tagi w celu filtrowania danych na podstawie tego, kim jest ten pulpit nawigacyjny. serwowane. Na przykład, jeśli niezależny dostawca oprogramowania chce skonfigurować pulpit nawigacyjny, który będzie udostępniany 20,000 100 użytkownikom 20,000 klientów aplikacji, przy czym wszyscy użytkownicy klienta będą mieli dostęp do identycznych danych, ta nowa funkcja umożliwia udostępnienie jednego pulpitu nawigacyjnego dla wszystkich użytkowników bez konieczności konfigurowania XNUMX XNUMX użytkowników lub zarządzania nimi w programie QuickSight.
System RLS wymuszony przy użyciu tagów gwarantuje, że każdy użytkownik końcowy widzi tylko dane, które są dla niego istotne, natomiast QuickSight automatycznie skaluje się w celu spełnienia współbieżności użytkowników, aby zapewnić każdemu użytkownikowi końcowemu niezmiennie wysoką wydajność. W tym poście przyjrzymy się, jak można to wdrożyć.
Omówienie rozwiązania
Aby osadzić dashboardy bez udostępniania użytkowników, używamy interfejsu API GenerujEmbedURLForAnonymousUser, który współpracuje z QuickSightem wycena pojemności sesji. Dzięki temu interfejsowi API serwer osadzający (logika w aplikacji SaaS) określa tożsamość użytkownika, któremu wyświetlany jest pulpit nawigacyjny, i zarządza nią (w przeciwieństwie do tej tożsamości, która jest udostępniana i zarządzana w ramach programu QuickSight).
Poniższy diagram przedstawia przykładowy przebieg pracy osadzonych dashboardów, który zabezpiecza dane na podstawie tego, kto uzyskuje dostęp do aplikacji przy użyciu RLS ze znacznikami.
W tym przypadku niezależny dostawca oprogramowania ma aplikację SaaS, do której dostęp ma dwóch użytkowników końcowych. Jeden jest menadżerem, drugi nadzorcą budowy. Obaj użytkownicy uzyskują dostęp do tej samej aplikacji i tego samego pulpitu nawigacyjnego QuickSight osadzonego w aplikacji i nie są obsługiwani w programie QuickSight. Gdy nadzorca witryny uzyskuje dostęp do panelu, widzi tylko dane dotyczące jego witryny, a gdy menedżer uzyskuje dostęp do pulpitu, widzi dane dotyczące wszystkich witryn, którymi zarządza.
Aby osiągnąć takie zachowanie, używamy nowej funkcji, która umożliwia konfigurację zabezpieczeń na poziomie wiersza za pomocą tagów. Ta metoda zabezpieczania danych na osadzonych pulpitach nawigacyjnych działa tylko wtedy, gdy pulpity nawigacyjne są osadzone bez obsługi administracyjnej użytkowników (tzw anonimowe osadzanie). Proces obejmuje dwa etapy:
- Skonfiguruj klucze tagów w kolumnach zestawów danych używanych do tworzenia pulpitu nawigacyjnego.
- Ustaw wartości kluczy tagów w czasie wykonywania podczas anonimowego osadzania dashboardu.
Skonfiguruj klucze tagów w kolumnach w zestawach danych używanych do tworzenia pulpitu nawigacyjnego
Niezależni dostawcy oprogramowania lub programiści mogą ustawiać kolumny w zbiorach danych za pomocą narzędzia CreateDataset
or UpdateDataset
API w następujący sposób:
W poprzednim przykładowym kodzie row-level-permission-tag-configuration
to element, którego można użyć do zdefiniowania kluczy znaczników w kolumnach zbioru danych. Dla każdego tagu możesz zdefiniować następujące opcjonalne elementy:
- TagMultiValueDelimiter – Ta opcja, jeśli jest ustawiona w kolumnie, umożliwia przekazanie do znacznika więcej niż jednej wartości w czasie wykonywania, a wartości są rozdzielane przez ciąg znaków ustawiony dla tej opcji. W tym przykładzie przecinek jest ustawiony jako ciąg rozdzielający.
- DopasujWszystkieWartości – Ta opcja, jeśli jest ustawiona dla kolumny, umożliwia przekazywanie wszystkich wartości kolumny w czasie wykonywania, a wartości są reprezentowane przez ciąg znaków ustawiony dla tej opcji. W tym przykładzie gwiazdka jest ustawiona jako ciąg pasujący do wszystkich.
Po zdefiniowaniu naszych tagów możemy włączyć lub wyłączyć te reguły za pomocą Status
element API. W tym przypadku wartość jest ustawiona na ENABLED
. Aby wyłączyć reguły, wartość wynosi DISABLED
. Po włączeniu tagów możemy przekazywać wartości do tagów w czasie wykonywania, aby zabezpieczyć wyświetlane dane na podstawie tego, kto uzyskuje dostęp do pulpitu nawigacyjnego.
Każdy zestaw danych może mieć maksymalnie 50 kluczy znaczników.
Otrzymujemy następującą odpowiedź dot CreateDataset
or UpdateDataset
OGIEŃ:
Umożliwiaj autorom dostęp do danych chronionych kluczami znaczników podczas tworzenia analiz
Po ustawieniu i włączeniu kluczy tagów w zestawie danych jest on zabezpieczany. Autorzy korzystający z tego zestawu danych do tworzenia pulpitu nawigacyjnego nie widzą żadnych danych. Podczas tworzenia pulpitu nawigacyjnego muszą mieć uprawnienia do wyświetlania dowolnych danych w zestawie danych. Aby dać autorom programu QuickSight uprawnienia do przeglądania danych w zestawie danych, utwórz plik uprawnień lub zestaw danych reguł. Aby uzyskać więcej informacji, zobacz Tworzenie reguł zestawu danych dla zabezpieczeń na poziomie wiersza. Poniżej znajduje się przykładowy zestaw danych reguł.
UserName | nazwa_kolumny_1 | nazwa_kolumny_2 | nazwa_kolumny_3 |
administrator/autor próbki |
W tym przykładowym zestawie danych nazwa użytkownika autora jest wymieniona w kolumnie UserName. Pozostałe trzy kolumny to kolumny ze zbioru danych, w którym ustawiamy klucze tagów. Wartości dla tych kolumn pozostają puste dla autora dodanego do tej tabeli. Umożliwia to autorowi przeglądanie wszystkich danych w tych kolumnach bez żadnych ograniczeń podczas tworzenia analiz.
Ustaw wartości kluczy tagów w czasie wykonywania podczas osadzania dashboardu
Po ustawieniu kluczy tagów dla kolumn zestawów danych programiści ustawiają wartości kluczy w czasie wykonywania podczas osadzania dashboardu. Programiści wywołują API GenerateDashboardEmbedURLForAnonymousUser
aby osadzić dashboard i przekazać wartości do kluczy tagów w elemencie SessionTags
, jak pokazano w poniższym przykładowym kodzie:
Ponieważ ta funkcja zabezpiecza dane użytkowników, którzy nie są obsługiwani w QuickSight, wywołanie interfejsu API jest przeznaczone AnonymousUser
only i dlatego ta funkcja działa tylko z interfejsem API GenerateDashboardEmbedURLForAnonymousUser
.
Powyższy przykładowy kod zawiera następujące komponenty:
- W razie zamówieenia projektu
tag_name_1
, ustawiasz dwie wartości (value1
ivalue2
) używającTagMultiValueDelimiter
zdefiniowane podczas ustawiania kluczy znaczników (w tym przypadku przecinek). - W razie zamówieenia projektu
tag_name_2
, ustawiasz jedną wartość jako gwiazdkę. Umożliwia to temu kluczowi znacznika przypisanie wszystkich wartości dla tej kolumny, ponieważ zdefiniowaliśmy gwiazdkę jakoMatchAllValue
podczas wcześniejszego ustawiania klucza znacznika w kolumnie. - W razie zamówieenia projektu
tag_name_3
, ustawiasz jedną wartość (value3
).
Definicja odpowiedzi API
Odpowiedź interfejsu API ma EmbedURL
, Status
, RequestID
. Możesz osadzić ten adres URL na swojej stronie HTML. Dane w tym panelu są zabezpieczone na podstawie wartości przekazywanych do kluczy tagów podczas wywoływania interfejsu API osadzania GenerateDashboardEmbedURLForAnonymousUser
:
- EmbedUrl (ciąg) – Jednorazowy adres URL, który możesz umieścić na stronie internetowej po stronie serwera, aby osadzić pulpit nawigacyjny. Ten adres URL jest ważny przez 5 minut. Operacja API udostępnia adresowi URL plik
auth_code
wartość, która umożliwia jedno (i tylko jedno) zalogowanie się do sesji użytkownika, która jest ważna przez maksymalnie 10 godzin. Ten adres URL renderuje pulpit nawigacyjny z zastosowanymi regułami RLS na podstawie wartości ustawionych dla kluczy tagów RLS. - Stan (liczba całkowita) – Status HTTP żądania.
- Identyfikator żądania (ciąg) – Identyfikator żądania AWS dla tej operacji.
Szczegółowa kontrola dostępu
Możesz uzyskać precyzyjną kontrolę dostępu, używając dynamiki AWS Zarządzanie tożsamością i dostępem (IAM) generowanie polityki. Aby uzyskać więcej informacji, zobacz Izolowanie najemców SaaS za pomocą dynamicznie generowanych zasad IAM. Podczas korzystania z GenerateEmbedUrlForAnonymousUser
API do osadzania, w polityce IAM musisz wspomnieć o dwóch typach zasobów: przestrzeni nazw ARN, do której wirtualnie należą Twoi anonimowi użytkownicy, oraz ARN panelu kontrolnego, którego można używać w AuthorizedResourceArns
wartość parametru wejściowego. Sesje wygenerowane przy użyciu tego API mogą uzyskiwać dostęp do autoryzowanych zasobów i tych (pulpitów nawigacyjnych) współdzielonych z przestrzenią nazw.
Ponieważ użytkownicy anonimowi są częścią przestrzeni nazw, dostępne są dla nich wszystkie pulpity nawigacyjne współdzielone z tą przestrzenią nazw, niezależnie od tego, czy są one przekazywane jawnie za pośrednictwem AuthorizedResourceArns
parametr.
Aby umożliwić tożsamości dzwoniącego wygenerowanie adresu URL dla dowolnego użytkownika i dowolnego pulpitu nawigacyjnego, plik Resource
blok polityki można ustawić na *
. Aby umożliwić tożsamości dzwoniącego wygenerowanie adresu URL dla dowolnego anonimowego użytkownika w określonej przestrzeni nazw (np Tenant1
), Resource
część zasad można ustawić na arn:aws:quicksight:us-east-1:<YOUR_AWS_ACCOUNT_ID>:namespace/Tenant1
. To samo dotyczy identyfikatora panelu kontrolnego. Do dynamicznego generowania zasad można także używać symboli zastępczych dla przestrzeni nazw i użytkowników.
Poniższy kod jest przykładową polityką uprawnień:
Przypadek użycia
OkTank jest niezależnym dostawcą oprogramowania w obszarze opieki zdrowotnej. Mają aplikację SaaS, z której korzystają różne szpitale w różnych regionach kraju do zarządzania swoimi przychodami. OkTank ma tysiące pracowników służby zdrowia uzyskujących dostęp do ich aplikacji i ma wbudowane operacje związane z ich działalnością w panelu kontrolnym QuickSight w swojej aplikacji. OkTank nie chce oddzielnie zarządzać swoimi użytkownikami w QuickSight i chce zabezpieczyć dane na podstawie tego, który użytkownik i szpital uzyskuje dostęp do swojej aplikacji. OkTank zabezpiecza dane na pulpitach nawigacyjnych w czasie wykonywania, używając zabezpieczeń na poziomie wiersza za pomocą tagów.
OkTank ma szpitale (Szpital Północny, Szpital Południowy i Szpital Śródmieście) w regionach Centralnym, Wschodnim, Południowym i Zachodnim.
W tym przykładzie następujący użytkownicy uzyskują dostęp do aplikacji OkTank i wbudowanego pulpitu nawigacyjnego. Każdy użytkownik ma określony poziom reguł ograniczeń, które definiują, do jakich danych może uzyskać dostęp w dashboardach. PowerUser
to superużytkownik, który może przeglądać dane dotyczące wszystkich szpitali i regionów.
Użytkownik aplikacji OkTank | Szpital | Region |
Użytkownik Północy | Szpital Północny | Centralny i Wschodni |
Administrator Północy | Szpital Północny | Wszystkie regiony |
Użytkownik Południa | Szpital Południowy | Południe |
Administrator Południa | Szpital Południowy | Wszystkie regiony |
użytkownik energii | Wszystkie szpitale | Wszystkie regiony |
Żaden z tych użytkowników nie został zainicjowany w QuickSight. OkTank zarządza tymi użytkownikami we własnej aplikacji i dzięki temu wie, do jakiego regionu i szpitala należy każdy użytkownik. Gdy którykolwiek z tych użytkowników uzyskuje dostęp do wbudowanego w aplikację pulpitu nawigacyjnego QuickSight, OkTank musi zabezpieczyć dane na pulpicie nawigacyjnym, tak aby użytkownicy mogli zobaczyć tylko dane dotyczące swojego regionu i szpitala.
Najpierw OkTank utworzył klucze tagów w zbiorze danych, którego używa do zasilania pulpitu nawigacyjnego. W ich UpdateDataset
wywołanie API, tzw RowLevelPermissionTagConfiguration
element zbioru danych wygląda następująco:
Po drugie, w czasie wykonywania podczas osadzania pulpitu nawigacyjnego za pośrednictwem pliku GenerateDashboardEmbedURLForAnonymousUser
API, ustawili SessionTags
dla każdego użytkownika.
SessionTags
dla NorthUser
GenerateDashboardEmbedURLForAnonymousUser
Wywołania API są następujące:
SessionTags
dla NorthAdmin
są następujące:
SessionTags
dla SouthUser
są następujące:
SessionTags
dla SouthAdmin
są następujące:
SessionTags
dla PowerUser
są następujące:
Poniższy zrzut ekranu pokazuje, co SouthUser
widzi odnoszące się do Szpitala Południowego w regionie Południowym.
Poniższy zrzut ekranu pokazuje, co SouthAdmin
widzi odnoszące się do Szpitala Południowego we wszystkich regionach.
Poniższy zrzut ekranu pokazuje, co PowerUser
dotyczy wszystkich szpitali we wszystkich regionach.
W oparciu o tagi sesji OkTank zabezpieczył dane na wbudowanych pulpitach nawigacyjnych w taki sposób, że każdy użytkownik widzi tylko określone dane w oparciu o swój dostęp. Możesz uzyskać dostęp do pulpitu nawigacyjnego jako jeden z użytkowników (zmieniając użytkownika w menu rozwijanym w prawym górnym rogu) i zobacz, jak zmieniają się dane w zależności od wybranego użytkownika.
Ogólnie rzecz biorąc, dzięki zabezpieczeniom na poziomie wierszy za pomocą tagów, OkTank jest w stanie zapewnić atrakcyjne funkcje analityczne w swojej aplikacji SaaS, jednocześnie upewniając się, że każdy użytkownik widzi tylko odpowiednie dane bez konieczności udostępniania użytkowników i zarządzania nimi w QuickSight. QuickSight zapewnia wysoce skalowalną i bezpieczną opcję analityczną, którą można skonfigurować i wdrożyć w środowisku produkcyjnym w ciągu kilku dni, a nie tygodni lub miesięcy wcześniej.
Wnioski
Połączenie osadzanego pulpitu nawigacyjnego dla użytkowników, którzy nie są obsługiwani w programie QuickSight, oraz zabezpieczeń na poziomie wiersza przy użyciu tagów umożliwia programistom i niezależnym dostawcom oprogramowania szybkie i łatwe konfigurowanie zaawansowanych, dostosowanych do potrzeb użytkowników aplikacji analiz — a wszystko to bez konieczności konfigurowania infrastruktury lub zarządzania nią, przy jednoczesnym skalowaniu do milionów użytkowników . Aby uzyskać więcej aktualizacji z Wbudowana analiza QuickSight, Patrz Co nowego w podręczniku użytkownika Amazon QuickSight.
O autorach
Raji Sivasubramaniam jest specjalistą architektem rozwiązań w AWS, specjalizującym się w analityce. Raji ma 20-letnie doświadczenie w projektowaniu kompleksowych rozwiązań do zarządzania danymi przedsiębiorstwa, analizy biznesowej i analityki dla firm z list Fortune 500 i Fortune 100 na całym świecie. Ma dogłębne doświadczenie w zakresie zintegrowanych danych i analiz dotyczących opieki zdrowotnej z szeroką gamą zbiorów danych dotyczących opieki zdrowotnej, w tym rynku zarządzanego, targetowania lekarzy i analityki pacjentów. W wolnym czasie Raji lubi wędrówki, jogę i ogrodnictwo.
Srikanth Baheti jest specjalistą World Wide Sr. Solution Architect dla Amazon QuickSight. Karierę rozpoczynał jako konsultant i pracował dla wielu organizacji prywatnych i rządowych. Później pracował dla PerkinElmer Health and Sciences & eResearch Technology Inc, gdzie był odpowiedzialny za projektowanie i rozwój aplikacji internetowych o dużym natężeniu ruchu, wysoce skalowalnych i konserwowalnych potoków danych dla platform raportowania korzystających z usług AWS i przetwarzania bezserwerowego.
Kareema Syeda-Mohammeda jest menedżerem produktu w Amazon QuickSight. Koncentruje się na wbudowanej analityce, interfejsach API i doświadczeniu programisty. Przed QuickSight pracował w AWS Marketplace i Amazon Retail jako PM. Kareem rozpoczął swoją karierę jako programista, a następnie kierownik ds. technologii call center, Local Expert i Ads for Expedia. Przez krótki czas pracował jako konsultant w McKinsey and Company.
- '
- "
- &
- 000
- 100
- 11
- dostęp
- Konto
- Działania
- Reklamy
- Wszystkie kategorie
- Amazonka
- analityka
- api
- Pszczoła
- Aplikacja
- Zastosowanie
- aplikacje
- mobilne i webowe
- Autorzy
- AWS
- budować
- biznes
- business intelligence
- wezwanie
- Pojemność
- Kariera
- kod
- Kolumna
- Firmy
- sukcesy firma
- computing
- konsultant
- Klientów
- tablica rozdzielcza
- dane
- zarządzanie danymi
- Deweloper
- deweloperzy
- Śródmieście
- pracowników
- Enterprise
- doświadczenie
- FAST
- Cecha
- Rząd
- Zdrowie
- opieki zdrowotnej
- tutaj
- Wysoki
- turystyka
- Szpital
- szpitale
- W jaki sposób
- HTTPS
- IAM
- tożsamość
- Włącznie z
- Informacja
- Infrastruktura
- Inteligencja
- interaktywne
- IT
- Klawisz
- Klawisze
- poziom
- miejscowy
- Dokonywanie
- i konserwacjami
- rynek
- rynek
- Mecz
- miesięcy
- Nowa cecha
- Północ
- operacje
- Option
- Inne
- jest gwarancją najlepszej jakości, które mogą dostarczyć Ci Twoje monitory,
- lekarz
- Platformy
- polityka
- power
- prywatny
- Produkt
- Produkcja
- Zasób
- Zasoby
- odpowiedź
- detaliczny
- dochód
- Rolka
- reguły
- SaaS
- skalowaniem
- NAUKI
- bezpieczeństwo
- widzi
- wybrany
- Bezserwerowe
- Usługi
- zestaw
- ustawienie
- Share
- shared
- Short
- Witryny
- So
- Tworzenie
- Rozwiązania
- Południe
- Typ przestrzeni
- rozpoczęty
- Zestawienie sprzedaży
- Rynek
- Technologies
- Technologia
- czas
- Top
- ruch drogowy
- Nowości
- Użytkownicy
- wartość
- sieć
- Aplikacje internetowe
- Zachód
- KIM
- w ciągu
- workflow
- działa
- świat
- lat
- Joga