To jest post gościnny, napisany wspólnie z Jonatanem Selsingiem i Mosesem Arthurem z Novo Nordisk.
To drugi post z trzyczęściowej serii szczegółowo opisującej, jak to zrobić Novo Nordisk, duże przedsiębiorstwo farmaceutyczne, z którym współpracuje Usługi profesjonalne AWS zbudować skalowalną i bezpieczną platformę danych i analiz. The pierwszy post w tej serii opisuje ogólną architekturę oraz sposób, w jaki firma Novo Nordisk zbudowała zdecentralizowaną architekturę siatki danych, w tym Amazonka Atena jako silnik zapytań o dane. Trzeci post pokaże, w jaki sposób użytkownicy końcowi mogą korzystać z danych z wybranego przez siebie narzędzia, bez uszczerbku dla zarządzania danymi. Obejmuje to konfigurację Okty, Formacja AWS Lakeoraz narzędzie analizy biznesowej umożliwiające stowarzyszone korzystanie z usługi Athena w oparciu o protokół SAML na potrzeby działań BI w przedsiębiorstwie.
Budując skalowalną architekturę danych na AWS, zapewnienie autonomii i własności domenom danych ma kluczowe znaczenie dla powodzenia platformy. Zapewniając odpowiednią mieszankę wolności i kontroli osobom posiadającym wiedzę z dziedziny biznesu, Twoja firma może maksymalizować wartość z danych tak szybko i efektywnie, jak to możliwe. Wyzwaniem stojącym przed organizacjami jest jednak zapewnienie właściwej równowagi między wolnością a kontrolą. Jednocześnie dane są strategicznym zasobem, który należy chronić z najwyższą rygorystycznością. W jaki sposób organizacje mogą znaleźć właściwą równowagę między wolnością a kontrolą?
W tym poście dowiesz się, jak zbudować zdecentralizowane zarządzanie za pomocą Lake Formation i AWS Zarządzanie tożsamością i dostępem (IAM) przy użyciu kontroli dostępu opartej na atrybutach (ABAC). Omawiamy niektóre wzorce, których używamy, m.in Amazon Cognito federacja puli tożsamości wykorzystująca ABAC w zasadach uprawnień oraz federacja SAML oparta na Okta z egzekwowaniem ABAC w zakresie zasad zaufania ról.
Omówienie rozwiązania
W pierwszy post w tej serii wyjaśniliśmy, jak Novo Nordisk i AWS Professional Services zbudowały nowoczesną architekturę danych w oparciu o założenia siatki danych. Architektura ta umożliwia zarządzanie danymi w rozproszonych domenach danych, wykorzystując kompleksowe rozwiązanie do tworzenia produktów danych i zapewniając stowarzyszoną kontrolę dostępu do danych. W tym poście omówiono trzy elementy rozwiązania:
- Jak role IAM i Lake Formation są używane do zarządzania dostępem do danych w domenach danych
- Sposób egzekwowania kontroli dostępu do danych na dużą skalę przy użyciu mapowania członkostwa w grupie za pomocą wzorca ABAC
- Jak system utrzymuje stan na różnych warstwach, aby ekosystem zaufania był odpowiednio skonfigurowany
Z perspektywy użytkownika końcowego celem mechanizmów opisanych w tym poście jest umożliwienie uproszczonego dostępu do danych z różnych usług analitycznych przyjętych przez Novo Nordisk, takich jak te świadczone przez dostawców oprogramowania jako usługi (SaaS), takich jak Databricks, lub samodzielne -hostowane, takie jak JupyterHub. Jednocześnie platforma musi gwarantować, że każda zmiana w zbiorze danych zostanie natychmiast odzwierciedlona w interfejsie użytkownika usługi. Poniższy rysunek ilustruje w dużym stopniu oczekiwane zachowanie.
Zgodnie z nomenklaturą warstw ustaloną w pierwszy postusługi są tworzone i zarządzane w warstwie konsumpcji. Konta domenowe są tworzone i zarządzane w warstwie zarządzania danymi. Ponieważ zmiany mogą zachodzić z obu warstw, wymagana jest ciągła komunikacja w obu kierunkach. Informacje o stanie przechowywane są w warstwie wirtualizacji wraz z protokołami komunikacyjnymi. Ponadto w momencie logowania usługi potrzebują informacji o zasobach danych wymaganych do zapewnienia abstrakcji dostępu do danych.
Zarządzanie dostępem do danych
Kontrola dostępu do danych w tej architekturze opiera się na podstawowej zasadzie, zgodnie z którą cały dostęp jest hermetyzowany w izolowanych sesjach ról IAM. Wzór warstw, który opisaliśmy w pierwszy post zapewnia możliwość delegowania tworzenia i zarządzania politykami dotyczącymi ról IAM do różnych ekosystemów zarządzania danymi. Każda zintegrowana platforma zarządzania danymi może korzystać z własnych mechanizmów dostępu do danych, z unikalnym wymogiem, że dostęp do danych jest uzyskiwany za pośrednictwem określonych ról IAM.
Aby zilustrować potencjalne mechanizmy, które mogą zostać wykorzystane przez rozwiązania do zarządzania danymi, pokazujemy dwa przykłady mechanizmów uprawnień dostępu do danych wykorzystywanych przez dwa różne rozwiązania do zarządzania danymi. Obydwa systemy wykorzystują te same zasady zaufania, które opisano w poniższych sekcjach, ale mają zupełnie inną przestrzeń uprawnień.
Przykład 1: Zasady ABAC oparte na tożsamości
Pierwszym omawianym przez nas mechanizmem jest rola ABAC, która zapewnia dostęp do domowego obszaru przechowywania danych, z którego użytkownicy mogą korzystać w ramach swoich działów i szerszej organizacji w strukturze naśladującej strukturę organizacyjną. W tym przypadku nie używamy nazw grup, ale zamiast tego przekazujemy atrybuty użytkowników z korporacyjnej usługi Active Directory bezpośrednio do zasad uprawnień poprzez zastąpienie roszczeń. Robimy to, korzystając z korporacyjnej usługi Active Directory jako dostawcy tożsamości (IdP) dla puli użytkowników Amazon Cognito i mapowanie odpowiednich atrybutów dostawcy tożsamości na atrybuty puli użytkowników. Następnie w puli tożsamości Amazon Cognito my zmapuj atrybuty puli użytkowników na tagi sesji używać ich do kontroli dostępu. Niestandardowe zastąpienia można uwzględnić w mapowaniu roszczeń za pomocą a Wyzwalacz Lambda przed generacją tokena. W ten sposób roszczenia z usługi AD można zmapować na atrybuty puli użytkowników Amazon Cognito, a następnie ostatecznie wykorzystać w puli tożsamości Amazon Cognito w celu kontrolowania uprawnień roli IAM. Poniżej znajduje się przykład zasad IAM ze znacznikami sesji:
Rola ta jest następnie osadzana w warstwie analitycznej (wraz z rolami w domenie danych) i przejmuje ją w imieniu użytkownika. Umożliwia to użytkownikom mieszanie i dopasowywanie domen danych, a także korzystanie z prywatnych i publicznych ścieżek danych, które niekoniecznie są powiązane z jakąkolwiek domeną danych. Więcej przykładów wykorzystania ABAC z polityką uprawnień można znaleźć w artykule Jak skalować potrzeby w zakresie autoryzacji za pomocą kontroli dostępu opartej na atrybutach w S3.
Przykład 2: Kontrola dostępu oparta na nazwie Lake Formation
W rozwiązaniu do zarządzania danymi o nazwie Novo Nordisk Enterprise Datahub (NNEDH), które wprowadziliśmy w pierwszy post, używamy Lake Formation, aby umożliwić ustandaryzowany dostęp do danych. Zbiory danych NNEDH są rejestrowane w katalogu danych formacji jeziora jako bazy danych i tabele, a uprawnienia są przyznawane za pomocą nazwana metoda zasobu. Poniższy zrzut ekranu przedstawia przykład tych uprawnień.
W tym podejściu zarządzanie dostępem do danych jest delegowane do Lake Formation. Każda domena danych w NNEDH ma izolowane uprawnienia syntetyzowane przez NNEDH jako centralną warstwę zarządzania zarządzaniem. Jest to wzorzec podobny do tego, który przyjęto w przypadku innych rozwiązań do zarządzania danymi zorientowanych na dziedzinę. Odnosić się do Użyj architektury sterowanej zdarzeniami, aby zbudować siatkę danych w AWS dla przykładu kontroli dostępu opartej na tagach w Lake Formation.
Wzorce te nie wykluczają implementacji mechanizmów udostępniania danych typu peer-to-peer, takich jak te, które można osiągnąć za pomocą Menedżer dostępu do zasobów AWS (AWS RAM), gdzie pojedyncza sesja roli IAM może mieć uprawnienia obejmujące wszystkie konta.
Delegowanie dostępu roli do zużycia później
Poniższy rysunek ilustruje przepływ pracy związany z dostępem do danych z usługi zewnętrznej.
Kroki przepływu pracy są następujące:
- Użytkownik uwierzytelnia się na dostawcy tożsamości używanym przez narzędzie analityczne, do którego próbuje uzyskać dostęp. Platforma Novo Nordisk obsługuje szeroką gamę narzędzi analitycznych, takich jak Databricks i JupyterHub, a dostawca tożsamości może być typu SAML lub OIDC, w zależności od możliwości narzędzia innej firmy. W tym przykładzie aplikacja Okta SAML służy do logowania się do narzędzia analitycznego strony trzeciej, a Uprawnienia SAML dostawcy tożsamości jest skonfigurowany na koncie AWS domeny danych do federacji z zewnętrznym dostawcą tożsamości. Trzeci post z tej serii opisuje, jak skonfigurować aplikację Okta SAML dla federacji ról IAM w Athenie.
- Potwierdzenie SAML uzyskane podczas procesu logowania służy do żądania tymczasowych poświadczeń bezpieczeństwa roli IAM za pośrednictwem Załóż operację roli. W tym przykładzie użyto asercji SAML on
AssumeRoleWithSAML
operacja. W przypadku dostawców tożsamości zgodnych z OpenID Connect operacjaAssumeRoleWithWebIdentity
należy używać z JWT. Atrybuty SAML w potwierdzeniu lub oświadczenia w tokenie można wygenerować w czasie logowania, aby zapewnić przekazywanie członkostw w grupach zgodnie ze wzorcem zasad ABAC opisanym w poniższych sekcjach. - Narzędzie analityczne, takie jak Databricks lub JupyterHub, wyodrębnia użycie poświadczeń sesji roli IAM w samym narzędziu, a dostęp do danych można uzyskać bezpośrednio zgodnie z uprawnieniami przyjętej roli IAM. Ten wzór ma charakter podobny do Przejście IAM w formie wdrożonej przez Databricks, ale w Novo Nordisk jest ona rozszerzona na wszystkie usługi analityczne. W tym przykładzie narzędzie analityczne uzyskuje dostęp do jeziora danych w witrynie Usługa Amazon Simple Storage (Amazon S3) za pośrednictwem zapytań Athena.
W miarę rozszerzania się wzorca siatki danych na domeny obejmujące więcej usług niższego szczebla, potrzebujemy mechanizmu zapewniającego ciągłą aktualizację zaufania dostawców tożsamości i ról IAM. Wrócimy do tej części w dalszej części posta, ale najpierw wyjaśnimy, w jaki sposób zarządza się dostępem do ról na dużą skalę.
Zasady zaufania oparte na atrybutach
W poprzednich sekcjach podkreślaliśmy, że ta architektura opiera się na rolach IAM w zakresie kontroli dostępu do danych. Każda platforma zarządzania danymi może wdrożyć własną metodę kontroli dostępu do danych przy użyciu ról IAM, takich jak zasady oparte na tożsamości lub kontrola dostępu Lake Formation. W przypadku wykorzystania danych ważne jest, aby te role IAM mogły przyjmować wyłącznie użytkownicy należący do grup Active Directory posiadający odpowiednie uprawnienia do korzystania z tej roli. Aby wdrożyć to na dużą skalę, polityka zaufania roli IAM wykorzystuje ABAC.
Kiedy użytkownik uwierzytelnia się na zewnętrznym dostawcy tożsamości warstwy konsumpcji, dodajemy do tokena dostępu żądanie pochodzące z jego grup Active Directory. Twierdzenie to propaguje m.inAssumeRole
operację do polityki zaufania roli IAM, gdzie jest ona porównywana z oczekiwaną grupą Active Directory. Tę rolę mogą przyjąć tylko użytkownicy należący do oczekiwanych grup. Mechanizm ten ilustruje poniższy rysunek.
Przekładanie przynależności do grupy na atrybuty
Aby wymusić uprawnienia do członkostwa w grupie na poziomie założenia roli, potrzebujemy sposobu na porównanie wymaganego członkostwa w grupie z członkostwem w grupie, z którym użytkownik przychodzi w sesji roli IAM. Aby to osiągnąć, używamy formy ABAC, w której możemy przedstawić sumę przynależności do grup istotnych dla kontekstu w jednym atrybucie. Wartość tagu sesji pojedynczej roli IAM jest ograniczona do znaki 256. Odpowiedni limit dla potwierdzeń SAML wynosi znaki 100,000, więc w przypadku systemów, w których wymagana jest bardzo duża liczba ról lub mapowań typu grupowego, SAML może obsługiwać szerszy zakres konfiguracji.
W naszym przypadku wybraliśmy algorytm kompresji, który pobiera nazwę grupy i kompresuje ją do 4-znakowego skrótu ciągu. Oznacza to, że łącznie ze znakiem separacji grup możemy zmieścić 51 grup w jednym atrybucie. Zostaje to zepchnięte do około 20 grup w przypadku przyjęcia roli typu OIDC ze względu na Rozmiar zapakowanej polityki, ale jest wyższa w przypadku przepływu opartego na SAML. W naszym przypadku okazało się to wystarczające. Istnieje ryzyko, że dwie różne grupy mogą uzyskać skrót do tej samej kombinacji znaków; sprawdziliśmy jednak, czy w istniejących grupach nie ma kolizji. Aby w przyszłości zminimalizować to ryzyko, w wielu miejscach wprowadziliśmy poręcze. Po pierwsze, przed dodaniem uprawnień nowych grup w warstwie wirtualizacji sprawdzamy, czy nie występuje kolizja hashów z jakąkolwiek istniejącą grupą. W przypadku próby dodania zduplikowanej grupy nasz zespół serwisowy zostaje o tym powiadomiony i możemy odpowiednio zareagować. Ale jak wspomniano wcześniej, prawdopodobieństwo kolizji jest niskie, więc elastyczność, jaką to zapewnia, przewyższa koszty ogólne związane z zarządzaniem kolizjami (jeszcze nie mieliśmy takich). Dodatkowo egzekwujemy to również podczas tworzenia asercji SAML, aby mieć pewność, że na liście grup użytkowników nie ma zduplikowanych grup, a w przypadku duplikacji całkowicie je usuwamy. Oznacza to, że złośliwi aktorzy mogą co najwyżej ograniczyć dostęp innych użytkowników, ale nie mogą uzyskać do nich nieautoryzowanego dostępu.
Wymuszanie funkcjonalności audytu w sesjach
Jak wspomniano w pierwszym poście, oprócz zarządzania istnieją rygorystyczne wymagania dotyczące możliwości kontrolowania dostępu do danych. Oznacza to, że w przypadku wszystkich żądań dostępu do danych musi istnieć możliwość śledzenia konkretnego użytkownika w różnych usługach i zachowania tych informacji. Osiągamy to poprzez ustawienie (i egzekwowanie) a tożsamość źródłowa dla wszystkich sesji ról i pamiętaj o propagowaniu tożsamości korporacyjnej do tego atrybutu. Używamy kombinacji Haczyki wbudowane Okta i Tagi sesji SAML osiągnąć to. Oznacza to, że Chmura AWS dzienniki sesji roli IAM zawierają następujące informacje:
Na poziomie roli IAM możemy wymusić wymaganą konfigurację atrybutów za pomocą poniższej przykładowej polityki zaufania. To jest przykład aplikacji opartej na SAML. Obsługujemy te same wzorce za pośrednictwem dostawców tożsamości OpenID Connect.
Omówimy teraz elementy polityki zaufania roli IAM, opierając się na następującym przykładzie:
Polityka zawiera następujące szczegóły:
- Połączenia
Principal
instrukcja powinna wskazywać listę aplikacji obsługiwanych przez warstwę konsumpcji. Mogą to być rejestracje aplikacji Azure, aplikacje Okta lub klienci aplikacji Amazon Cognito. Oznacza to, że do uruchomienia operacji można wykorzystać asercje SAML (w przypadku przepływów opartych na SAML) pochodzące z tych aplikacjiAssumeRoleWithSaml
jeśli pozostałe elementy również są spełnione. - Połączenia
Action
instrukcja zawiera wymagane uprawnienia dla plikuAssumeRole
wezwanie do odniesienia sukcesu, w tym dodanie informacji kontekstowych do sesji roli. - W pierwszym warunku odbiorcy twierdzenia muszą być ukierunkowani na AWS.
- W drugim warunku są dwa
StringLike
wymagania:- Wymóg dot tożsamość źródłowa zgodnie z konwencją nazewnictwa obowiązującą w Novo Nordisk (użytkownicy muszą posiadać tożsamość korporacyjną, zgodnie z naszymi wymogami audytowymi).
- Połączenia
aws:RequestTag/GroupHash
musi byćxxxx
, który reprezentuje zaszyfrowaną nazwę grupy wspomnianą w górnej części.
- Na koniec egzekwujemy, że sesji nie można rozpoczynać bez ustawienia tożsamości źródłowej.
Ta zasada wymusza, aby wszystkie wywołania pochodziły z uznanych usług, uwzględniała możliwość kontroli, miała właściwy cel i wymuszała, aby użytkownik miał odpowiednie członkostwo w grupach.
Tworzenie centralnego przeglądu zarządzania i zaufania
W tej sekcji omawiamy, w jaki sposób Novo Nordisk śledzi odpowiednie relacje między rolami grupowymi i mapuje je w czasie logowania.
Uprawnienia
W Novo Nordisk wszystkie dostępy opierają się na członkostwie w grupach Active Directory. Nie ma dostępu opartego na użytkownikach. Ponieważ ten wzorzec jest tak kluczowy, rozszerzyliśmy tę filozofię dostępu na nasz dostęp do danych. Jak wspomniano wcześniej, w momencie logowania hooki muszą wiedzieć, jakie role przyjąć dla danego użytkownika, biorąc pod uwagę jego przynależność do grupy. Zamodelowaliśmy te dane w Amazon DynamoDB, gdzie udostępnianie na czas zapewnia dostępność tylko wymaganych członkostw w grupach użytkowników. Budując naszą aplikację w oparciu o grupy i umożliwiając propagację grup za pomocą kodu aplikacji, unikamy konieczności dokonywania bardziej ogólnej integracji z Active Directory, która w przypadku firmy wielkości Novo Nordisk miałaby poważny wpływ na aplikację , po prostu ze względu na liczbę użytkowników i grup.
Tabela uprawnień DynamoDB zawiera wszystkie istotne informacje dla wszystkich ról i usług, w tym ARN ról i ARN dostawcy tożsamości. Oznacza to, że gdy użytkownicy logują się do swoich usług analitycznych, hak logowania może skonstruować plik wymagane informacje dla atrybutu SAML Role.
Kiedy do warstwy zarządzania danymi dodawane są nowe domeny danych, warstwa zarządzania danymi musi przekazywać zarówno informacje o roli, jak i nazwę grupy, która zapewnia dostęp do roli.
Centrum jednokrotnego logowania do usług analitycznych
Skalując ten model uprawnień i wzorzec zarządzania danymi do dużego przedsiębiorstwa, takiego jak Novo Nordisk, ostatecznie utworzyliśmy dużą liczbę ról IAM rozdzielonych na różne konta. Następnie wymagane jest rozwiązanie, które zmapuje i zapewni dostęp użytkownikom końcowym do wymaganej roli IAM. Aby uprościć dostęp użytkowników do wielu źródeł danych i narzędzi analitycznych, firma Novo Nordisk opracowała centrum pojedynczego logowania dla usług analitycznych. Z perspektywy użytkownika końcowego jest to interfejs sieciowy, który łączy różne oferty w ujednolicony system, dzięki czemu stanowi kompleksowe narzędzie zaspokajające potrzeby w zakresie danych i analiz. Podczas logowania się do każdej oferty analitycznej uwierzytelnione sesje są przekazywane dalej, dzięki czemu użytkownicy nie muszą już ponownie uwierzytelniać.
Wspólną cechą wszystkich usług obsługiwanych w warstwie konsumpcji jest to, że możemy uruchomić fragment kodu aplikacji w czasie logowania, co pozwala na obliczenie uprawnień związanych z czasem logowania. Haki realizujące tę funkcjonalność można na przykład uruchomić Haczyki wbudowane Okta. Oznacza to, że każda z docelowych usług analitycznych może mieć niestandardowy kod do tłumaczenia odpowiednich informacji kontekstowych lub zapewniać inne typy automatyzacji przekazywania ról.
Przepływ logowania pokazano na poniższym rysunku.
Kroki przepływu pracy są następujące:
- Użytkownik uzyskuje dostęp do usługi analitycznej, takiej jak Databricks, w centrum analitycznym Novo Nordisk.
- Usługa wykorzystuje Okta jako dostawcę tożsamości opartego na SAML.
- Okta wywołuje AWS LambdaHak inline oparty na asercji SAML.
- Hak korzysta z bazy danych uprawnień, konwertując członkostwa w grupach istotnych dla aplikacji na uprawnienia ról.
- Z bazy danych uprawnień zwracane są odpowiednie informacje kontekstowe.
- Hak oparty na Lambdzie dodaje nowe atrybuty SAML do asercji SAML, w tym zaszyfrowane członkostwa w grupach i inne informacje kontekstowe, takie jak tożsamość źródła.
- Do logowania użytkowników do usługi analitycznej używana jest zmodyfikowana asercja SAML.
- Użytkownik może teraz korzystać z narzędzia analitycznego z aktywnymi sesjami roli IAM.
Synchronizowanie zaufania ról
W poprzedniej sekcji przedstawiono przegląd sposobu działania federacji w tym rozwiązaniu. Teraz możemy sprawdzić, jak zapewnić synchronizację wszystkich uczestniczących środowisk i kont AWS z najnowszą konfiguracją.
Z perspektywy użytkownika końcowego mechanizm synchronizacji musi zapewniać każdej utworzonej instancji usługi analitycznej dostęp do domen danych przypisanych do grup, do których należy użytkownik. Ponadto zmiany w domenach danych — takie jak przyznanie dostępu do danych grupie Active Directory — muszą obowiązywać natychmiast w każdej usłudze analitycznej.
Do utrzymywania synchronizacji wszystkich warstw służą dwa mechanizmy oparte na zdarzeniach, jak opisano szczegółowo w tej sekcji.
Synchronizuj kontrolę dostępu do danych w warstwie zarządzania danymi ze zmianami w usługach w warstwie konsumpcji
Jak opisano w poprzedniej sekcji, role IAM używane do dostępu do danych są tworzone i zarządzane przez warstwę zarządzania danymi. Te role IAM mają politykę zaufania zapewniającą federacyjny dostęp do zewnętrznych dostawców tożsamości używanych przez narzędzia analityczne warstwy konsumpcji. Oznacza to, że w przypadku każdej nowej usługi analitycznej utworzonej przy użyciu innego dostawcy tożsamości role IAM używane do dostępu do danych w domenach danych muszą zostać zaktualizowane, aby ufać temu nowemu dostawcy tożsamości.
Używając NNEDH jako przykładu rozwiązania do zarządzania danymi, mechanizm synchronizacji pokazano na poniższym rysunku.
Biorąc za przykład scenariusz, w którym tworzona jest nowa usługa analityczna, kroki w tym przepływie pracy są następujące:
- Użytkownik mający dostęp do konsoli administracyjnej warstwy konsumpcji tworzy instancję nowej usługi analitycznej, takiej jak JupyterHub.
- Praca trwa AWS-Fargate tworzy zasoby potrzebne dla tej nowej usługi analitycznej, takie jak Elastyczna chmura obliczeniowa Amazon (Amazon EC2) dla JupyterHub i wymagany dostawca tożsamości, taki jak nowy dostawca tożsamości SAML.
- Po utworzeniu dostawcy tożsamości w poprzednim kroku zdarzenie zostanie dodane w pliku Usługa prostego powiadomienia Amazon (Amazon SNS) ze szczegółami, takimi jak nazwa i metadane SAML.
- W płaszczyźnie sterowania NNEDH zadanie Lambda jest wyzwalane przez nowe zdarzenia dotyczące tego tematu SNS. To zadanie tworzy w razie potrzeby dostawcę tożsamości IAM i aktualizuje politykę zaufania wymaganych ról IAM na wszystkich kontach AWS używanych jako domeny danych, dodając zaufanie do dostawcy tożsamości używanego przez nową usługę analityczną.
W tej architekturze wszystkie etapy aktualizacji są wyzwalane zdarzeniami i są skalowalne. Oznacza to, że użytkownicy nowych usług analitycznych mogą uzyskać dostęp do swoich zbiorów danych niemal natychmiast po ich utworzeniu. W ten sam sposób po usunięciu usługi federacja z dostawcą tożsamości zostanie automatycznie usunięta, jeśli nie będzie używana przez inne usługi.
Propaguj zmiany w domenach danych do usług analitycznych
Zmiany w domenach danych, takie jak utworzenie nowego segmentu S3 wykorzystywanego jako zbiór danych lub dodanie lub usunięcie dostępu do danych w grupie, muszą zostać natychmiast odzwierciedlone w usługach analitycznych warstwy konsumpcji. W tym celu wykorzystywany jest mechanizm synchronizujący bazę uprawnień z odpowiednimi zmianami dokonanymi w NNEDH. Przepływ ten pokazano na poniższym rysunku.
Biorąc za przykład scenariusz, w którym dostęp do określonego zbioru danych zostaje przyznany nowej grupie, kroki w tym przepływie pracy są następujące:
- Za pomocą konsoli administracyjnej NNEDH właściciel danych zatwierdza żądanie udostępnienia zestawu danych, które przyznaje dostęp do zestawu danych grupie Active Directory.
- Na koncie AWS powiązanej domeny danych komponenty zestawu danych, takie jak wiadro S3 i formacja jeziora, są aktualizowane, aby zapewnić dostęp do danych nowej grupie. The udostępnianie danych między kontami w Lake Formation korzysta z pamięci RAM AWS.
- W temacie SNS dodawane jest wydarzenie zawierające aktualne szczegóły dotyczące tego zbioru danych, takie jak lokalizacja zasobnika S3 i grupy, które aktualnie mają do niego dostęp.
- W warstwie wirtualizacji zaktualizowane informacje z warstwy zarządzania danymi służą do aktualizacji bazy uprawnień w DynamoDB.
Dzięki tym krokom zmiany w domenach danych zostaną automatycznie i natychmiastowo odzwierciedlone w bazie danych uprawnień, która służy do zapewnienia dostępu do danych wszystkim usługom analitycznym warstwy konsumpcji.
Ograniczenia
Wiele z tych wzorców opiera się na narzędziach analitycznych wspierających inteligentne wykorzystanie ról IAM. Jeśli tak nie jest, zespoły ds. platformy same muszą opracować niestandardowe funkcje na poziomie hosta, aby zapewnić prawidłową kontrolę dostępu do ról. Obejmuje to na przykład pisanie niestandardowe uwierzytelniacze dla JupyterHuba.
Wnioski
W tym poście przedstawiono podejście do budowy skalowalnej i bezpiecznej platformy danych i analiz. Prezentuje niektóre mechanizmy stosowane w Novo Nordisk i pokazuje, jak znaleźć właściwą równowagę między wolnością a kontrolą. Architektura opisana w pierwszym poście z tej serii umożliwia niezależność warstw i udostępnia kilka niezwykle przydatnych elementów podstawowych dotyczących dostępu do danych i zarządzania. W dużym stopniu wykorzystujemy atrybuty kontekstowe do modulowania uprawnień ról na poziomie sesji, co zapewnia uprawnienia na czas. Te uprawnienia są propagowane na dużą skalę w różnych domenach danych. Zaletą jest to, że dużą część złożoności związanej z zarządzaniem uprawnieniami dostępu do danych można przekazać odpowiednim grupom biznesowym, umożliwiając jednocześnie użytkownikom końcowym możliwie najmniejsze myślenie o dostępie do danych i skupienie się na dostarczaniu wartości dla firmy przypadków użycia. W przypadku Novo Nordisk mogą zapewnić lepsze wyniki dla pacjentów i przyspieszyć innowacje.
Następny post z tej serii opisuje, w jaki sposób użytkownicy końcowi mogą korzystać z danych z wybranego przez siebie narzędzia analitycznego, zgodnie z kontrolą dostępu do danych opisaną szczegółowo w tym poście.
O autorach
Jonatana Selsinga jest byłym naukowcem z tytułem doktora astrofizyki, który zwrócił się w stronę chmury. Obecnie jest Lead Cloud Engineer w Novo Nordisk, gdzie umożliwia obsługę danych i analiz na dużą skalę. Kładąc nacisk na zmniejszenie całkowitego kosztu posiadania obciążeń opartych na chmurze, przy jednoczesnym pełnym wykorzystaniu zalet chmury, projektuje, buduje i utrzymuje rozwiązania, które umożliwiają badania nad przyszłymi lekami.
Hassena Riahiego jest starszym architektem danych w AWS Professional Services. Posiada doktorat z matematyki i informatyki w zakresie zarządzania danymi na dużą skalę. Współpracuje z klientami AWS przy budowaniu rozwiązań opartych na danych.
Aleksander Fior jest starszym architektem danych w AWS Professional Services. Pasjonuje się projektowaniem i budowaniem nowoczesnych i skalowalnych platform danych, które przyspieszają firmy w wydobywaniu wartości z ich danych.
Mojżesz Artur pochodzi z matematyki i badań obliczeniowych oraz posiada tytuł doktora w dziedzinie inteligencji obliczeniowej ze specjalizacją w eksploracji grafów. Obecnie jest inżynierem produktów chmurowych w Novo Nordisk, budując korporacyjne jeziora danych i platformy analityczne zgodne z GxP dla globalnych fabryk Novo Nordisk produkujących cyfrowe produkty medyczne.
Anwara Rizala jest starszym konsultantem ds. uczenia maszynowego z siedzibą w Paryżu. Współpracuje z klientami AWS nad opracowywaniem rozwiązań w zakresie danych i sztucznej inteligencji, aby zapewnić zrównoważony rozwój ich działalności.
Kumari Ramara jest Senior Engagement Managerem z certyfikatem Agile i PMP w AWS Professional Services. Dostarcza rozwiązania w zakresie danych i AI/ML, które przyspieszają analizę międzysystemową i modele uczenia maszynowego, które umożliwiają przedsiębiorstwom podejmowanie decyzji w oparciu o dane i wprowadzanie nowych innowacji.
- Dystrybucja treści i PR oparta na SEO. Uzyskaj wzmocnienie już dziś.
- PlatoAiStream. Analiza danych Web3. Wiedza wzmocniona. Dostęp tutaj.
- Wybijanie przyszłości w Adryenn Ashley. Dostęp tutaj.
- Źródło: https://aws.amazon.com/blogs/big-data/how-novo-nordisk-built-distributed-data-governance-and-control-at-scale/
- :ma
- :Jest
- :nie
- :Gdzie
- $W GÓRĘ
- 000
- 1
- 100
- 20
- 23
- 66
- a
- Zdolny
- O nas
- abstrakcja
- streszczenia
- przyśpieszyć
- przyśpieszenie
- dostęp
- dostęp
- wykonać
- Stosownie
- odpowiednio
- Konto
- Konta
- Osiągać
- osiągnięty
- w poprzek
- Działania
- aktywny
- Active Directory
- działalność
- aktorzy
- Ad
- Dodaj
- w dodatku
- dodanie
- do tego
- Dodaje
- Admin
- administracja
- przyjęty
- Zalety
- zwinny
- AI
- AI / ML
- algorytm
- wyrównany
- Wszystkie kategorie
- Pozwalać
- wzdłuż
- również
- Amazonka
- Amazon Cognito
- Amazon EC2
- an
- Analityczny
- analityka
- i
- każdy
- Aplikacja
- Zastosowanie
- aplikacje
- podejście
- właściwy
- w przybliżeniu
- mobilne i webowe
- architektura
- SĄ
- POWIERZCHNIA
- na około
- Arthur
- AS
- kapitał
- przydzielony
- powiązany
- przypuszczalny
- założenie
- astrofizyka
- At
- próbę
- atrybuty
- AUD
- publiczność
- Audyt
- uwierzytelniony
- uwierzytelnia
- autoryzacja
- automatycznie
- dostępny
- uniknąć
- AWS
- Usługi profesjonalne AWS
- Lazur
- z powrotem
- tło
- Bilans
- na podstawie
- BE
- bo
- zanim
- należy
- korzyści
- Ulepsz Swój
- pomiędzy
- obie
- budować
- Budowanie
- Buduje
- wybudowany
- biznes
- business intelligence
- ale
- by
- obliczony
- Połączenia
- CAN
- możliwości
- walizka
- Etui
- katalog
- centralny
- Dyplomowani
- wyzwanie
- zmiana
- Zmiany
- charakter
- ZOBACZ
- w kratę
- wybór
- roszczenie
- roszczenia
- klientów
- Chmura
- kod
- COM
- połączenie
- jak
- byliśmy spójni, od początku
- komunikować
- Komunikacja
- Firmy
- sukcesy firma
- porównać
- w porównaniu
- całkowicie
- kompleksowość
- składniki
- kompromis
- obliczać
- komputer
- Computer Science
- warunek
- systemu
- konfiguracje
- Skontaktuj się
- Konsola
- skonstruować
- konsultant
- konsumować
- Konsumenci
- konsumpcja
- zawiera
- kontekstowy
- ciągły
- bez przerwy
- kontrola
- kontrolowanych
- kontroli
- Konwencja
- rdzeń
- Korporacyjny
- prawidłowo
- Odpowiedni
- Koszty:
- mógłby
- pokrycie
- Stwórz
- stworzony
- tworzy
- Tworzenie
- tworzenie
- Listy uwierzytelniające
- istotny
- kuracja
- Aktualny
- Obecnie
- zwyczaj
- Klientów
- dane
- dostęp do danych
- Jezioro danych
- zarządzanie danymi
- Platforma danych
- udostępnianie danych
- przechowywanie danych
- sterowane danymi
- Baza danych
- Bazy danych
- Pamięci danych
- zbiory danych
- Zdecentralizowane
- zdecentralizowane zarządzanie
- Decyzje
- Stopień
- dostarcza
- wykazać
- Departament
- Działy
- W zależności
- Pochodny
- opisać
- opisane
- zaprojektowany
- projektowanie
- projekty
- szczegółowe
- Detailing
- detale
- rozwijać
- rozwinięty
- różne
- bezpośrednio
- dyskutować
- dystrybuowane
- do
- domena
- domeny
- zrobić
- nie
- na dół
- napęd
- z powodu
- podczas
- każdy
- Wcześniej
- Ekosystem
- Ekosystemy
- efekt
- Efektywne
- faktycznie
- bądź
- Elementy
- osadzone
- nacisk
- podkreślił
- umożliwiać
- Umożliwia
- umożliwiając
- obudowane
- koniec końców
- egzekwować
- egzekwowanie
- Egzekwowanie
- zaręczynowy
- silnik
- inżynier
- zapewnić
- zapewnia
- Enterprise
- przedsiębiorstwa
- całkowicie
- Uprawnienie
- środowiska
- ustanowiony
- Eter (ETH)
- wydarzenie
- wydarzenia
- Każdy
- przykład
- przykłady
- Przede wszystkim system został opracowany
- rozszerza się
- spodziewany
- Wyjaśniać
- wyjaśnione
- zewnętrzny
- wyciąg
- niezwykle
- okładzina
- fabryki
- Federacja
- Postać
- i terminów, a
- dopasować
- Elastyczność
- pływ
- Przepływy
- Skupiać
- obserwuj
- następujący
- następujący sposób
- W razie zamówieenia projektu
- Nasz formularz
- formacja
- Dawny
- Naprzód
- Wolność
- od
- pełny
- Funkcjonalność
- przyszłość
- Wzrost
- Ogólne
- wygenerowane
- generacja
- dany
- daje
- Dający
- Globalne
- Go
- będzie
- zarządzanie
- udzielony
- przyznanie
- Dotacje
- wykres
- Zarządzanie
- Grupy
- Rosnąć
- gwarancja
- Gość
- Guest Post
- miał
- haszysz
- zaszyfrowany
- Have
- mający
- he
- ciężki
- tutaj
- Wysoki
- na wysokim szczeblu
- wyższy
- Najwyższa
- najwyższy stopień
- posiada
- Haczyki
- gospodarz
- W jaki sposób
- How To
- Jednak
- HTML
- http
- HTTPS
- Piasta
- IAM
- tożsamość
- if
- ilustruje
- natychmiast
- Rezultat
- wdrożenia
- realizowane
- in
- zawierać
- włączony
- obejmuje
- Włącznie z
- niezależność
- Informacja
- Innowacja
- innowacje
- przykład
- momentalnie
- zamiast
- zintegrowany
- integracja
- Inteligencja
- Interfejs
- najnowszych
- wprowadzono
- inwokuje
- zaangażowany
- odosobniony
- IT
- JEGO
- samo
- Praca
- Jwt
- Trzymać
- Wiedzieć
- wiedza
- jezioro
- duży
- na dużą skalę
- później
- firmy
- warstwa
- nioski
- prowadzić
- UCZYĆ SIĘ
- nauka
- poziom
- lubić
- LIMIT
- Ograniczony
- Lista
- mało
- lokalizacja
- log
- Partia
- niski
- maszyna
- uczenie maszynowe
- zrobiony
- utrzymać
- utrzymuje
- robić
- Dokonywanie
- zarządzanie
- zarządzane
- i konserwacjami
- Rozwiązanie do zarządzania
- kierownik
- zarządzający
- mapa
- mapowanie
- Mapy
- Mecz
- matematyka
- Maksymalizuj
- znaczy
- mechanizm
- Mechanizmy
- medyczny
- członkostwo
- członkostwa
- wzmiankowany
- siatka
- Metadane
- metoda
- Górnictwo
- wybity
- Złagodzić
- model
- modele
- Nowoczesne technologie
- zmodyfikowano
- jeszcze
- większość
- wielokrotność
- Nazwa
- O imieniu
- Nazwy
- nazywania
- Natura
- koniecznie
- Potrzebować
- potrzebne
- wymagania
- Nowości
- Następny
- Nie
- powiadomienie
- Nowy
- Novo Nordisk
- już dziś
- numer
- cel
- uzyskane
- of
- Oferty
- OK
- on
- tylko
- or
- organizacja
- organizacyjny
- organizacji
- Inne
- ludzkiej,
- na zewnątrz
- ogólny
- przegląd
- własny
- właściciel
- własność
- Paryż
- część
- uczestnictwo
- partner
- namiętny
- pacjenci
- Wzór
- wzory
- peer to peer
- Ludzie
- pozwolenie
- uprawnienia
- perspektywa
- Przemysł farmaceutyczny
- filozofia
- kawałek
- Miejsca
- Platforma
- Platformy
- plato
- Analiza danych Platona
- PlatoDane
- punkt
- polityka
- polityka
- basen
- możliwy
- Post
- potencjał
- poprzedni
- Główny
- zasada
- prywatny
- prawdopodobieństwo
- wygląda tak
- Produkt
- Produkty
- profesjonalny
- chroniony
- protokoły
- zapewniać
- pod warunkiem,
- dostawca
- zapewnia
- że
- publiczny
- popychany
- zapytania
- szybko
- RAM
- zasięg
- React
- uznane
- redukcja
- odzwierciedlenie
- zarejestrowany
- związane z
- relacje
- polegać
- pozostały
- usunąć
- Usunięto
- usuwanie
- reprezentować
- reprezentuje
- zażądać
- wywołań
- wymagany
- wymaganie
- wymagania
- Badania naukowe
- Zasób
- Zasoby
- zachować
- prawo
- Ryzyko
- Rola
- role
- run
- bieganie
- SaaS
- taki sam
- zadowolony
- skalowalny
- Skala
- skalowaniem
- scenariusz
- nauka
- Naukowiec
- druga
- Sekcja
- działy
- bezpieczne
- bezpieczeństwo
- senior
- Serie
- usługa
- Usługi
- Sesja
- Sesje
- zestaw
- ustawienie
- Share
- dzielenie
- ona
- powinien
- pokazać
- pokazane
- Targi
- znak
- podpisywanie
- podobny
- Prosty
- uproszczony
- upraszczać
- po prostu
- pojedynczy
- Rozmiar
- So
- Tworzenie
- Oprogramowanie jako usługa
- rozwiązanie
- Rozwiązania
- kilka
- Źródło
- Źródła
- Typ przestrzeni
- rozpiętość
- wyspecjalizowanym
- specyficzny
- prędkość
- rozpoczęty
- Stan
- stwierdził,
- Zestawienie sprzedaży
- Ewolucja krok po kroku
- Cel
- przechowywanie
- Strategiczny
- rygorystyczny
- strajk
- sznur
- Struktura
- osiągnąć sukces
- sukces
- taki
- wystarczający
- wsparcie
- Utrzymany
- pewnie
- synchronizacja
- system
- systemy
- stół
- TAG
- trwa
- cel
- kierowania
- zespół
- Zespoły
- tymczasowy
- zasady
- że
- Połączenia
- Źródło
- Państwo
- ich
- Im
- sami
- następnie
- Tam.
- Te
- one
- Myśleć
- Trzeci
- innych firm
- to
- tych
- trzy
- Przez
- Związany
- czas
- do
- razem
- żeton
- narzędzie
- narzędzia
- Top
- aktualny
- Kwota produktów:
- wyśledzić
- śledzić
- tłumaczyć
- rozsierdzony
- Zaufaj
- Ufa,
- Obrócony
- drugiej
- rodzaj
- typy
- Ostatecznie
- Ujednolicony
- wyjątkowy
- Aktualizacja
- zaktualizowane
- Nowości
- Upside
- Stosowanie
- posługiwać się
- używany
- Użytkownik
- Interfejs użytkownika
- Użytkownicy
- za pomocą
- wykorzystać
- Wykorzystując
- wartość
- sprzedawców
- wersja
- początku.
- przez
- Tom
- Droga..
- we
- sieć
- DOBRZE
- Co
- Co to jest
- jeśli chodzi o komunikację i motywację
- który
- Podczas
- szeroki
- Szeroki zasięg
- szerszy
- będzie
- w
- w ciągu
- bez
- workflow
- działa
- by
- pisanie
- jeszcze
- ty
- Twój
- zefirnet