Amazon SageMaker Studio este un mediu de dezvoltare integrat (IDE) bazat pe web pentru învățarea automată (ML) care vă permite să creați, antrenați, depanați, implementați și monitorizați modelele ML. Pentru a furniza Studio în contul și în regiune AWS, mai întâi trebuie să creați un Amazon SageMaker domeniu — o construcție care încapsulează mediul dumneavoastră ML. Mai concret, un domeniu SageMaker constă dintr-un domeniu asociat Sistem de fișiere elastice Amazon (Amazon EFS), o listă de utilizatori autorizați și o varietate de securitate, aplicații, politici și Cloud virtual virtual Amazon configurații (Amazon VPC).
Când vă creați domeniul SageMaker, puteți alege să utilizați oricare dintre ele Centrul de identitate AWS IAM (succesorul AWS Single Sign-On) sau Gestionarea identității și accesului AWS (IAM) pentru metodele de autentificare a utilizatorilor. Ambele metode de autentificare au propriul set de cazuri de utilizare; în această postare, ne concentrăm pe domeniile SageMaker cu IAM Identity Center sau modul Single Sign-on (SSO), ca metodă de autentificare.
Cu modul SSO, configurați un utilizator și un grup SSO în IAM Identity Center și apoi acordați acces fie grupului SSO, fie utilizatorului din consola Studio. În prezent, toți utilizatorii SSO dintr-un domeniu moștenesc rolul de execuție al domeniului. Este posibil să nu funcționeze pentru toate organizațiile. De exemplu, administratorii pot dori să configureze permisiuni IAM pentru un utilizator Studio SSO pe baza apartenenței la grupul Active Directory (AD). În plus, deoarece administratorii sunt obligați să acorde manual utilizatorilor SSO acces la Studio, este posibil ca procesul să nu se extindă atunci când înregistrează sute de utilizatori.
În această postare, oferim îndrumări prescriptive pentru soluția de furnizare a utilizatorilor SSO la Studio cu cele mai puține permisiuni de privilegii bazate pe apartenența la grupul AD. Acest ghid vă permite să scalați rapid pentru integrarea a sute de utilizatori în Studio și să vă atingeți postura de securitate și conformitate.
Prezentare generală a soluțiilor
Următoarea diagramă ilustrează arhitectura soluției.
Fluxul de lucru pentru furnizarea utilizatorilor AD în Studio include următorii pași:
- Configurați un Domeniul studio în modul SSO.
- Pentru fiecare grup AD:
- Configurați-vă rolul de execuție Studio cu politici IAM detaliate adecvate
- Înregistrați o intrare în maparea grupului AD-rol Amazon DynamoDB tabel.
Alternativ, puteți adopta un standard de denumire pentru ARN-urile de rol IAM pe baza numelui grupului AD și puteți deriva ARN-ul rolului IAM fără a fi nevoie să stocați maparea într-o bază de date externă.
- Sincronizați-vă utilizatorii și grupurile AD și apartenența la AWS Identity Center:
- Dacă utilizați un furnizor de identitate (IdP) care acceptă SCIM, utilizați integrarea SCIM API cu IAM Identity Center.
- Dacă utilizați AD auto-gestionat, puteți utiliza AD Connector.
- Când grupul AD este creat în AD corporativă, parcurgeți următorii pași:
- Creați un grup SSO corespunzător în IAM Identity Center.
- Asociați grupul SSO la domeniul Studio folosind consola SageMaker.
- Când un utilizator AD este creat în AD corporativă, un utilizator SSO corespunzător este creat în IAM Identity Center.
- Când utilizatorul AD este alocat unui grup AD, un API IAM Identity Center (CreateGroupMembership) este invocată și este creată apartenența la grupul SSO.
- Evenimentul precedent este autentificat AWS CloudTrail cu denumirea
AddMemberToGroup
. - An Amazon EventBridge regula ascultă evenimentele CloudTrail și se potrivește cu
AddMemberToGroup
model de regulă. - Regula EventBridge declanșează ținta AWS Lambdas Funcția.
- Această funcție Lambda va apela înapoi API-urile IAM Identity Center, va obține informațiile despre utilizatorul SSO și grupul și va efectua următorii pași pentru a crea profilul de utilizator Studio (CreateUserProfile) pentru utilizatorul SSO:
- Căutați tabelul DynamoDB pentru a prelua rolul IAM corespunzător grupului AD.
- Creați un profil de utilizator cu utilizatorul SSO și rolul IAM obținut din tabelul de căutare.
- Utilizatorului SSO i se acordă acces la Studio.
- Utilizatorul SSO este redirecționat către Studio IDE prin adresa URL a domeniului Studio.
Rețineți că, în momentul scrierii, Pasul 4b (asociați grupul SSO la domeniul Studio) trebuie efectuat manual de un administrator folosind consola SageMaker la nivel de domeniu SageMaker.
Configurați o funcție Lambda pentru a crea profiluri de utilizator
Soluția folosește o funcție Lambda pentru a crea profilurile de utilizator Studio. Vă oferim următorul exemplu de funcție Lambda pe care o puteți copia și modifica pentru a vă satisface nevoile de automatizare a creării profilului de utilizator Studio. Această funcție efectuează următoarele acțiuni:
- Primește CloudTrail
AddMemberToGroup
eveniment de la EventBridge. - Preluați Studioul
DOMAIN_ID
din variabila de mediu (puteți, alternativ, să codificați ID-ul domeniului sau să utilizați și un tabel DynamoDB dacă aveți mai multe domenii). - Citiți dintr-un tabel de markup inactiv pentru a potrivi utilizatorii AD cu rolurile de execuție. Puteți modifica acest lucru pentru a prelua din tabelul DynamoDB dacă utilizați o abordare bazată pe tabel. Dacă utilizați DynamoDB, rolul de execuție al funcției dvs. Lambda are nevoie de permisiuni pentru a citi și din tabel.
- Preluați informațiile despre utilizatorul SSO și despre apartenența la grupul AD din IAM Identity Center, pe baza datelor despre evenimentul CloudTrail.
- Creați un profil de utilizator Studio pentru utilizatorul SSO, cu detaliile SSO și rolul de execuție potrivit.
Rețineți că, în mod implicit, rolul de execuție Lambda nu are acces pentru a crea profiluri de utilizator sau a enumera utilizatorii SSO. După ce creați funcția Lambda, accesați rolul de execuție al funcției pe IAM și atașați următoarea politică ca politică inline, după ce este necesar, în funcție de cerințele organizației dvs.
Configurați regula EventBridge pentru evenimentul CloudTrail
EventBridge este un serviciu de magistrală de evenimente fără server pe care îl puteți utiliza pentru a vă conecta aplicațiile cu date dintr-o varietate de surse. În această soluție, creăm un declanșator bazat pe reguli: EventBridge ascultă evenimente și potriviri cu modelul furnizat și declanșează o funcție Lambda dacă potrivirea modelului este cu succes. După cum este explicat în prezentarea generală a soluției, ascultăm AddMemberToGroup
eveniment. Pentru a-l configura, parcurgeți următorii pași:
- Pe consola EventBridge, alegeți Reguli în panoul de navigare.
- Alege Creați o regulă.
- Furnizați un nume de regulă, de exemplu,
AddUserToADGroup
. - Opțional, introduceți o descriere.
- Selectați lipsă pentru autobuzul evenimentului.
- În Tipul de regulă, alege Regulă cu un model de eveniment, Apoi alegeți Pagina Următoare →.
- Pe Construiți un model de eveniment pagina, alege Sursa evenimentului as Evenimente AWS sau evenimente ale partenerilor EventBridge.
- În Modelul evenimentului, alege Modele personalizate (editor JSON) fila și introduceți următorul model:
- Alege Pagina Următoare →.
- Pe Selectați ținte pagina, alegeți serviciul AWS pentru tipul țintă, funcția Lambda ca țintă și funcția pe care ați creat-o mai devreme, apoi alegeți Pagina Următoare →.
- Alege Pagina Următoare → pe Configurați etichetele pagina, apoi alegeți Creați o regulă pe Examinați și creați .
După ce ați setat funcția Lambda și regula EventBridge, puteți testa această soluție. Pentru a face acest lucru, deschideți-vă IdP și adăugați un utilizator la unul dintre grupurile AD cu rolul de execuție Studio mapat. După ce adăugați utilizatorul, puteți verifica jurnalele funcției Lambda pentru a inspecta evenimentul și, de asemenea, pentru a vedea utilizatorul Studio furnizat automat. În plus, puteți utiliza DescriereUserProfile Apel API pentru a verifica dacă utilizatorul este creat cu permisiunile corespunzătoare.
Sprijină mai multe conturi Studio
Pentru a accepta mai multe conturi Studio cu arhitectura anterioară, vă recomandăm următoarele modificări:
- Configurați un grup AD mapat la fiecare nivel de cont Studio.
- Configurați un rol IAM la nivel de grup în fiecare cont Studio.
- Configurați sau derivați grupul la maparea rolurilor IAM.
- Configurați o funcție Lambda pe care să o îndepliniți asumarea rolului pe mai multe conturi, pe baza ARN-ului de mapare a rolului IAM și a profilului de utilizator creat.
Deprovisioning utilizatori
Când un utilizator este eliminat din grupul său AD, ar trebui să îi eliminați accesul și din domeniul Studio. Cu SSO, atunci când un utilizator este eliminat, utilizatorul este dezactivat automat în IAM Identity Center dacă sincronizarea AD cu IAM Identity Center este activată și accesul la aplicația Studio este imediat revocat.
Cu toate acestea, profilul de utilizator de pe Studio persistă. Puteți adăuga un flux de lucru similar cu CloudTrail și o funcție Lambda pentru a elimina profilul de utilizator din Studio. Declanșatorul EventBridge ar trebui să asculte acum DeleteGroupMembership eveniment. În funcția Lambda, parcurgeți următorii pași:
- Obțineți numele profilului de utilizator de la utilizator și ID-ul grupului.
- Listați toate aplicațiile care rulează pentru profilul de utilizator folosind ListApps Apel API, filtrare după
UserProfileNameEquals
parametru. Asigurați-vă că verificați răspunsul paginat, pentru a lista toate aplicațiile pentru utilizator. - Ștergeți toate aplicațiile care rulează pentru utilizator și așteptați până când toate aplicațiile sunt șterse. Puteți folosi Descrie aplicația API pentru a vedea starea aplicației.
- Când toate aplicațiile sunt într-un Eliminat stat (sau A eșuat), ștergeți profilul utilizatorului.
Cu această soluție implementată, administratorii platformei ML pot menține apartenența la grup într-o singură locație centrală și pot automatiza gestionarea profilului de utilizator Studio prin funcțiile EventBridge și Lambda.
Următorul cod arată un exemplu de eveniment CloudTrail:
Următorul cod arată un exemplu de solicitare API de profil de utilizator Studio:
Concluzie
În această postare, am discutat despre modul în care administratorii pot scala integrarea Studio pentru sute de utilizatori în funcție de apartenența la grupul AD. Am demonstrat o arhitectură de soluții end-to-end pe care organizațiile o pot adopta pentru a-și automatiza și scala procesul de integrare pentru a-și satisface nevoile de agilitate, securitate și conformitate. Dacă sunteți în căutarea unei soluții scalabile pentru a vă automatiza integrarea utilizatorilor, încercați această soluție și lăsați-vă feedback mai jos! Pentru mai multe informații despre integrarea la Studio, consultați Integrat la domeniul Amazon SageMaker.
Despre autori
Ram Vittal este arhitect de soluții specializat în ML la AWS. Are peste 20 de ani de experiență în arhitectura și construirea de aplicații distribuite, hibride și cloud. El este pasionat de construirea de soluții sigure și scalabile de AI/ML și de date mari pentru a ajuta clienții întreprinderilor în călătoria lor de adoptare și optimizare a cloud-ului pentru a-și îmbunătăți rezultatele în afaceri. În timpul liber, se plimbă cu motocicleta și se plimbă cu oaie-a-doodle-ul lui de 2 ani!
Durga Sury este arhitect de soluții ML în echipa Amazon SageMaker Service SA. Este pasionată de a face învățarea automată accesibilă tuturor. În cei 4 ani la AWS, ea a ajutat la crearea platformelor AI/ML pentru clienții întreprinderilor. Când nu lucrează, îi plac plimbările cu motocicleta, romanele misterioase și drumețiile cu husky-ul ei de 5 ani.
- Distribuție de conținut bazat pe SEO și PR. Amplifică-te astăzi.
- EVM Finance. Interfață unificată pentru finanțare descentralizată. Accesați Aici.
- Grupul Quantum Media. IR/PR amplificat. Accesați Aici.
- PlatoAiStream. Web3 Data Intelligence. Cunoștințe amplificate. Accesați Aici.
- Sursa: https://aws.amazon.com/blogs/machine-learning/onboard-users-to-amazon-sagemaker-studio-with-active-directory-group-specific-iam-roles/
- :are
- :este
- :nu
- $UP
- 1
- 11
- 116
- 20
- ani 20
- 200
- 22
- 24
- 7
- 9
- a
- Despre Noi
- Accept
- acces
- accesibil
- Cont
- Conturi
- Obține
- Acțiune
- acțiuni
- activ
- Ad
- adăuga
- adăugat
- În plus,
- admin
- administratori
- adopta
- Adoptare
- După
- împotriva
- AI / ML
- TOATE
- permite
- de asemenea
- Amazon
- Amazon SageMaker
- Amazon SageMaker Studio
- Amazon Web Services
- an
- și
- api
- API-uri
- aplicație
- aplicatii
- abordare
- adecvat
- Apps
- arhitectură
- SUNT
- AS
- alocate
- Avocat Colaborator
- asociate
- presupunere
- At
- atașa
- Autentificare
- autorizat
- automatizarea
- în mod automat
- automatizarea
- AWS
- înapoi
- bazat
- BE
- deoarece
- fost
- Mare
- Datele mari
- corp
- atât
- construi
- Clădire
- luați autobuzul
- afaceri
- by
- apel
- CAN
- cazuri
- Centru
- central
- Schimbare
- Modificări
- caracter
- verifica
- Alege
- client
- Cloud
- adoptarea norului
- cod
- COM
- Completă
- conformitate
- Conectați
- constă
- Consoleze
- construi
- context
- Istoria
- Corespunzător
- crea
- a creat
- Crearea
- creaţie
- În prezent
- clienţii care
- de date
- Baza de date
- Mod implicit
- demonstrat
- implementa
- descriere
- detaliu
- detalii
- Dezvoltare
- invalid
- discutat
- distribuite
- do
- Nu
- face
- domeniu
- domenii
- Dont
- jos
- fiecare
- Mai devreme
- editor
- efect
- oricare
- altfel
- permite
- un capăt la altul
- Intrați
- Afacere
- intrare
- Mediu inconjurator
- eveniment
- evenimente
- toată lumea
- exemplu
- execuție
- experienţă
- a explicat
- extern
- fals
- feedback-ul
- Fișier
- filtrare
- First
- Concentra
- următor
- Pentru
- din
- funcţie
- funcții
- În plus
- obține
- acordarea
- acordate
- grup
- Grupului
- îndrumare
- manipula
- Avea
- he
- ajutor
- a ajutat
- ei
- lui
- Cum
- HTML
- http
- HTTPS
- sute
- Hibrid
- ID
- Identitate
- if
- ilustrează
- imediat
- import
- îmbunătăţi
- in
- include
- informații
- instanță
- integrate
- integrare
- invocat
- IT
- călătorie
- JSON
- învăţare
- cel mai puțin
- Părăsi
- Permite
- Nivel
- Listă
- locaţie
- autentificat
- logică
- cautati
- căutare
- iubeste
- maşină
- masina de învățare
- menține
- face
- Efectuarea
- administrare
- manual
- cartografiere
- Meci
- potrivire
- Mai..
- Întâlni
- membru
- apartenență
- de membru
- metodă
- Metode
- ML
- mod
- Modele
- modifica
- monitor
- mai mult
- motocicletă
- multiplu
- Mister
- nume
- denumire
- Navigare
- Nevoie
- necesar
- au nevoie
- nevoilor
- nimic
- acum
- obținut
- of
- OKTA
- on
- bord
- La imbarcare
- dată
- ONE
- deschide
- optimizare
- or
- organizație
- organizații
- OS
- afară
- rezultate
- peste
- Prezentare generală
- propriu
- pagină
- pâine
- parametru
- partener
- pasionat
- Model
- modele
- Efectua
- efectuată
- efectuează
- permisiuni
- persistă
- Loc
- platformă
- Platforme
- Plato
- Informații despre date Platon
- PlatoData
- Politica
- Post
- privat
- privilegiu
- proces
- Profil
- Profiluri
- furniza
- prevăzut
- furnizorul
- dispoziţie
- repede
- Citeste
- recomanda
- regiune
- scoate
- îndepărtat
- solicita
- necesar
- Cerinţe
- resursă
- răspuns
- reveni
- Rol
- rolurile
- Regula
- funcţionare
- s
- SA
- sagemaker
- scalabil
- Scară
- Scoping
- sigur
- securitate
- vedea
- serverless
- serviciu
- Servicii
- set
- ea
- să
- Emisiuni
- asemănător
- întrucât
- singur
- So
- soluţie
- soluţii
- Sursă
- Surse
- specialist
- standard
- Stat
- Declarație
- Stare
- Pas
- paşi
- Încă
- stoca
- studio
- de succes
- a sustine
- Sprijină
- tabel
- Ţintă
- echipă
- test
- acea
- lor
- apoi
- acest
- Prin
- timp
- la
- Tren
- declanşa
- adevărat
- încerca
- tip
- necunoscut
- până la
- URL-ul
- utilizare
- Utilizator
- utilizatorii
- utilizări
- folosind
- valoare
- varietate
- verifica
- versiune
- de
- Vizualizare
- Virtual
- volum
- aștepta
- vrea
- we
- web
- servicii web
- bazat pe web
- BINE
- cand
- voi
- cu
- fără
- Apartamente
- flux de lucru
- de lucru
- scris
- ani
- Tu
- Ta
- zephyrnet