Aller au contenu principal

Configurer l’authentification AWS pour le déploiement SageMaker

important

Cette documentation a été retirée et pourrait ne pas être mise à jour. Les produits, services ou technologies mentionnés dans ce contenu ne sont plus pris en charge. Pour consulter la documentation administrative actuelle, consultez Gérez votre compte Databricks.

Cet article décrit comment configurer les profils d'instance afin de vous permettre de déployer des modèles MLflow sur AWS SageMaker. Il est possible d'utiliser des clés d'accès pour un utilisateur AWS avec des autorisations similaires à celles du rôle IAM spécifié ici, mais Databricks recommande d'utiliser des profils d'instance pour autoriser un cluster à se déployer sur SageMaker.

Étape 1 : Créez un rôle IAM AWS et attachez la politique de permissions SageMaker

  1. Dans la console AWS, accédez au service IAM .

  2. Cliquez sur l’onglet tab dans la barre latérale.

  3. Cliquez sur Créer un rôle .

    1. Sous Sélectionner le type d'entité de confiance , sélectionnez service AWS .

    2. Sous Choisissez le service qui utilisera ce rôle , cliquez sur le service EC2 .

      Sélectionner un service

    3. Cliquez sur **Suivant : autorisations**.

  4. Dans l'écran Attacher des stratégies d'autorisations , sélectionnez AmazonSageMakerFullAccess .

    Associer l’autorisation SageMaker

  5. Cliquez sur Suivant : Examiner .

  6. Dans le champ Nom du rôle , saisissez un nom de rôle.

  7. Cliquez sur Créer un rôle .

  8. Dans la liste Rôles, cliquez sur le nom du rôle.

    Résumé du rôle

Notez votre ARN du rôle, qui est du format arn:aws:iam::<account-id>:role/<role-name>.

Étape 2 : Ajouter une politique inline pour l'accès aux Ressources de déploiement SageMaker

Ajoutez une politique au rôle.

  1. Cliquez sur Politique en ligne.

  2. Collez la définition JSON suivante :

    JSON
    {
    "Version": "2012-10-17",
    "Statement": [
    {
    "Action": ["s3:PutObjectAcl", "s3:PutObjectTagging"],
    "Resource": ["arn:aws:s3:::mlflow-sagemaker-*-<account-id>", "arn:aws:s3:::mlflow-sagemaker-*-<account-id>/*"],
    "Effect": "Allow"
    },
    {
    "Action": ["iam:GetRole"],
    "Resource": ["arn:aws:iam::<account-id>:role/<role-name>"],
    "Effect": "Allow"
    },
    {
    "Action": ["ecr:DescribeGitRepositories"],
    "Resource": ["arn:aws:ecr:*:<account-id>:repository/*"],
    "Effect": "Allow"
    }
    ]
    }

Ces autorisations sont requises pour permettre au cluster Databricks de :

  1. Obtenir l'ARN canonique du nouveau rôle.
  2. Upload des objets à portée de permission vers S3 pour une utilisation par les serveurs d'Endpoint SageMaker.

Les autorisations du rôle se présenteront comme suit :

Autorisations de rôle

Étape 3 : Mettre à jour la politique de confiance du rôle

Accorder l'accès iam:AssumeRole à sagemaker.amazonaws.com.

  1. Accédez à Role Summary > Trust relationships > Edit trust relationship .

  2. Collez et enregistrez le JSON suivant :

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

Les relations de confiance de votre rôle devraient ressembler à ce qui suit :

Relations de confiance

Étape 4 : Autorisez le rôle AWS de votre Workspace Databricks à transmettre le rôle

  1. Accédez à votre rôle AWS du workspace Databricks.

  2. Cliquez sur Politique en ligne.

  3. Collez et enregistrez la définition JSON suivante :

    JSON
    {
    "Version": "2012-10-17",
    "Statement": [
    {
    "Action": ["iam:PassRole"],
    "Resource": ["arn:aws:iam::<account-id>:role/<role-name>"],
    "Effect": "Allow"
    }
    ]
    }

account-id est l'ID du compte exécutant le service AWS SageMaker et role-name est le rôle que vous avez défini à l'étape 1.

Étape 5 : Créer un profil d'instance de cluster Databricks

  1. Dans vos paramètres d'administration du Workspace Databricks, accédez à l'onglet **Security tab**, puis cliquez sur **Gérer** à côté de **Profils d'instance**.

  2. Cliquez sur Ajouter un profil d'instance .

  3. Collez l'ARN du profil d'instance associé au rôle AWS que vous avez créé. Cet ARN est du type arn:aws:iam::<account-id>:instance-profile/<role-name> et se trouve dans la console AWS :

    ARN du profil d&#39;instance

  4. Veuillez cliquer sur le bouton Ajouter.

    Ajouter un rôle IAM

Pour plus de détails, consultez Tutoriel : Configurer l'accès S3 avec un profil d'instance.

Étape 6 : Lancer un cluster avec le profil d'instance

Consultez les profils d'instance.