Amazon SageMakerStudio est un environnement de développement intégré (IDE) basé sur le Web pour l'apprentissage automatique (ML) qui vous permet de créer, d'entraîner, de déboguer, de déployer et de surveiller vos modèles ML. Pour provisionner Studio dans votre compte AWS et votre région, vous devez d'abord créer un Amazon Sage Maker domaine—une construction qui encapsule votre environnement ML. Plus concrètement, un domaine SageMaker consiste en un domaine associé Système de fichiers Amazon Elastic (Amazon EFS), une liste d'utilisateurs autorisés et une variété de sécurité, d'application, de politique et Cloud privé virtuel Amazon (Amazon VPC).
Lors de la création de votre domaine SageMaker, vous pouvez choisir d'utiliser soit Centre d'identité AWS IAM (successeur d'AWS Single Sign-On) ou Gestion des identités et des accès AWS (IAM) pour les méthodes d'authentification des utilisateurs. Les deux méthodes d'authentification ont leur propre ensemble de cas d'utilisation ; dans cet article, nous nous concentrons sur les domaines SageMaker avec IAM Identity Center, ou le mode d'authentification unique (SSO), comme méthode d'authentification.
Avec le mode SSO, vous configurez un utilisateur et un groupe SSO dans IAM Identity Center, puis accordez l'accès au groupe SSO ou à l'utilisateur depuis la console Studio. Actuellement, tous les utilisateurs SSO d'un domaine héritent du rôle d'exécution du domaine. Cela peut ne pas fonctionner pour toutes les organisations. Par exemple, les administrateurs peuvent souhaiter configurer des autorisations IAM pour un utilisateur Studio SSO en fonction de son appartenance à un groupe Active Directory (AD). De plus, étant donné que les administrateurs sont tenus d'accorder manuellement aux utilisateurs SSO l'accès à Studio, le processus peut ne pas évoluer lors de l'intégration de centaines d'utilisateurs.
Dans cet article, nous fournissons des conseils prescriptifs pour la solution permettant de provisionner les utilisateurs SSO dans Studio avec des autorisations de moindre privilège basées sur l'appartenance au groupe AD. Ces conseils vous permettent d'évoluer rapidement pour intégrer des centaines d'utilisateurs à Studio et d'atteindre votre niveau de sécurité et de conformité.
Vue d'ensemble de la solution
Le diagramme suivant illustre l'architecture de la solution.
Le workflow pour provisionner les utilisateurs AD dans Studio comprend les étapes suivantes :
- Mettre en place un Domaine Studio en mode SSO.
- Pour chaque groupe AD :
- Configurez votre rôle d'exécution Studio avec des politiques IAM précises appropriées
- Enregistrer une entrée dans le mappage de rôle de groupe AD Amazon DynamoDB tableau.
Vous pouvez également adopter une norme de dénomination pour les ARN de rôle IAM basée sur le nom du groupe AD et dériver l'ARN de rôle IAM sans avoir besoin de stocker le mappage dans une base de données externe.
- Synchronisez vos utilisateurs et groupes AD et vos adhésions avec AWS Identity Center :
- Si vous utilisez un fournisseur d'identité (IdP) qui prend en charge SCIM, utilisez l'intégration de l'API SCIM avec IAM Identity Center.
- Si vous utilisez AD autogéré, vous pouvez utiliser AD Connector.
- Lorsque le groupe AD est créé dans votre AD d'entreprise, procédez comme suit :
- Créez un groupe SSO correspondant dans IAM Identity Center.
- Associez le groupe SSO au domaine Studio à l'aide de la console SageMaker.
- Lorsqu'un utilisateur AD est créé dans votre AD d'entreprise, un utilisateur SSO correspondant est créé dans IAM Identity Center.
- Lorsque l'utilisateur AD est affecté à un groupe AD, une API IAM Identity Center (Créer un adhésion à un groupe) est appelée et l'appartenance au groupe SSO est créée.
- L'événement précédent est connecté AWS CloudTrail avec le nom
AddMemberToGroup
. - An Amazon Event Bridge la règle écoute les événements CloudTrail et correspond à la
AddMemberToGroup
modèle de règle. - La règle EventBridge déclenche la cible AWS Lambda la fonction.
- Cette fonction Lambda rappellera les API IAM Identity Center, obtiendra les informations sur l'utilisateur et le groupe SSO, et effectuera les étapes suivantes pour créer le profil utilisateur Studio (Créer un profil utilisateur) pour l'utilisateur SSO :
- Recherchez la table DynamoDB pour récupérer le rôle IAM correspondant au groupe AD.
- Créez un profil utilisateur avec l'utilisateur SSO et le rôle IAM obtenu à partir de la table de recherche.
- L'utilisateur SSO est autorisé à accéder à Studio.
- L'utilisateur SSO est redirigé vers l'IDE Studio via l'URL du domaine Studio.
Notez qu'au moment de la rédaction, l'étape 4b (associer le groupe SSO au domaine Studio) doit être effectuée manuellement par un administrateur à l'aide de la console SageMaker au niveau du domaine SageMaker.
Configurer une fonction Lambda pour créer les profils utilisateur
La solution utilise une fonction Lambda pour créer les profils utilisateur Studio. Nous fournissons l'exemple de fonction Lambda suivant que vous pouvez copier et modifier pour répondre à vos besoins d'automatisation de la création du profil utilisateur Studio. Cette fonction effectue les actions suivantes :
- Recevoir le CloudTrail
AddMemberToGroup
événement d'EventBridge. - Récupérer l'atelier
DOMAIN_ID
à partir de la variable d'environnement (vous pouvez également coder en dur l'ID de domaine ou utiliser également une table DynamoDB si vous avez plusieurs domaines). - Lire à partir d'une table de balisage factice pour faire correspondre les utilisateurs AD aux rôles d'exécution. Vous pouvez modifier cela pour extraire de la table DynamoDB si vous utilisez une approche pilotée par table. Si vous utilisez DynamoDB, le rôle d'exécution de votre fonction Lambda a également besoin d'autorisations pour lire à partir de la table.
- Récupérez les informations d'appartenance de l'utilisateur SSO et du groupe AD à partir d'IAM Identity Center, en fonction des données d'événement CloudTrail.
- Créez un profil utilisateur Studio pour l'utilisateur SSO, avec les détails SSO et le rôle d'exécution correspondant.
Notez que par défaut, le rôle d'exécution Lambda n'a pas accès pour créer des profils utilisateur ou répertorier les utilisateurs SSO. Après avoir créé la fonction Lambda, accédez au rôle d'exécution de la fonction sur IAM et attachez la stratégie suivante en tant que stratégie en ligne après avoir réduit la portée selon les besoins en fonction des exigences de votre organisation.
Configurer la règle EventBridge pour l'événement CloudTrail
EventBridge est un service de bus d'événements sans serveur que vous pouvez utiliser pour connecter vos applications à des données provenant de diverses sources. Dans cette solution, nous créons un déclencheur basé sur des règles : EventBridge écoute les événements et les met en correspondance avec le modèle fourni et déclenche une fonction Lambda si la correspondance de modèle est réussie. Comme expliqué dans l'aperçu de la solution, nous écoutons les AddMemberToGroup
événement. Pour le configurer, procédez comme suit :
- Sur la console EventBridge, choisissez Règles dans le volet de navigation.
- Selectionnez Créer une règle.
- Fournissez un nom de règle, par exemple,
AddUserToADGroup
. - Éventuellement, entrez une description.
- Sélectionnez défaut pour le bus de l'événement.
- Sous Type de règle, choisissez Règle avec un modèle d'événement, Puis choisissez Suivant.
- Sur le Créer un modèle d'événement page, choisissez Source de l'événement as Événements AWS ou événements partenaires EventBridge.
- Sous Modèle d'événement, choisir la Modèles personnalisés (éditeur JSON) tab et entrez le modèle suivant :
- Selectionnez Suivant.
- Sur le Sélectionnez la ou les cibles page, choisissez le service AWS pour le type de cible, la fonction Lambda comme cible et la fonction que vous avez créée précédemment, puis choisissez Suivant.
- Selectionnez Suivant sur le Configurer les balises page, puis choisissez Créer une règle sur le Examiner et créer .
Après avoir défini la fonction Lambda et la règle EventBridge, vous pouvez tester cette solution. Pour ce faire, ouvrez votre IdP et ajoutez un utilisateur à l'un des groupes AD avec le rôle d'exécution Studio mappé. Une fois que vous avez ajouté l'utilisateur, vous pouvez vérifier les journaux de la fonction Lambda pour inspecter l'événement et également voir l'utilisateur Studio provisionné automatiquement. De plus, vous pouvez utiliser le Décrire le profil utilisateur Appel d'API pour vérifier que l'utilisateur est créé avec les autorisations appropriées.
Prise en charge de plusieurs comptes Studio
Pour prendre en charge plusieurs comptes Studio avec l'architecture précédente, nous recommandons les modifications suivantes :
- Configurez un groupe AD associé à chaque niveau de compte Studio.
- Configurez un rôle IAM au niveau du groupe dans chaque compte Studio.
- Configurez ou dérivez le groupe vers le mappage de rôles IAM.
- Configurer une fonction Lambda à exécuter hypothèse de rôle entre comptes, en fonction de l'ARN de mappage de rôle IAM et du profil utilisateur créé.
Déprovisionner des utilisateurs
Lorsqu'un utilisateur est supprimé de son groupe AD, vous devez également supprimer son accès au domaine Studio. Avec SSO, lorsqu'un utilisateur est supprimé, l'utilisateur est automatiquement désactivé dans IAM Identity Center si la synchronisation AD vers IAM Identity Center est en place, et son accès à l'application Studio est immédiatement révoqué.
Cependant, le profil utilisateur sur Studio persiste toujours. Vous pouvez ajouter un workflow similaire avec CloudTrail et une fonction Lambda pour supprimer le profil utilisateur de Studio. Le déclencheur EventBridge devrait maintenant écouter le Supprimer l'appartenance au groupe événement. Dans la fonction Lambda, procédez comme suit :
- Obtenez le nom du profil utilisateur à partir de l'ID d'utilisateur et de groupe.
- Répertorier toutes les applications en cours d'exécution pour le profil utilisateur à l'aide de Liste des applications Appel API, filtrage par le
UserProfileNameEquals
paramètre. Assurez-vous de vérifier la réponse paginée pour répertorier toutes les applications de l'utilisateur. - Supprimez toutes les applications en cours d'exécution pour l'utilisateur et attendez que toutes les applications soient supprimées. Vous pouvez utiliser le DécrireApp API pour afficher l'état de l'application.
- Lorsque toutes les applications sont dans un Supprimé état (ou Échoué), supprimez le profil utilisateur.
Avec cette solution en place, les administrateurs de la plate-forme ML peuvent conserver les appartenances aux groupes dans un emplacement central et automatiser la gestion des profils utilisateur Studio via les fonctions EventBridge et Lambda.
Le code suivant montre un exemple d'événement CloudTrail :
Le code suivant montre un exemple de demande d'API de profil utilisateur Studio :
Conclusion
Dans cet article, nous avons expliqué comment les administrateurs peuvent adapter l'intégration de Studio à des centaines d'utilisateurs en fonction de leur appartenance au groupe AD. Nous avons démontré une architecture de solution de bout en bout que les organisations peuvent adopter pour automatiser et faire évoluer leur processus d'intégration afin de répondre à leurs besoins d'agilité, de sécurité et de conformité. Si vous recherchez une solution évolutive pour automatiser l'intégration de vos utilisateurs, essayez cette solution et laissez-nous vos commentaires ci-dessous ! Pour plus d'informations sur l'intégration à Studio, consultez Intégration au domaine Amazon SageMaker.
À propos des auteurs
Bélier Vittal est architecte de solutions spécialisées en ML chez AWS. Il a plus de 20 ans d'expérience dans l'architecture et la création d'applications distribuées, hybrides et cloud. Il est passionné par la création de solutions d'IA/ML et de Big Data sécurisées et évolutives pour aider les entreprises clientes dans leur parcours d'adoption et d'optimisation du cloud afin d'améliorer leurs résultats commerciaux. Dans ses temps libres, il fait du vélo et se promène avec son petit mouton de 2 ans !
Durga Sury est architecte de solutions ML au sein de l'équipe Amazon SageMaker Service SA. Elle est passionnée par l'idée de rendre l'apprentissage automatique accessible à tous. Au cours de ses 4 années chez AWS, elle a contribué à la mise en place de plateformes AI/ML pour les entreprises clientes. Lorsqu'elle ne travaille pas, elle adore les balades à moto, les romans policiers et les randonnées avec son husky de 5 ans.
- Contenu propulsé par le référencement et distribution de relations publiques. Soyez amplifié aujourd'hui.
- Financement EVM. Interface unifiée pour la finance décentralisée. Accéder ici.
- Groupe de médias quantiques. IR/PR amplifié. Accéder ici.
- PlatoAiStream. Intelligence des données Web3. Connaissance Amplifiée. Accéder ici.
- La source: https://aws.amazon.com/blogs/machine-learning/onboard-users-to-amazon-sagemaker-studio-with-active-directory-group-specific-iam-roles/
- :possède
- :est
- :ne pas
- $UP
- 1
- 11
- 116
- 20
- 20 ans
- 200
- 22
- 24
- 9
- a
- A Propos
- Accepter
- accès
- accessible
- Compte
- hybrides
- atteindre
- Action
- actes
- infection
- active Directory
- Ad
- ajouter
- ajoutée
- En outre
- admin
- administrateurs
- adopter
- Adoption
- Après
- à opposer à
- AI / ML
- Tous
- permettre
- aussi
- Amazon
- Amazon Sage Maker
- Amazon SageMakerStudio
- Amazon Web Services
- an
- et les
- api
- Apis
- Application
- applications
- une approche
- approprié
- applications
- architecture
- SONT
- AS
- attribué
- Associé(e)
- associé
- hypothèse
- At
- joindre
- Authentification
- autorisé
- automatiser
- automatiquement
- automatiser
- AWS
- RETOUR
- basé
- BE
- car
- était
- Big
- Big Data
- corps
- tous les deux
- construire
- Développement
- bus
- la performance des entreprises
- by
- Appelez-nous
- CAN
- cas
- Canaux centraux
- central
- Change
- Modifications
- caractère
- vérifier
- Selectionnez
- client
- le cloud
- adoption du cloud
- Applications en nuage
- code
- COM
- complet
- conformité
- NOUS CONTACTER
- consiste
- Console
- construire
- contexte
- Entreprises
- Correspondant
- engendrent
- créée
- La création
- création
- Lecture
- Clients
- données
- Base de données
- Réglage par défaut
- démontré
- déployer
- la description
- détail
- détails
- Développement
- handicapé
- discuté
- distribué
- do
- Ne fait pas
- faire
- domaine
- domaines
- Ne pas
- down
- chacun
- Plus tôt
- éditeur
- effet
- non plus
- d'autre
- permet
- end-to-end
- Entrer
- Entreprise
- clients entreprise
- entrée
- Environment
- Ether (ETH)
- événement
- événements
- tout le monde
- exemple
- exécution
- d'experience
- expliqué
- externe
- non
- Réactions
- Déposez votre dernière attestation
- filtration
- Prénom
- Focus
- Abonnement
- Pour
- De
- fonction
- fonctions
- En outre
- obtenez
- subvention
- accordée
- Réservation de groupe
- Groupes
- l'orientation
- manipuler
- Vous avez
- he
- vous aider
- a aidé
- ici
- randonnée
- sa
- Comment
- HTML
- http
- HTTPS
- Des centaines
- Hybride
- IAM
- ID
- Identite
- if
- illustre
- immédiatement
- importer
- améliorer
- in
- inclut
- d'information
- instance
- des services
- l'intégration
- invoqué
- IT
- chemin
- json
- apprentissage
- au
- Laisser
- Allons-y
- Niveau
- Liste
- emplacement
- Connecté
- logique
- recherchez-
- rechercher
- aime
- click
- machine learning
- maintenir
- a prendre une
- Fabrication
- gestion
- manuellement
- cartographie
- Match
- assorti
- Mai..
- Découvrez
- membre
- Adhésion
- Adhésions
- méthode
- méthodes
- ML
- Mode
- numériques jumeaux (digital twin models)
- modifier
- Surveiller
- PLUS
- moto
- plusieurs
- Mystère
- prénom
- nommage
- Navigation
- Besoin
- nécessaire
- besoin
- Besoins
- rien
- maintenant
- obtenu
- of
- OKTA
- on
- Débuter
- Onboarding
- une fois
- ONE
- ouvert
- à mettre en œuvre pour gérer une entreprise rentable. Ce guide est basé sur trois décennies d'expérience
- or
- organisation
- organisations
- OS
- ande
- les résultats
- plus de
- vue d'ensemble
- propre
- page
- pain
- paramètre
- les partenaires
- passionné
- Patron de Couture
- motifs
- effectuer
- effectué
- effectue
- autorisations
- persiste
- Place
- plateforme
- Plateformes
- Platon
- Intelligence des données Platon
- PlatonDonnées
- politique
- Post
- Privé
- privilège
- processus
- Profil
- Profils
- fournir
- à condition de
- de voiture.
- disposition
- vite.
- Lire
- recommander
- région
- supprimez
- Supprimé
- nécessaire
- conditions
- Exigences
- ressource
- réponse
- retourner
- Rôle
- rôle
- Règle
- pour le running
- s
- SA
- sagemaker
- évolutive
- Escaliers intérieurs
- Scoping
- sécurisé
- sécurité
- sur le lien
- Sans serveur
- service
- Services
- set
- elle
- devrait
- Spectacles
- similaires
- depuis
- unique
- So
- sur mesure
- Solutions
- Identifier
- Sources
- spécialiste
- Standard
- Région
- Déclaration
- Statut
- étapes
- Étapes
- Encore
- Boutique
- studio
- réussi
- Support
- Les soutiens
- table
- Target
- équipe
- tester
- qui
- Le
- leur
- puis
- this
- Avec
- fiable
- à
- Train
- déclencher
- oui
- Essai
- type
- inconnu
- jusqu'à
- URL
- utilisé
- Utilisateur
- utilisateurs
- Usages
- en utilisant
- Plus-value
- variété
- vérifier
- version
- via
- Voir
- Salle de conférence virtuelle
- le volume
- attendez
- souhaitez
- we
- web
- services Web
- Basé sur le Web
- WELL
- quand
- sera
- comprenant
- sans
- activités principales
- workflow
- de travail
- écriture
- années
- you
- Votre
- zéphyrnet