Med en Amazon SageMaker-domän, kan du inkludera användare med en AWS identitets- och åtkomsthantering (IAM) exekveringsroll skiljer sig från domänexekveringsrollen. I sådana fall kan den inbyggda domänanvändaren inte skapa projekt med hjälp av mallar och Amazon SageMaker JumpStart lösningar. Det här inlägget beskriver ett automatiserat tillvägagångssätt för att aktivera JumpStart för domänanvändare med en anpassad exekveringsroll. Vi går igenom två olika användningsfall för att aktivera JumpStart och hur du löser dessa fall programmatiskt. Den automatiserade lösningen kan hjälpa dig att skala din process för att aktivera JumpStart för domänanvändare med anpassade roller, vilket ökar produktiviteten för ditt datavetenskapsteam och Amazon SageMaker Studio administratörer.
JumpStart är en funktion inom Studio som hjälper dig att snabbt och enkelt komma igång med maskininlärning (ML). Med fler och fler kunder som alltmer använder ML och adopterar Amazon SageMaker, JumpStart gör det enklare för datavetenskap och ML-team att få tillgång till och finjustera mer än 150 populära modeller med öppen källkod, såsom bearbetning av naturligt språk, objektdetektering och bildklassificeringsmodeller.
Lösningsöversikt
JumpStart kräver en SageMaker-domän med projektmallar aktiverade för kontot och Studio-användare, som visas i följande skärmdump.
Om den är aktiverad tillåter den här inställningen användare (konfigurerade att använda rollen Domänexekvering) att skapa projekt med hjälp av mallar och JumpStart-lösningar. I scenariot där användarens körningsroll skiljer sig från domänexekveringsrollen förblir JumpStart inaktiverat för den användaren även när det är aktiverat på domänen. Vi tar upp det här anpassade rollscenariot och den automatiserade lösningen i följande avsnitt.
I den här lösningen tar vi upp problemet för följande två fall:
- Använd fall 1 – Aktivera JumpStart på ett automatiserat sätt för befintliga domänanvändare med anpassade roller oavsett appar som tilldelats
- Använd fall 2 – Tillhandahålla ett referensskript som du kan använda för att programmässigt aktivera JumpStart medan du inleder en ny domänanvändare med en anpassad roll
Introduktion till domänanvändare
När du har skapat en domän kan du inkludera användare för att starta appar (som Studio, RStudio eller Canvas). Du måste tilldela en standardexekveringsroll till en domänanvändare under skapandeprocessen, som visas i följande skärmdump.
Du kan välja en annan roll än domänexekveringsrollen för en användare. Detta kan dock inaktivera JumpStart för sådana användare även när det är aktiverat på domänen. Detta beteende beror på det faktum att SageMaker inte gör något antagande om en anpassad roll och dess behörighetsgräns. De nödvändiga behörigheterna och policyerna måste tilldelas uttryckligen för att komma åt mallar och JumpStart-lösningar publicerade av SageMaker i AWS servicekatalog.
Du kan aktivera SageMaker Projects och JumpStart manuellt för varje användare genom att välja användarprofilen på SageMaker Domain-kontrollpanelen. Den här processen kan dock vara tidskrävande om en användare redan har några appar tilldelade. De Redigera knappen längst ner till höger är endast aktiverad när inga appar är tilldelade den användaren (se följande skärmdump). Du måste först radera de tilldelade apparna för att kunna redigera en användarprofil.
Orsaken till den inaktiverade JumpStart-funktionen är uppenbar under steg 2 av att redigera en användarprofil, där ett meddelande säger "Om det finns enskilda användare som använder anpassade körningsroller i din organisation måste du aktivera dem på användarprofilsidan."
I följande avsnitt går vi igenom två automatiserade lösningar som täcker användningsfall för både befintliga och nya domänanvändare.
Förutsättningar
De steg som beskrivs som en del av denna lösning har följande förutsättningar:
- Du har skapat en SageMaker-domän
- SageMaker Domain-autentiseringsmetoden är IAM
- Anpassade roller som tilldelats SageMaker Domain-användare har
AmazonSageMakerFullAccess
policy bifogas
För att JumpStart-lösningar för att aktiveras för användare måste AWS Service Catalog-portföljen Amazon SageMaker Solutions och ML Ops-produkter importeras till kontot, och denna portfölj måste vara associerad med rollen som kör SageMaker. Rollassociationen är nödvändig så att Studio kan anropa AWS Service Catalog API:er som är associerade med Solutions-portföljen.
Som en allmän bästa praxis rekommenderar vi att du testar processen i en icke-produktionsmiljö följt av valideringstester för att säkerställa att allt är konfigurerat och fungerar enligt dina förväntningar innan du gör ändringar i produktionsmiljön.
Användningsfall 1: Aktivera JumpStart för alla befintliga domänanvändare med en anpassad roll
Låt oss först överväga användningsfallet för befintliga användare och aktivera JumpStart för dessa användare på ett automatiserat sätt.
För att uppnå detta har vi skapat en AWS molnformation mall som du kan köra i samma region där SageMaker-domänen finns.
CloudFormation-stacken som finns i den bifogade jumpstart_solutions_resources.template.yaml
filen har följande komponenter:
- AmazonSageMakerServiceCatalogProductsLaunchRole och AmazonSageMakerServiceCatalogProductsUseRole – Skapar dessa två IAM-roller, om de inte redan finns.
- 1PProductUseRolePolicy – Skapar denna policy som används av
AmazonSageMakerServiceCatalogProductsUseRole
, om den här rollen inte redan finns. - setup_solutions_tests_portfolio - En AWS Lambda funktion som utför AWS Service Catalog-portföljimport och rollassociation genom att anropa Boto3 API:er. Denna funktion anropas en gång under CloudFormation-stackskapande.
- LambdaIAMRol roll – Används av funktionen
setup_solutions_tests_portfolio
för att anropa AWS Service Catalog och SageMaker API:er. - SetupPortfolioInvoker – Anropar funktionen
setup_solutions_tests_portfolio
.
Efter att Lambda-funktionen körs som en del av CloudFormation-distributionen, anpassar den alla befintliga SageMaker Domain-användare för att aktivera JumpStart och Projects för dem. För mer information om att skapa och övervaka en CloudFormation-stack, se Hur fungerar AWS CloudFormation.
Användningsfall 2: Aktivera JumpStart för en enskild domänanvändare med en anpassad roll
Många kunder föredrar att skala domänanvändarintroduktionsprocessen genom att automatisera den programmatiskt. I det här avsnittet tillhandahåller vi en Python-skriptreferens som du kan använda som en del av introduktionsprocessen för att aktivera JumpStart för en ny användare med en anpassad roll. Detta Python-skript utför den nödvändiga kopplingen för den givna användarrollen. Den automatiserade processen som anropar detta skript måste ha behörighet att använda AWS Service Catalog och SageMaker API:er. Se följande kod:
Du kan antingen anropa skriptet självständigt eller bädda in det som ett steg i en automatiserad process för att skapa en användarprofil för onboarding till Studio. För mer information om hur du använder Boto3, se Boto3 referens.
Städa upp
När alla anpassade roller har aktiverats för att använda JumpStart kan vi rensa upp de resurser som inte längre behövs. Du kan ta bort Lambdafunktionen setup_solutions_tests_portfolio
och IAM-rollen LambdaIAMRole
skapad av CloudFormation-mallen. De andra två IAM-rollerna, AmazonSageMakerServiceCatalogProductsLaunchRole
och AmazonSageMakerServiceCatalogProductsUseRole
, och den associerade policyn 1PProductUseRolePolicy (om den har skapats) får inte tas bort eftersom de måste finnas för att komma åt JumpStart.
Slutsats
I det här inlägget delade vi stegen för att aktivera JumpStart för en anpassad roll för befintliga användare såväl som nya användare programmatiskt. Som alltid, se till att validera stegen som nämns i den här lösningen i en icke-produktionsmiljö innan du distribuerar till produktion.
Testa det och låt oss veta om du har några frågor i kommentarsfältet!
Ytterligare resurser
För mer information, se följande:
- Amazon SageMaker-resurser
- Automatisera en centraliserad distribution av Amazon SageMaker Studio med AWS Service Catalog
- Konfigurera Amazon SageMaker Studio för team och grupper med fullständig resursisolering
Om författarna
Nikhil Jha är Senior Technical Account Manager på Amazon Web Services. Hans fokusområden inkluderar AI/ML och analys. På fritiden tycker han om att spela badminton med sin dotter och utforska naturen.
Evan Kravitz är en mjukvaruingenjör på Amazon Web Services och arbetar på SageMaker JumpStart. Han tycker om att laga mat och springa i New York City.
- "
- 100
- tillgång
- Konto
- adress
- Alla
- redan
- amason
- Amazon Web Services
- analytics
- API: er
- tillvägagångssätt
- appar
- delad
- Förening
- Autentisering
- Automatiserad
- AWS
- BÄST
- gränsen
- Ring
- fall
- Orsak
- Stad
- klassificering
- koda
- kommentarer
- kontroll
- skapar
- Skapa
- Kunder
- datum
- datavetenskap
- utplacera
- utplacering
- Detektering
- olika
- inte
- domän
- lätt
- möjliggör
- ingenjör
- Miljö
- allt
- utförande
- förväntningar
- Leverans
- Förnamn
- Fokus
- efter
- fungera
- Allmänt
- kommer
- hjälpa
- hjälper
- Hur ser din drömresa ut
- How To
- HTTPS
- Identitet
- bild
- innefattar
- individuellt
- informationen
- fråga
- IT
- språk
- lansera
- inlärning
- Maskinen
- maskininlärning
- Framställning
- chef
- manuellt
- ML
- modeller
- övervakning
- Natural
- New York
- new york city
- Onboarding
- drift
- beställa
- organisation
- Övriga
- utomhus
- Strategier
- policy
- Populära
- portfölj
- process
- Produktion
- produktivitet
- Produkter
- Profil
- projektet
- projekt
- ge
- snabbt
- rekommenderar
- Obligatorisk
- resurs
- Resurser
- Körning
- Skala
- Vetenskap
- service
- Tjänster
- inställning
- delas
- So
- Mjukvara
- Programvara ingenjör
- Lösningar
- LÖSA
- stapel
- igång
- Stater
- studio
- grupp
- Teknisk
- Testning
- tester
- Genom
- tid
- tidskrävande
- us
- användning
- användare
- webb
- webbservice
- inom
- arbetssätt