Amazon SageMaker Studio er et webbaseret integreret udviklingsmiljø (IDE) til maskinlæring (ML), der lader dig bygge, træne, fejlsøge, implementere og overvåge dine ML-modeller. For at klargøre Studio i din AWS-konto og region skal du først oprette en Amazon SageMaker domæne – en konstruktion, der indkapsler dit ML-miljø. Mere konkret består et SageMaker-domæne af et tilknyttet Amazon Elastic File System (Amazon EFS) volumen, en liste over autoriserede brugere og en række sikkerheds-, applikations-, politik- og Amazon Virtual Private Cloud (Amazon VPC) konfigurationer.
Når du opretter dit SageMaker-domæne, kan du vælge at bruge enten AWS IAM Identity Center (efterfølger til AWS Single Sign-On) eller AWS identitets- og adgangsstyring (IAM) til brugergodkendelsesmetoder. Begge autentificeringsmetoder har deres eget sæt af use cases; i dette indlæg fokuserer vi på SageMaker-domæner med IAM Identity Center, eller single sign-on (SSO)-tilstand, som godkendelsesmetode.
Med SSO-tilstand opsætter du en SSO-bruger og -gruppe i IAM Identity Center og giver derefter adgang til enten SSO-gruppen eller brugeren fra Studio-konsollen. I øjeblikket arver alle SSO-brugere i et domæne domænets eksekveringsrolle. Dette virker muligvis ikke for alle organisationer. For eksempel vil administratorer måske konfigurere IAM-tilladelser for en Studio SSO-bruger baseret på deres Active Directory (AD) gruppemedlemskab. Fordi administratorer er forpligtet til manuelt at give SSO-brugere adgang til Studio, skalerer processen muligvis ikke, når hundredvis af brugere indsættes.
I dette indlæg giver vi foreskrivende vejledning til løsningen til at levere SSO-brugere til Studio med mindst privilegerede tilladelser baseret på AD-gruppemedlemskab. Denne vejledning sætter dig i stand til hurtigt at skalere til onboarding af hundredvis af brugere til Studio og opnå din sikkerheds- og overholdelsesposition.
Løsningsoversigt
Følgende diagram illustrerer løsningsarkitekturen.
Arbejdsgangen til klargøring af AD-brugere i Studio inkluderer følgende trin:
- Opsæt en Studiedomæne i SSO-tilstand.
- For hver AD-gruppe:
- Konfigurer din Studio-udførelsesrolle med passende finkornede IAM-politikker
- Optag en post i AD-grupperolletilknytningen Amazon DynamoDB tabel.
Alternativt kan du vedtage en navngivningsstandard for IAM-rolle-ARN'er baseret på AD-gruppenavnet og udlede IAM-rollen ARN uden at skulle gemme tilknytningen i en ekstern database.
- Synkroniser dine AD-brugere og -grupper og medlemskaber til AWS Identity Center:
- Hvis du bruger en identitetsudbyder (IdP), der understøtter SCIM, skal du bruge SCIM API-integration med IAM Identity Center.
- Hvis du bruger selvadministreret AD, kan du bruge AD Connector.
- Når AD-gruppen er oprettet i din virksomheds-AD, skal du udføre følgende trin:
- Opret en tilsvarende SSO-gruppe i IAM Identity Center.
- Knyt SSO-gruppen til Studio-domænet ved hjælp af SageMaker-konsollen.
- Når der oprettes en AD-bruger i din virksomheds-AD, oprettes en tilsvarende SSO-bruger i IAM Identity Center.
- Når AD-brugeren er tildelt en AD-gruppe, vil en IAM Identity Center API (Opret gruppemedlemskab) aktiveres, og SSO-gruppemedlemskab oprettes.
- Den foregående hændelse er logget ind AWS CloudTrail med navnet
AddMemberToGroup
. - An Amazon Eventbridge regel lytter til CloudTrail-begivenheder og matcher
AddMemberToGroup
regelmønster. - EventBridge-reglen udløser målet AWS Lambda funktion.
- Denne Lambda-funktion vil kalde IAM Identity Center API'er tilbage, hente SSO-bruger- og gruppeoplysninger og udføre følgende trin for at oprette Studio-brugerprofilen (Opret brugerprofil) for SSO-brugeren:
- Slå DynamoDB-tabellen op for at hente IAM-rollen, der svarer til AD-gruppen.
- Opret en brugerprofil med SSO-brugeren og IAM-rollen hentet fra opslagstabellen.
- SSO-brugeren får adgang til Studio.
- SSO-brugeren omdirigeres til Studio IDE via Studio-domænets URL.
Bemærk, at i skrivende stund skal trin 4b (tilknyt SSO-gruppen til Studio-domænet) udføres manuelt af en administrator, der bruger SageMaker-konsollen på SageMaker-domæneniveau.
Opsæt en Lambda-funktion for at oprette brugerprofilerne
Løsningen bruger en Lambda-funktion til at oprette Studio-brugerprofilerne. Vi leverer følgende eksempel på Lambda-funktion, som du kan kopiere og ændre for at opfylde dine behov for at automatisere oprettelsen af Studio-brugerprofilen. Denne funktion udfører følgende handlinger:
- Modtag CloudTrail
AddMemberToGroup
begivenhed fra EventBridge. - Hent studiet
DOMAIN_ID
fra miljøvariablen (du kan alternativt hardkode domæne-id'et eller også bruge en DynamoDB-tabel, hvis du har flere domæner). - Læs fra en dummy markup-tabel for at matche AD-brugere til udførelsesroller. Du kan ændre dette for at hente fra DynamoDB-tabellen, hvis du bruger en tabeldrevet tilgang. Hvis du bruger DynamoDB, skal din Lambda-funktions udførelsesrolle også have tilladelse til at læse fra tabellen.
- Hent oplysninger om SSO-bruger og AD-gruppemedlemskab fra IAM Identity Center baseret på CloudTrail-hændelsesdata.
- Opret en Studio-brugerprofil for SSO-brugeren med SSO-detaljerne og den matchende udførelsesrolle.
Bemærk, at Lambda-udførelsesrollen som standard ikke har adgang til at oprette brugerprofiler eller liste SSO-brugere. Når du har oprettet Lambda-funktionen, skal du få adgang til funktionens udførelsesrolle på IAM og vedhæfte følgende politik som en inline-politik efter at have nedjusteret efter behov baseret på din organisations krav.
Konfigurer EventBridge-reglen for CloudTrail-begivenheden
EventBridge er en serverløs eventbustjeneste, som du kan bruge til at forbinde dine applikationer med data fra en række forskellige kilder. I denne løsning opretter vi en regelbaseret trigger: EventBridge lytter til hændelser og matcher mod det angivne mønster og udløser en Lambda-funktion, hvis mønstermatchet lykkes. Som forklaret i løsningsoversigten lytter vi til AddMemberToGroup
begivenhed. Udfør følgende trin for at konfigurere det:
- Vælg på EventBridge-konsollen Regler i navigationsruden.
- Vælg Opret regel.
- Angiv et regelnavn, f.eks.
AddUserToADGroup
. - Indtast eventuelt en beskrivelse.
- Type standard til eventbussen.
- Under Regeltype, vælg Regl med et begivenhedsmønster, Og vælg derefter Næste.
- På Byg begivenhedsmønster side, vælg Begivenhed kilde as AWS-begivenheder eller EventBridge-partnerbegivenheder.
- Under Begivenhedsmønster, Vælg Brugerdefinerede mønstre (JSON-editor) fanen og indtast følgende mønster:
- Vælg Næste.
- På Vælg mål side, vælg AWS-tjenesten for måltypen, Lambda-funktionen som målet og den funktion, du oprettede tidligere, og vælg derefter Næste.
- Vælg Næste på den Konfigurer tags side, og vælg derefter Opret regel på den Gennemgå og opret .
Når du har indstillet Lambda-funktionen og EventBridge-reglen, kan du teste denne løsning. For at gøre det skal du åbne din IdP og tilføje en bruger til en af AD-grupperne med Studio-udførelsesrollen kortlagt. Når du tilføjer brugeren, kan du bekræfte Lambda-funktionsloggene for at inspicere hændelsen og også se Studio-brugeren klargjort automatisk. Derudover kan du bruge BeskrivBrugerprofil API-kald for at bekræfte, at brugeren er oprettet med passende tilladelser.
Understøtter flere Studio-konti
For at understøtte flere Studio-konti med den foregående arkitektur anbefaler vi følgende ændringer:
- Opret en AD-gruppe, der er knyttet til hvert Studio-kontoniveau.
- Konfigurer en IAM-rolle på gruppeniveau i hver Studio-konto.
- Konfigurer eller afled gruppen til IAM-rollekortlægning.
- Konfigurer en Lambda-funktion til at udføre rolle på tværs af konti, baseret på IAM-rollekortlægningen ARN og oprettet brugerprofil.
Deprovisionering af brugere
Når en bruger fjernes fra deres AD-gruppe, bør du også fjerne vedkommendes adgang fra Studio-domænet. Med SSO, når en bruger fjernes, deaktiveres brugeren automatisk i IAM Identity Center, hvis AD til IAM Identity Center-synkroniseringen er på plads, og deres Studio-applikationsadgang tilbagekaldes øjeblikkeligt.
Brugerprofilen på Studio består dog stadig. Du kan tilføje en lignende arbejdsgang med CloudTrail og en Lambda-funktion for at fjerne brugerprofilen fra Studio. EventBridge-udløseren skulle nu lytte efter Slet gruppemedlemskab begivenhed. I Lambda-funktionen skal du udføre følgende trin:
- Få brugerprofilnavnet fra bruger- og gruppe-id'et.
- Liste alle kørende apps til brugerprofilen ved hjælp af ListApps API-kald, filtrering efter
UserProfileNameEquals
parameter. Sørg for at tjekke for det paginerede svar for at vise alle apps for brugeren. - Slet alle kørende apps for brugeren og vent, indtil alle apps er slettet. Du kan bruge Beskriv App API for at se appens status.
- Når alle apps er i en Slettet stat (eller mislykkedes), slette brugerprofilen.
Med denne løsning på plads kan ML-platformsadministratorer opretholde gruppemedlemskaber på ét centralt sted og automatisere Studio-brugerprofilstyringen gennem EventBridge- og Lambda-funktioner.
Følgende kode viser et eksempel på en CloudTrail-begivenhed:
Følgende kode viser et eksempel på en Studio-brugerprofil API-anmodning:
Konklusion
I dette indlæg diskuterede vi, hvordan administratorer kan skalere Studio onboarding til hundredvis af brugere baseret på deres AD-gruppemedlemskab. Vi demonstrerede en end-to-end-løsningsarkitektur, som organisationer kan anvende for at automatisere og skalere deres onboarding-proces for at imødekomme deres behov for smidighed, sikkerhed og overholdelse. Hvis du leder efter en skalerbar løsning til at automatisere din brugeronboarding, så prøv denne løsning og giv feedback nedenfor! For mere information om onboarding til Studio, se Ombord på Amazon SageMaker Domain.
Om forfatterne
Ram Vittal er ML Specialist Solutions Architect hos AWS. Han har over 20 års erfaring med at arkitekte og bygge distribuerede, hybride og cloud-applikationer. Han brænder for at bygge sikker og skalerbar AI/ML og big data-løsninger for at hjælpe virksomhedskunder med deres cloud-adoption og optimeringsrejse for at forbedre deres forretningsresultater. I sin fritid kører han på motorcykel og går tur med sin 2-årige sheep-a-doodle!
Durga Sury er en ML Solutions Architect i Amazon SageMaker Service SA-teamet. Hun brænder for at gøre machine learning tilgængelig for alle. I sine 4 år hos AWS har hun været med til at opsætte AI/ML-platforme til virksomhedskunder. Når hun ikke arbejder, elsker hun motorcykelture, mysterieromaner og vandreture med sin 5-årige husky.
- SEO Powered Content & PR Distribution. Bliv forstærket i dag.
- EVM Finans. Unified Interface for Decentralized Finance. Adgang her.
- Quantum Media Group. IR/PR forstærket. Adgang her.
- PlatoAiStream. Web3 Data Intelligence. Viden forstærket. Adgang her.
- Kilde: https://aws.amazon.com/blogs/machine-learning/onboard-users-to-amazon-sagemaker-studio-with-active-directory-group-specific-iam-roles/
- :har
- :er
- :ikke
- $OP
- 1
- 11
- 116
- 20
- 20 år
- 200
- 22
- 24
- 7
- 9
- a
- Om
- Acceptere
- adgang
- tilgængelig
- Konto
- Konti
- opnå
- Handling
- aktioner
- aktiv
- Ad
- tilføje
- tilføjet
- Derudover
- admin
- administratorer
- vedtage
- Vedtagelse
- Efter
- mod
- AI / ML
- Alle
- tillade
- også
- Amazon
- Amazon SageMaker
- Amazon SageMaker Studio
- Amazon Web Services
- an
- ,
- api
- API'er
- Anvendelse
- applikationer
- tilgang
- passende
- apps
- arkitektur
- ER
- AS
- tildelt
- Associate
- forbundet
- antagelse
- At
- vedhæfte
- Godkendelse
- autoriseret
- automatisere
- automatisk
- Automatisering
- AWS
- tilbage
- baseret
- BE
- fordi
- været
- Big
- Big data
- krop
- både
- bygge
- Bygning
- bus
- virksomhed
- by
- ringe
- CAN
- tilfælde
- center
- central
- lave om
- Ændringer
- karakter
- kontrollere
- Vælg
- kunde
- Cloud
- cloud adoption
- kode
- KOM
- fuldføre
- Compliance
- Tilslut
- består
- Konsol
- konstruere
- sammenhæng
- Corporate
- Tilsvarende
- skabe
- oprettet
- Oprettelse af
- skabelse
- For øjeblikket
- Kunder
- data
- Database
- Standard
- demonstreret
- indsætte
- beskrivelse
- detail
- detaljer
- Udvikling
- deaktiveret
- drøftet
- distribueret
- do
- Er ikke
- gør
- domæne
- Domæner
- Dont
- ned
- hver
- tidligere
- editor
- effekt
- enten
- andet
- muliggør
- ende til ende
- Indtast
- Enterprise
- indrejse
- Miljø
- begivenhed
- begivenheder
- alle
- eksempel
- udførelse
- erfaring
- forklarede
- ekstern
- falsk
- tilbagemeldinger
- File (Felt)
- filtrering
- Fornavn
- Fokus
- efter
- Til
- fra
- funktion
- funktioner
- Endvidere
- få
- indrømme
- bevilget
- gruppe
- Gruppens
- vejledning
- håndtere
- Have
- he
- hjælpe
- hjulpet
- hende
- hans
- Hvordan
- HTML
- http
- HTTPS
- Hundreder
- Hybrid
- ID
- Identity
- if
- illustrerer
- straks
- importere
- Forbedre
- in
- omfatter
- oplysninger
- instans
- integreret
- integration
- påberåbes
- IT
- rejse
- json
- læring
- mindst
- Forlade
- Lets
- Niveau
- Liste
- placering
- logget
- logik
- leder
- kig op
- elsker
- maskine
- machine learning
- vedligeholde
- lave
- Making
- ledelse
- manuelt
- kortlægning
- Match
- matchende
- Kan..
- Mød
- medlem
- medlemskab
- medlemskaber
- metode
- metoder
- ML
- tilstand
- modeller
- ændre
- Overvåg
- mere
- motorcykel
- flere
- Mystery
- navn
- navngivning
- Navigation
- Behov
- behov
- behøve
- behov
- intet
- nu
- opnået
- of
- Okta
- on
- Ombord
- onboarding
- engang
- ONE
- åbent
- optimering
- or
- organisation
- organisationer
- OS
- ud
- udfald
- i løbet af
- oversigt
- egen
- side
- brød
- parameter
- partner
- lidenskabelige
- Mønster
- mønstre
- Udfør
- udføres
- udfører
- Tilladelser
- vedvarer
- Place
- perron
- Platforme
- plato
- Platon Data Intelligence
- PlatoData
- politik
- Indlæg
- private
- privilegium
- behandle
- Profil
- Profiler
- give
- forudsat
- udbyder
- bestemmelse
- hurtigt
- Læs
- anbefaler
- region
- Fjern
- fjernet
- anmode
- påkrævet
- Krav
- ressource
- svar
- afkast
- roller
- roller
- Herske
- kører
- s
- SA
- sagemaker
- skalerbar
- Scale
- Anvendelsesområde
- sikker
- sikkerhed
- se
- Serverless
- tjeneste
- Tjenester
- sæt
- hun
- bør
- Shows
- lignende
- siden
- enkelt
- So
- løsninger
- Løsninger
- Kilde
- Kilder
- specialist
- standard
- Tilstand
- Statement
- Status
- Trin
- Steps
- Stadig
- butik
- Studio
- vellykket
- support
- Understøtter
- bord
- mål
- hold
- prøve
- at
- deres
- derefter
- denne
- Gennem
- tid
- til
- Tog
- udløse
- sand
- prøv
- typen
- ukendt
- indtil
- URL
- brug
- Bruger
- brugere
- bruger
- ved brug af
- værdi
- række
- verificere
- udgave
- via
- Specifikation
- Virtual
- bind
- vente
- ønsker
- we
- web
- webservices
- web-baseret
- GODT
- hvornår
- vilje
- med
- uden
- Arbejde
- workflow
- arbejder
- skrivning
- år
- Du
- Din
- zephyrnet