Amazon SageMaker Studio är en webbaserad integrerad utvecklingsmiljö (IDE) för maskininlärning (ML) som låter dig bygga, träna, felsöka, distribuera och övervaka dina ML-modeller. För att tillhandahålla Studio i ditt AWS-konto och din region måste du först skapa en Amazon SageMaker domän – en konstruktion som kapslar in din ML-miljö. Mer konkret består en SageMaker-domän av en associerad Amazon Elastic File System (Amazon EFS) volym, en lista över auktoriserade användare och en mängd olika säkerhets-, program-, policy- och Amazon Virtual Private Cloud (Amazon VPC) konfigurationer.
När du skapar din SageMaker-domän kan du välja att använda antingen Aws iam identitetscenter (efterträdare till AWS Single Sign-On) eller AWS identitets- och åtkomsthantering (IAM) för användarautentiseringsmetoder. Båda autentiseringsmetoderna har sin egen uppsättning användningsfall; i det här inlägget fokuserar vi på SageMaker-domäner med IAM Identity Center, eller enkel inloggning (SSO)-läge, som autentiseringsmetod.
Med SSO-läge ställer du in en SSO-användare och -grupp i IAM Identity Center och ger sedan åtkomst till antingen SSO-gruppen eller användaren från Studio-konsolen. För närvarande ärver alla SSO-användare på en domän domänens exekveringsroll. Detta kanske inte fungerar för alla organisationer. Till exempel kan administratörer vilja ställa in IAM-behörigheter för en Studio SSO-användare baserat på deras Active Directory-gruppmedlemskap (AD). Dessutom, eftersom administratörer måste manuellt ge SSO-användare åtkomst till Studio, kan det hända att processen inte skalas när hundratals användare går ombord.
I det här inlägget ger vi föreskrivande vägledning för lösningen för att tillhandahålla SSO-användare till Studio med minsta privilegiebehörigheter baserade på AD-gruppmedlemskap. Den här vägledningen gör det möjligt för dig att snabbt skala för att ta med hundratals användare till Studio och uppnå din säkerhets- och efterlevnadsställning.
Lösningsöversikt
Följande diagram illustrerar lösningsarkitekturen.
Arbetsflödet för att tillhandahålla AD-användare i Studio inkluderar följande steg:
- Ställ in en Studiodomän i SSO-läge.
- För varje AD-grupp:
- Konfigurera din Studio-exekveringsroll med lämpliga finkorniga IAM-policyer
- Spela in en post i AD-grupprollmappningen Amazon DynamoDB tabell.
Alternativt kan du anta en namngivningsstandard för IAM-roll-ARN baserat på AD-gruppnamnet och härleda IAM-rollen ARN utan att behöva lagra mappningen i en extern databas.
- Synkronisera dina AD-användare och grupper och medlemskap till AWS Identity Center:
- Om du använder en identitetsleverantör (IdP) som stöder SCIM, använd SCIM API-integrering med IAM Identity Center.
- Om du använder självhanterad AD kan du använda AD Connector.
- När AD-gruppen har skapats i ditt företags AD, utför följande steg:
- Skapa en motsvarande SSO-grupp i IAM Identity Center.
- Associera SSO-gruppen till Studio-domänen med SageMaker-konsolen.
- När en AD-användare skapas i ditt företags AD skapas en motsvarande SSO-användare i IAM Identity Center.
- När AD-användaren tilldelas en AD-grupp, en IAM Identity Center API (Skapa gruppmedlemskap) anropas och SSO-gruppmedlemskap skapas.
- Den föregående händelsen är inloggad AWS CloudTrail med namnet
AddMemberToGroup
. - An Amazon EventBridge regel lyssnar på CloudTrail-händelser och matchar
AddMemberToGroup
regelmönster. - EventBridge-regeln utlöser målet AWS Lambda funktion.
- Denna Lambda-funktion kommer att ringa tillbaka IAM Identity Center API:er, hämta SSO-användare och gruppinformation och utföra följande steg för att skapa Studio-användarprofilen (Skapa användarprofil) för SSO-användaren:
- Slå upp DynamoDB-tabellen för att hämta IAM-rollen som motsvarar AD-gruppen.
- Skapa en användarprofil med SSO-användaren och IAM-rollen som erhålls från uppslagstabellen.
- SSO-användaren beviljas åtkomst till Studio.
- SSO-användaren omdirigeras till Studio IDE via Studio-domänens URL.
Observera att i skrivande stund måste steg 4b (associera SSO-gruppen till Studio-domänen) utföras manuellt av en administratör som använder SageMaker-konsolen på SageMaker-domännivån.
Ställ in en Lambda-funktion för att skapa användarprofilerna
Lösningen använder en Lambda-funktion för att skapa Studios användarprofiler. Vi tillhandahåller följande exempel på Lambda-funktion som du kan kopiera och modifiera för att möta dina behov för att automatisera skapandet av Studio-användarprofilen. Denna funktion utför följande åtgärder:
- Ta emot CloudTrail
AddMemberToGroup
händelse från EventBridge. - Hämta Studion
DOMAIN_ID
från miljövariabeln (du kan alternativt hårdkoda domän-ID eller använda en DynamoDB-tabell också om du har flera domäner). - Läs från en dummy-uppmärkningstabell för att matcha AD-användare till exekveringsroller. Du kan ändra detta för att hämta från DynamoDB-tabellen om du använder en tabelldriven metod. Om du använder DynamoDB behöver din Lambda-funktions exekveringsroll behörighet att läsa från tabellen också.
- Hämta information om SSO-användare och AD-gruppmedlemskap från IAM Identity Center, baserat på CloudTrail-händelsedata.
- Skapa en Studio-användarprofil för SSO-användaren, med SSO-detaljerna och den matchande exekveringsrollen.
Observera att som standard har Lambda-exekveringsrollen inte tillgång till att skapa användarprofiler eller lista SSO-användare. När du har skapat Lambda-funktionen, få åtkomst till funktionens exekveringsroll på IAM och bifoga följande policy som en inline-policy efter att ha minskat omfattningen efter behov baserat på din organisations krav.
Ställ in EventBridge-regeln för CloudTrail-händelsen
EventBridge är en serverlös händelsebusstjänst som du kan använda för att koppla ihop dina applikationer med data från en mängd olika källor. I den här lösningen skapar vi en regelbaserad trigger: EventBridge lyssnar på händelser och matchar mot det angivna mönstret och triggar en Lambda-funktion om mönstermatchningen lyckas. Som förklaras i lösningsöversikten lyssnar vi på AddMemberToGroup
händelse. Utför följande steg för att ställa in det:
- Välj på EventBridge-konsolen regler i navigeringsfönstret.
- Välja Skapa regel.
- Ange ett regelnamn, t.ex.
AddUserToADGroup
. - Alternativt kan du ange en beskrivning.
- Välja standard för evenemangsbussen.
- Enligt Regeltypväljer Regel med ett händelsemönsterOch välj sedan Nästa.
- På Bygg händelsemönster sida, välj Händelse källa as AWS-evenemang eller EventBridge-partnerevenemang.
- Enligt Händelsemönster, Välj den Anpassade mönster (JSON-redigerare) fliken och ange följande mönster:
- Välja Nästa.
- På Välj mål sida, välj AWS-tjänsten för måltypen, Lambdafunktionen som mål och funktionen du skapade tidigare och välj sedan Nästa.
- Välja Nästa på Konfigurera taggar sida och välj sedan Skapa regel på Granska och skapa sida.
När du har ställt in Lambda-funktionen och EventBridge-regeln kan du testa den här lösningen. För att göra det, öppna din IdP och lägg till en användare i en av AD-grupperna med Studio-exekveringsrollen mappad. När du har lagt till användaren kan du verifiera Lambda-funktionsloggarna för att inspektera händelsen och även se Studio-användaren som tillhandahålls automatiskt. Dessutom kan du använda DescribeUserProfile API-anrop för att verifiera att användaren har skapats med lämpliga behörigheter.
Stöder flera Studio-konton
För att stödja flera Studio-konton med föregående arkitektur rekommenderar vi följande ändringar:
- Skapa en AD-grupp mappad till varje Studio-kontonivå.
- Ställ in en IAM-roll på gruppnivå i varje Studio-konto.
- Ställ in eller härled gruppen till IAM-rollmappning.
- Ställ in en lambdafunktion att utföra roll antagande över flera konton, baserat på IAM rollkartläggning ARN och skapad användarprofil.
Avadministration av användare
När en användare tas bort från sin AD-grupp bör du också ta bort deras åtkomst från Studio-domänen. Med SSO, när en användare tas bort, inaktiveras användaren automatiskt i IAM Identity Center om synkroniseringen AD till IAM Identity Center är på plats och deras Studio-programåtkomst återkallas omedelbart.
Användarprofilen på Studio finns dock kvar. Du kan lägga till ett liknande arbetsflöde med CloudTrail och en Lambda-funktion för att ta bort användarprofilen från Studio. EventBridge-utlösaren bör nu lyssna efter Ta bort gruppmedlemskap händelse. Utför följande steg i Lambda-funktionen:
- Få användarprofilens namn från användar- och grupp-ID.
- Lista alla appar som körs för användarprofilen med hjälp av ListApps API-anrop, filtrering efter
UserProfileNameEquals
parameter. Se till att leta efter det paginerade svaret, för att lista alla appar för användaren. - Ta bort alla appar som körs åt användaren och vänta tills alla appar är raderade. Du kan använda Beskriv appen API för att se appens status.
- När alla appar finns i en Raderad stat (eller Misslyckades), radera användarprofilen.
Med den här lösningen på plats kan ML-plattformsadministratörer upprätthålla gruppmedlemskap på en central plats och automatisera Studio-användarprofilhanteringen genom EventBridge- och Lambda-funktioner.
Följande kod visar ett exempel på CloudTrail-händelse:
Följande kod visar ett exempel på en API-begäran för Studio-användarprofil:
Slutsats
I det här inlägget diskuterade vi hur administratörer kan skala Studio onboarding för hundratals användare baserat på deras AD-gruppmedlemskap. Vi visade en helhetslösningsarkitektur som organisationer kan använda för att automatisera och skala sin onboardingprocess för att möta deras behov av smidighet, säkerhet och efterlevnad. Om du letar efter en skalbar lösning för att automatisera din användarintroduktion, prova den här lösningen och lämna feedback nedan! För mer information om introduktion till Studio, se Ombord på Amazon SageMaker Domain.
Om författarna
Ram Vittal är en ML Specialist Solutions Architect på AWS. Han har över 20 års erfarenhet av att bygga och bygga distribuerade, hybrid- och molnapplikationer. Han brinner för att bygga säkra och skalbara AI/ML- och big data-lösningar för att hjälpa företagskunder med deras molnanpassning och optimeringsresa för att förbättra deras affärsresultat. På fritiden kör han motorcykel och går med sin 2-åriga sheep-a-doodle!
Durga Sury är en ML Solutions Architect i Amazon SageMaker Service SA-teamet. Hon brinner för att göra maskininlärning tillgängligt för alla. Under sina fyra år på AWS har hon hjälpt till att sätta upp AI/ML-plattformar för företagskunder. När hon inte jobbar älskar hon motorcykelturer, mysterieromaner och att vandra med sin 4-åriga husky.
- SEO-drivet innehåll och PR-distribution. Bli förstärkt idag.
- EVM Finans. Unified Interface for Decentralized Finance. Tillgång här.
- Quantum Media Group. IR/PR förstärkt. Tillgång här.
- PlatoAiStream. Web3 Data Intelligence. Kunskap förstärkt. Tillgång här.
- Källa: https://aws.amazon.com/blogs/machine-learning/onboard-users-to-amazon-sagemaker-studio-with-active-directory-group-specific-iam-roles/
- : har
- :är
- :inte
- $UPP
- 1
- 11
- 116
- 20
- 20 år
- 200
- 22
- 24
- 7
- 9
- a
- Om oss
- Acceptera
- tillgång
- tillgänglig
- Konto
- konton
- Uppnå
- Handling
- åtgärder
- aktiv
- Ad
- lägga till
- lagt till
- Dessutom
- administration
- administratörer
- anta
- Antagande
- Efter
- mot
- AI / ML
- Alla
- tillåter
- också
- amason
- Amazon SageMaker
- Amazon SageMaker Studio
- Amazon Web Services
- an
- och
- api
- API: er
- Ansökan
- tillämpningar
- tillvägagångssätt
- lämpligt
- appar
- arkitektur
- ÄR
- AS
- delad
- Associate
- associerad
- Antagandet
- At
- bifoga
- Autentisering
- tillstånd
- automatisera
- automatiskt
- automatisera
- AWS
- tillbaka
- baserat
- BE
- därför att
- varit
- Stor
- Stora data
- kropp
- båda
- SLUTRESULTAT
- Byggnad
- Bussen
- företag
- by
- Ring
- KAN
- fall
- Centrum
- centrala
- byta
- Förändringar
- karaktär
- ta
- Välja
- klient
- cloud
- moln adoption
- koda
- COM
- fullborda
- Efterlevnad
- Kontakta
- består
- Konsol
- konstruera
- sammanhang
- Företag
- Motsvarande
- skapa
- skapas
- Skapa
- skapande
- För närvarande
- Kunder
- datum
- Databas
- Standard
- demonstreras
- distribuera
- beskrivning
- detalj
- detaljer
- Utveckling
- inaktiverad
- diskuteras
- distribueras
- do
- inte
- gör
- domän
- domäner
- inte
- ner
- varje
- Tidigare
- redaktör
- effekt
- antingen
- annars
- möjliggör
- början till slut
- ange
- Företag
- inträde
- Miljö
- händelse
- händelser
- alla
- exempel
- utförande
- erfarenhet
- förklarade
- extern
- falsk
- återkoppling
- Fil
- filtrering
- Förnamn
- Fokus
- efter
- För
- från
- fungera
- funktioner
- Vidare
- skaffa sig
- bevilja
- beviljats
- Grupp
- Gruppens
- vägleda
- hantera
- Har
- he
- hjälpa
- hjälpte
- här
- hans
- Hur ser din drömresa ut
- html
- http
- HTTPS
- Hundratals
- Hybrid
- ID
- Identitet
- if
- illustrerar
- blir omedelbart
- importera
- förbättra
- in
- innefattar
- informationen
- exempel
- integrerade
- integrering
- åberopas
- IT
- resa
- json
- inlärning
- t minst
- Lämna
- Lets
- Nivå
- Lista
- läge
- inloggad
- Logiken
- du letar
- slå upp
- älskar
- Maskinen
- maskininlärning
- bibehålla
- göra
- Framställning
- ledning
- manuellt
- kartläggning
- Match
- matchande
- Maj..
- Möt
- medlem
- medlemskap
- medlemskap
- metod
- metoder
- ML
- Mode
- modeller
- modifiera
- Övervaka
- mer
- mc
- multipel
- Mystery
- namn
- namngivning
- Navigering
- Behöver
- behövs
- behöver
- behov
- inget
- nu
- erhållna
- of
- OKTA
- on
- Ombord
- Onboarding
- gång
- ONE
- öppet
- optimering
- or
- organisation
- organisationer
- OS
- ut
- utfall
- över
- Översikt
- egen
- sida
- panelen
- parameter
- partnern
- brinner
- Mönster
- mönster
- Utföra
- utfört
- utför
- behörigheter
- kvarstår
- Plats
- plattform
- Plattformar
- plato
- Platon Data Intelligence
- PlatonData
- policy
- Inlägg
- privat
- privilegium
- process
- Profil
- Profiler
- ge
- förutsatt
- leverantör
- tillhandahållande
- snabbt
- Läsa
- rekommenderar
- region
- ta bort
- avlägsnas
- begära
- Obligatorisk
- Krav
- resurs
- respons
- avkastning
- Roll
- roller
- Regel
- rinnande
- s
- SA
- sagemaker
- skalbar
- Skala
- Omfattning
- säkra
- säkerhet
- se
- Server
- service
- Tjänster
- in
- hon
- skall
- Visar
- liknande
- eftersom
- enda
- So
- lösning
- Lösningar
- Källa
- Källor
- specialist
- standard
- Ange
- .
- status
- Steg
- Steg
- Fortfarande
- lagra
- studio
- framgångsrik
- stödja
- Stöder
- bord
- Målet
- grupp
- testa
- den där
- Smakämnen
- deras
- sedan
- detta
- Genom
- tid
- till
- Tåg
- utlösa
- sann
- prova
- Typ
- okänd
- tills
- URL
- användning
- Användare
- användare
- användningar
- med hjälp av
- värde
- mängd
- verifiera
- version
- via
- utsikt
- Virtuell
- volym
- vänta
- vill
- we
- webb
- webbservice
- Webb-baserad
- VÄL
- när
- kommer
- med
- utan
- Arbete
- arbetsflöde
- arbetssätt
- skrivning
- år
- Om er
- Din
- zephyrnet