Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Configuration des autorisations IAM pour MLflow
Vous devez configurer les rôles de service IAM nécessaires pour démarrer avec MLflow dans Amazon SageMaker AI.
Si vous créez un nouveau domaine Amazon SageMaker AI pour accéder à vos expériences dans Studio, vous pouvez configurer les autorisations IAM nécessaires lors de la configuration du domaine. Pour de plus amples informations, veuillez consulter Configuration des autorisations IAM MLflow lors de la création d’un domaine.
Pour configurer les autorisations à l’aide de la console IAM, consultez Création des rôles de service IAM nécessaires dans la console IAM.
Vous devez configurer les contrôles d’autorisation pour les actions sagemaker-mlflow. Vous pouvez éventuellement définir des contrôles d’autorisation plus précis pour régir les autorisations MLflow spécifiques à une action. Pour de plus amples informations, veuillez consulter Création de contrôles d’autorisation spécifiques aux actions.
Configuration des autorisations IAM MLflow lors de la création d’un domaine
Lorsque vous configurez un nouveau domaine Amazon SageMaker AI pour votre organisation, vous pouvez configurer les autorisations IAM pour votre rôle de service de domaine via les paramètres Utilisateurs et Activités ML.
Pour configurer les autorisations IAM pour utiliser MLflow avec SageMaker AI lors de la configuration d'un nouveau domaine
-
Configurez un nouveau domaine à l'aide de la console SageMaker AI. Sur la page Configurer le domaine SageMaker AI, choisissez Configurer pour les organisations. Pour de plus amples informations, veuillez consulter Configuration personnalisée à l’aide de la console.
-
Lorsque vous configurez les utilisateurs et les activités ML, choisissez parmi les activités ML suivantes pour MLflow : Utiliser MLflow, gérer les serveurs de suivi MLflow et Accès requis aux AWS services pour MLflow. Pour plus d’informations sur ces activités, consultez les explications qui suivent cette procédure.
-
Terminez la configuration et la création de votre domaine.
Les activités MLflow ML suivantes sont disponibles dans Amazon SageMaker Role Manager :
Utiliser MLflow : cette activité de ML accorde au rôle de service du domaine l’autorisation d’appeler les API REST MLflow afin de gérer les expériences, les exécutions et les modèles dans MLflow.
Gérer les serveurs de suivi MLflow : cette activité de ML accorde au rôle de service du domaine l’autorisation de créer, de mettre à jour, de démarrer, d’arrêter et de supprimer les serveurs de suivi.
Accès requis aux AWS services pour MLflow : cette activité ML fournit les autorisations de rôle de service de domaine nécessaires pour accéder à Amazon S3 et à l' SageMaker AI Model Registry. Cela vous permet d’utiliser le rôle de service du domaine comme rôle de service du serveur de suivi.
Pour plus d’informations sur les activités de ML dans le gestionnaire de rôles, consultez Référence d’activité de ML.
Création des rôles de service IAM nécessaires dans la console IAM
Si vous n’avez pas créé ou mis à jour le rôle de service du domaine, vous devez créer les rôles de service suivants dans la console IAM pour pouvoir créer et d’utiliser un serveur de suivi MLflow :
Un rôle de service IAM de serveur de suivi que le serveur de suivi peut utiliser pour accéder aux ressources d' SageMaker IA
Un rôle de service SageMaker AI IAM que l' SageMaker IA peut utiliser pour créer et gérer des ressources MLflow
Des politiques IAM pour le rôle de service IAM du serveur de suivi
Le rôle de service IAM du serveur de suivi est utilisé par le serveur de suivi pour accéder aux ressources dont il a besoin, telles qu'Amazon S3 et le SageMaker Model Registry.
Lorsque vous créez le rôle de service IAM de serveur de suivi, appliquez la politique de confiance IAM suivante :
Dans la console IAM, ajoutez la politique d’autorisations suivante à votre rôle de service de serveur de suivi :
Politique IAM pour le rôle de SageMaker service AI IAM
Le rôle de service SageMaker AI est utilisé par le client qui accède au serveur de suivi MLflow et a besoin d'autorisations pour appeler les API REST MLflow. Le rôle de service SageMaker AI nécessite également des autorisations d' SageMaker API pour créer, afficher, mettre à jour, démarrer, arrêter et supprimer des serveurs de suivi.
Vous pouvez créer un rôle ou mettre à jour un rôle existant. Le rôle de service d' SageMaker IA nécessite la politique suivante :
Création de contrôles d’autorisation spécifiques aux actions
Vous devez configurer des contrôles d’autorisation pour sagemaker-mlflow, et vous pouvez éventuellement configurer des contrôles d’autorisation spécifiques à une action pour régir les autorisations MLflow plus détaillées dont disposent vos utilisateurs sur un serveur de suivi MLflow.
Note
Les étapes suivantes supposent que vous disposez déjà d’un ARN pour un serveur de suivi MLflow. Pour découvrir comment créer un serveur de suivi, consultez Création d’un serveur de suivi à l’aide de Studio ou Créez un serveur de suivi à l'aide du AWS CLI.
La commande suivante crée un fichier appelé mlflow-policy.json qui fournit à votre serveur de suivi les autorisations IAM pour toutes les actions SageMaker AI MLflow disponibles. Vous pouvez éventuellement limiter les autorisations d’un utilisateur en choisissant les actions spécifiques que vous souhaitez qu’il effectue. Pour obtenir la liste des actions disponibles, consultez Actions IAM prises en charge pour MLflow.
# Replace "Resource":"*" with "Resource":"TrackingServerArn" # Replace "sagemaker-mlflow:*" with specific actions printf '{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "sagemaker-mlflow:*", "Resource": "*" } ] }' > mlflow-policy.json
Utilisez le fichier mlflow-policy.json pour créer une politique IAM à l’aide de l’ AWS CLI.
aws iam create-policy \ --policy-nameMLflowPolicy\ --policy-documentfile://mlflow-policy.json
Extrayez votre ID de compte et attachez la politique à votre rôle IAM.
# Get your account ID aws sts get-caller-identity # Attach the IAM policy using your exported role and account ID aws iam attach-role-policy \ --role-name$role_name\ --policy-arn arn:aws:iam::123456789012:policy/MLflowPolicy
Actions IAM prises en charge pour MLflow
Les actions SageMaker AI MLflow suivantes sont prises en charge pour le contrôle d'accès aux autorisations :
-
sagemaker-mlflow:AccessUI
-
SageMaker-mlflow : CreateExperiment
-
SageMaker-mlflow : SearchExperiments
-
SageMaker-mlflow : GetExperiment
-
SageMaker-mlflow : GetExperimentByName
-
SageMaker-mlflow : DeleteExperiment
-
SageMaker-mlflow : RestoreExperiment
-
SageMaker-mlflow : UpdateExperiment
-
SageMaker-mlflow : CreateRun
-
SageMaker-mlflow : DeleteRun
-
SageMaker-mlflow : RestoreRun
-
SageMaker-mlflow : GetRun
-
SageMaker-mlflow : LogMetric
-
SageMaker-mlflow : LogBatch
-
SageMaker-mlflow : LogModel
-
SageMaker-mlflow : LogInputs
-
SageMaker-mlflow : SetExperimentTag
-
SageMaker-mlflow : SetTag
-
SageMaker-mlflow : DeleteTag
-
SageMaker-mlflow : LogParam
-
SageMaker-mlflow : GetMetricHistory
-
SageMaker-mlflow : SearchRuns
-
SageMaker-mlflow : ListArtifacts
-
SageMaker-mlflow : UpdateRun
-
SageMaker-mlflow : CreateRegisteredModel
-
SageMaker-mlflow : GetRegisteredModel
-
SageMaker-mlflow : RenameRegisteredModel
-
SageMaker-mlflow : UpdateRegisteredModel
-
SageMaker-mlflow : DeleteRegisteredModel
-
SageMaker-mlflow : GetLatestModelVersions
-
SageMaker-mlflow : CreateModelVersion
-
SageMaker-mlflow : GetModelVersion
-
SageMaker-mlflow : UpdateModelVersion
-
SageMaker-mlflow : DeleteModelVersion
-
SageMaker-mlflow : SearchModelVersions
-
SageMaker-mlflow : GetDownloadURIForModelVersionArtifacts
-
SageMaker-mlflow : TransitionModelVersionStage
-
SageMaker-mlflow : SearchRegisteredModels
-
SageMaker-mlflow : SetRegisteredModelTag
-
SageMaker-mlflow : DeleteRegisteredModelTag
-
SageMaker-mlflow : DeleteModelVersionTag
-
SageMaker-mlflow : DeleteRegisteredModelAlias
-
SageMaker-mlflow : SetRegisteredModelAlias
-
SageMaker-mlflow : GetModelVersionByAlias
-
SageMaker-mlflow : FinalizeLoggedModel
-
SageMaker-mlflow : GetLoggedModel
-
SageMaker-mlflow : DeleteLoggedModel
-
SageMaker-mlflow : SearchLoggedModels
-
SageMaker-mlflow : SetLoggedModelTags
-
SageMaker-mlflow : DeleteLoggedModelTag
-
SageMaker-mlflow : ListLoggedModelArtifacts
-
SageMaker-mlflow : LogLoggedModelParams
-
SageMaker-mlflow : LogOutputs