Configurez IAM les autorisations pour MLflow - Amazon SageMaker

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.

Configurez IAM les autorisations pour MLflow

Vous devez configurer les rôles IAM de service nécessaires pour commencer MLflow à utiliser Amazon SageMaker.

Si vous créez un nouveau SageMaker domaine Amazon pour accéder à vos tests dans Studio, vous pouvez configurer les IAM autorisations nécessaires lors de la configuration du domaine. Pour de plus amples informations, veuillez consulter Configurer MLflow IAM les autorisations lors de la création d'un nouveau domaine.

Pour configurer les autorisations à l'aide de la IAM console, consultezCréez les rôles IAM de service nécessaires dans la IAM console.

Vous devez configurer les contrôles d'autorisation pour les sagemaker-mlflow actions. Vous pouvez éventuellement définir des contrôles d'autorisation plus précis pour régir les autorisations spécifiques à une actionMLflow. Pour de plus amples informations, veuillez consulter Créez des contrôles d'autorisation spécifiques aux actions.

Configurer MLflow IAM les autorisations lors de la création d'un nouveau domaine

Lorsque vous configurez un nouveau SageMaker domaine Amazon pour votre organisation, vous pouvez configurer IAM les autorisations pour votre rôle de service de domaine via les paramètres Utilisateurs et Activités ML.

Pour configurer IAM les autorisations d'utilisation MLflow avec SageMaker lors de la configuration d'un nouveau domaine
  1. Configurez un nouveau domaine à l'aide de la SageMaker console. Sur la page Configurer le SageMaker domaine, choisissez Configurer pour les organisations. Pour de plus amples informations, veuillez consulter Configuration personnalisée à l'aide de la console.

  2. Lorsque vous configurez les utilisateurs et les activités de machine learning, choisissez parmi les activités de machine learning suivantes pour MLflow : utilisation MLflow, gestion MLflow des serveurs de suivi 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.

  3. Terminez la configuration et la création de votre nouveau domaine.

Les activités MLflow ML suivantes sont disponibles dans Amazon SageMaker Role Manager :

  • Utilisation MLflow : Cette activité ML accorde au rôle de service de domaine l'autorisation d'appeler MLflow REST APIs afin de gérer les expériences, les essais et les modèles dansMLflow.

  • Gérer les serveurs MLflow de suivi : cette activité ML accorde au rôle de service de domaine l'autorisation de créer, de mettre à jour, de démarrer, d'arrêter et de supprimer des 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 au SageMaker Model Registry. Cela vous permet d'utiliser le rôle de service de domaine comme rôle de service de serveur de suivi.

Pour plus d'informations sur les activités de machine learning dans Role Manager, consultezRéférence d'activité de ML.

Créez les rôles IAM de service nécessaires dans la IAM console

Si vous n'avez pas créé ou mis à jour votre rôle de service de domaine, vous devez créer les rôles de service suivants dans la IAM console afin de créer et d'utiliser un serveur MLflow de suivi :

  • Rôle de IAM service de serveur de suivi que le serveur de suivi peut utiliser pour accéder aux SageMaker ressources

  • Un rôle SageMaker IAM de service qui SageMaker peut être utilisé pour créer et gérer MLflow des ressources

IAMpolitiques relatives au rôle de IAM service du serveur de suivi

Le rôle de IAM service de 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 IAM service de serveur de suivi, appliquez la politique de IAM confiance suivante :

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "sagemaker.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }

Dans la IAM console, ajoutez la politique d'autorisation suivante à votre rôle de service de serveur de suivi :

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:Get*", "s3:Put*", "s3:List*", "sagemaker:AddTags", "sagemaker:CreateModelPackageGroup", "sagemaker:CreateModelPackage", "sagemaker:UpdateModelPackage", "sagemaker:DescribeModelPackageGroup" ], "Resource": "*" } ] }

IAMpolitique relative au rôle SageMaker IAM de service

Le rôle SageMaker de service est utilisé par le client qui accède au serveur MLflow de suivi et a besoin d'autorisations pour appeler MLflow RESTAPIs. Le rôle SageMaker de service a également besoin d' SageMaker APIautorisations pour créer, mettre à jour, démarrer, arrêter et supprimer des serveurs de suivi.

Vous pouvez créer un nouveau rôle ou mettre à jour un rôle existant. Le rôle SageMaker de service nécessite la politique suivante :

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "sagemaker-mlflow:*", "sagemaker:CreateMlflowTrackingServer", "sagemaker:UpdateMlflowTrackingServer", "sagemaker:DeleteMlflowTrackingServer", "sagemaker:StartMlflowTrackingServer", "sagemaker:StopMlflowTrackingServer", "sagemaker:CreatePresignedMlflowTrackingServerUrl" ], "Resource": "*" } ] }

Créez des contrôles d'autorisation spécifiques aux actions

Vous devez configurer des contrôles d'autorisation poursagemaker-mlflow, et vous pouvez éventuellement configurer des contrôles d'autorisation spécifiques à une action pour régir les MLflow autorisations plus détaillées dont disposent vos utilisateurs sur un MLflow serveur de suivi.

Note

Les étapes suivantes supposent que vous disposez déjà ARN d'un serveur de MLflow suivi. Pour savoir comment créer un serveur de suivi, consultez Création d'un serveur de suivi à l'aide de Studio ouCré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 des IAM autorisations pour toutes les SageMaker MLflow actions disponibles. Vous pouvez éventuellement limiter les autorisations d'un utilisateur en choisissant les actions spécifiques que vous souhaitez que cet utilisateur effectue. Pour obtenir la liste des actions disponibles, consultez IAMactions soutenues 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 mlflow-policy.json fichier pour créer une IAM politique à l'aide du AWS CLI.

aws iam create-policy \ --policy-name MLflowPolicy \ --policy-document file://mlflow-policy.json

Récupérez votre identifiant de compte et associez la politique à votre IAM rôle.

# 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

IAMactions soutenues pour MLflow

Les SageMaker MLflow actions suivantes sont prises en charge pour le contrôle d'accès aux autorisations :

  • SageMaker-MLFlow : Accès à l'interface utilisateur

  • 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 : GetDownload URIForModelVersionArtifacts

  • SageMaker-mlflow : TransitionModelVersionStage

  • SageMaker-mlflow : SearchRegisteredModels

  • SageMaker-mlflow : SetRegisteredModelTag

  • SageMaker-mlflow : DeleteRegisteredModelTag

  • SageMaker-mlflow : DeleteModelVersionTag

  • SageMaker-mlflow : DeleteRegisteredModelAlias

  • SageMaker-mlflow : SetRegisteredModelAlias

  • SageMaker-mlflow : GetModelVersionByAlias