Configurer la liste des EMR clusters Amazon - Amazon SageMaker AI

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.

Configurer la liste des EMR clusters Amazon

Les administrateurs peuvent configurer des autorisations pour le rôle d'exécution de SageMaker Studio afin de permettre aux utilisateurs de consulter la liste des EMR clusters Amazon auxquels ils ont accès, leur permettant ainsi de se connecter à ces clusters. Les clusters auxquels vous souhaitez accéder peuvent être déployés dans le même AWS compte que Studio (choisissez Compte unique) ou dans des comptes distincts (choisissez Compte croisé). La page suivante explique comment accorder les autorisations nécessaires pour consulter les EMR clusters Amazon depuis Studio ou Studio Classic.

Important

Vous pouvez uniquement découvrir et vous connecter aux EMR clusters Amazon JupyterLab et aux applications Studio Classic lancées depuis des espaces privés. Assurez-vous que les EMR clusters Amazon sont situés dans la même AWS région que votre environnement Studio.

Pour permettre aux data scientists de découvrir Amazon puis de s'y connecter EMRclusters depuis Studio ou Studio Classic, procédez comme suit.

Si vos EMR clusters Amazon et Studio ou Studio Classic sont déployés dans le même AWS compte, associez les autorisations suivantes au rôle d'exécution SageMaker AI accédant à votre cluster.

  1. Étape 1 : Récupérez le rôle ARN d'exécution de l' SageMaker IA utilisé par votre espace privé.

    Pour plus d'informations sur les espaces et les rôles d'exécution dans SageMaker l'IA, consultezComprendre les autorisations d'espace de domaine et les rôles d'exécution.

    Pour plus d'informations sur la façon de récupérer le rôle ARN d'exécution de l' SageMaker IA, consultezObtenez votre rôle d'exécution.

  2. Étape 2 : Attachez les autorisations suivantes au rôle d'exécution SageMaker AI accédant à vos EMR clusters Amazon.

    1. Accédez à la console IAM.

    2. Choisissez Rôles, puis recherchez votre rôle d'exécution par son nom dans le champ Rechercher. Le nom du rôle est la dernière partie duARN, après la dernière barre oblique (/).

    3. Suivez le lien vers votre rôle.

    4. Choisissez Ajouter des autorisations, puis Créer une politique en ligne.

    5. Dans l'JSONonglet, ajoutez les EMR autorisations Amazon autorisant l'EMRaccès et les opérations d'Amazon. Pour plus de détails sur le document de politique, consultez la liste des EMR politiques d'Amazon dansPolitiques de référence. Remplacez region les instructions et accountID par leurs valeurs réelles avant de copier la liste des instructions dans la politique intégrée de votre rôle.

    6. Choisissez Next, puis saisissez un nom de politique.

    7. Choisissez Create Policy (Créer une politique).

Note

Les utilisateurs de la connectivité par contrôle d'accès basé sur les rôles (RBAC) aux EMR clusters Amazon doivent également se référer à. Configurez l'authentification des rôles d'exécution lorsque votre EMR cluster Amazon et Studio sont sur le même compte

Avant de commencer, récupérez le rôle ARN d'exécution de l' SageMaker IA utilisé par votre espace privé.

Pour plus d'informations sur les espaces et les rôles d'exécution dans SageMaker l'IA, consultezComprendre les autorisations d'espace de domaine et les rôles d'exécution.

Pour plus d'informations sur la façon de récupérer le rôle ARN d'exécution de l' SageMaker IA, consultezObtenez votre rôle d'exécution.

Si vos EMR clusters Amazon et Studio ou Studio Classic sont déployés dans des AWS comptes distincts, vous configurez les autorisations sur les deux comptes.

Note

Les utilisateurs de la connectivité par contrôle d'accès basé sur les rôles (RBAC) aux EMR clusters Amazon doivent également se référer à. Configuration de l'authentification du rôle d'exécution lorsque votre cluster et Studio sont dans des comptes différents

Sur le compte du EMR cluster Amazon

Suivez ces étapes pour créer les rôles et les politiques nécessaires sur le compte sur lequel Amazon EMR est déployé, également appelé compte de confiance :

  1. Étape 1 : Récupérez le ARN rôle de service de votre EMR cluster Amazon.

    Pour savoir comment déterminer le rôle de service ARN d'un cluster, consultez Configurer les rôles de IAM service pour les EMR autorisations Amazon relatives aux AWS services et aux ressources.

  2. Étape 2 : Créez un IAM rôle personnalisé nommé AssumableRole avec la configuration suivante :

    • Autorisations : accordez les autorisations nécessaires AssumableRole pour autoriser l'accès aux EMR ressources Amazon. Ce rôle est également appelé rôle d'accès dans les scénarios impliquant un accès entre comptes.

    • Relation de confiance : configurez la politique de confiance AssumableRole pour permettre d'assumer le rôle d'exécution (SageMakerExecutionRoledans le diagramme entre comptes) depuis le compte Studio qui nécessite un accès.

    En assumant ce rôle, Studio ou Studio Classic peut obtenir un accès temporaire aux autorisations dont il a besoin sur AmazonEMR.

    Pour obtenir des instructions détaillées sur la façon de créer un nouveau AssumableRole compte sur votre EMR AWS compte Amazon, procédez comme suit :

    1. Accédez à la console IAM.

    2. Dans le volet de navigation de gauche, choisissez Policy, puis Create policy.

    3. Dans l'JSONonglet, ajoutez les EMR autorisations Amazon autorisant l'EMRaccès et les opérations d'Amazon. Pour plus de détails sur le document de politique, consultez la liste des EMR politiques d'Amazon dansPolitiques de référence. Remplacez region les instructions et accountID par leurs valeurs réelles avant de copier la liste des instructions dans la politique intégrée de votre rôle.

    4. Choisissez Next, puis saisissez un nom de politique.

    5. Choisissez Create Policy (Créer une politique).

    6. Dans le volet de navigation de gauche, choisissez Rôles, puis Créer un rôle.

    7. Sur la page Créer un rôle, choisissez Politique de confiance personnalisée comme entité de confiance.

    8. Collez le JSON document suivant dans la section Politique de confiance personnalisée, puis choisissez Suivant.

      For users of Studio and JupyterLab

      studio-accountRemplacez-le par l'ID du compte Studio et AmazonSageMaker-ExecutionRole par le rôle d'exécution utilisé par votre JupyterLab espace.

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::studio-account:role/service-role/AmazonSageMaker-ExecutionRole" }, "Action": "sts:AssumeRole" } ] }
      For users of Studio Classic

      studio-accountRemplacez-le par l'ID de compte Studio Classic.

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::studio-account:root" }, "Action": "sts:AssumeRole" } ] }
    9. Sur la page Ajouter des autorisations, ajoutez l'autorisation que vous venez de créer, puis choisissez Suivant.

    10. Sur la page Révision, entrez un nom pour le rôle, par exemple AssumableRole et une description facultative.

    11. Passez en revue les détails du rôle, puis choisissez Créer un rôle.

    Pour plus d'informations sur la création d'un rôle sur un AWS compte, consultez Création d'un IAM rôle (console).

Sur le compte Studio

Sur le compte sur lequel Studio est déployé, également appelé compte de confiance, mettez à jour le rôle d'exécution de l' SageMaker IA accédant à vos clusters avec les autorisations requises pour accéder aux ressources du compte de confiance.

  1. Étape 1 : Récupérez le rôle ARN d'exécution de l' SageMaker IA utilisé par votre espace privé.

    Pour plus d'informations sur les espaces et les rôles d'exécution dans SageMaker l'IA, consultezComprendre les autorisations d'espace de domaine et les rôles d'exécution.

    Pour plus d'informations sur la façon de récupérer le rôle ARN d'exécution de l' SageMaker IA, consultezObtenez votre rôle d'exécution.

  2. Étape 2 : Attachez les autorisations suivantes au rôle d'exécution SageMaker AI accédant à vos EMR clusters Amazon.

    1. Accédez à la console IAM.

    2. Choisissez Rôles, puis recherchez votre rôle d'exécution par son nom dans le champ Rechercher. Le nom du rôle est la dernière partie duARN, après la dernière barre oblique (/).

    3. Suivez le lien vers votre rôle.

    4. Choisissez Ajouter des autorisations, puis Créer une politique en ligne.

    5. Dans l'JSONonglet, ajoutez la politique intégrée accordant au rôle les autorisations nécessaires pour mettre à jour les domaines, les profils utilisateur et les espaces. Pour plus de détails sur le document de politique, voir Politique relative aux actions de mise à jour du domaine, du profil utilisateur et de l'espace dansPolitiques de référence. Remplacez les instructions region et accountID par leurs valeurs réelles avant de copier la liste des instructions dans la politique intégrée de votre rôle.

    6. Choisissez Next, puis saisissez un nom de politique.

    7. Choisissez Create Policy (Créer une politique).

    8. Répétez l'étape Créer une politique en ligne pour ajouter une autre politique accordant au rôle d'exécution l'autorisation d'assumer AssumableRole puis d'exécuter les actions autorisées par la politique d'accès du rôle. emr-accountRemplacez-le par l'identifiant du EMR compte Amazon et AssumableRole par le nom du rôle assumé créé dans le EMR compte Amazon.

      { "Version": "2012-10-17", "Statement": [ { "Sid": "AllowRoleAssumptionForCrossAccountDiscovery", "Effect": "Allow", "Action": "sts:AssumeRole", "Resource": ["arn:aws:iam::emr-account:role/AssumableRole" ] }] }
    9. (Facultatif) Pour permettre de répertorier les EMR clusters Amazon déployés sur le même compte que Studio, ajoutez une politique en ligne supplémentaire à votre rôle d'exécution de Studio, comme défini dans la liste des EMR politiques Amazon dansPolitiques de référence.

  3. Étape 3 : associez vos rôles supposables (rôle d'accès) à votre domaine ou à votre profil utilisateur. JupyterLables utilisateurs de Studio peuvent utiliser la console SageMaker AI ou le script fourni.

    Choisissez l'onglet correspondant à votre cas d'utilisation.

    Associate your assumable roles in JupyterLab using the SageMaker AI console

    Pour associer vos rôles supposés à votre profil utilisateur ou à votre domaine à l'aide de la console SageMaker AI, procédez comme suit :

    1. Accédez à la console SageMaker AI à l'adresse https://console.aws.amazon.com/sagemaker/.

    2. Dans le volet de navigation de gauche, choisissez le domaine, puis sélectionnez le domaine à l'aide du rôle d'exécution SageMaker AI dont vous avez mis à jour les autorisations.

      • Pour ajouter vos rôles supposés (rôle d'accès) à votre domaine : dans l'onglet Configurations de l'application de la page des détails du domaine, accédez à la JupyterLabsection.

      • Pour ajouter vos rôles supposés (rôle d'accès) à votre profil utilisateur : sur la page des détails du domaine, choisissez l'onglet Profils utilisateurs, sélectionnez le profil utilisateur à l'aide du rôle d'exécution SageMaker AI dont vous avez mis à jour les autorisations. Dans l'onglet Configurations de l'application, accédez à la JupyterLabsection.

    3. Choisissez Modifier et ajoutez le ARNs rôle que vous assumez (rôle d'accès).

    4. Sélectionnez Envoyer.

    Associate your assumable roles in JupyterLab using a Python script

    Dans une JupyterLab application démarrée depuis un espace utilisant le rôle d'exécution SageMaker AI dont vous avez mis à jour les autorisations, exécutez la commande suivante dans un terminal. Remplacez les valeurs domainIDuser-profile-name,emr-accountID, et AssumableRole (EMRServiceRolepour les rôles RBAC d'exécution) par leurs valeurs appropriées. Cet extrait de code met à jour les paramètres du profil utilisateur pour un profil utilisateur (utilisationclient.update_userprofile) ou des paramètres de domaine (utilisationclient.update_domain) spécifiques au sein d'un domaine SageMaker AI. Plus précisément, cela permet à l' JupyterLabapplication d'assumer un IAM rôle particulier (AssumableRole) pour exécuter des EMR clusters Amazon au sein du EMR compte Amazon.

    import botocore.session import json sess = botocore.session.get_session() client = sess.create_client('sagemaker') client.update_userprofile( DomainId="domainID", UserProfileName="user-profile-name", DefaultUserSettings={ 'JupyterLabAppSettings': { 'EmrSettings': { 'AssumableRoleArns': ["arn:aws:iam::emr-accountID:role/AssumableRole"], 'ExecutionRoleArns': ["arn:aws:iam::emr-accountID:role/EMRServiceRole", "arn:aws:iam::emr-accountID:role/AnotherServiceRole"] } } }) resp = client.describe_user_profile(DomainId="domainID", UserProfileName=user-profile-name") resp['CreationTime'] = str(resp['CreationTime']) resp['LastModifiedTime'] = str(resp['LastModifiedTime']) print(json.dumps(resp, indent=2))
    For users of Studio Classic

    Fournissez le ARN de AssumableRole à votre rôle d'exécution Studio Classic. Le ARN est chargé par le serveur Jupyter au lancement. Le rôle d'exécution utilisé par Studio assume ce rôle entre comptes pour découvrir et se connecter aux EMR clusters Amazon dans le compte de confiance.

    Vous pouvez spécifier ces informations à l'aide de scripts Lifecycle Configuration (LCC). Vous pouvez l'associer LCC à votre domaine ou à un profil utilisateur spécifique. Le LCC script que vous utilisez doit être une JupyterServer configuration. Pour plus d'informations sur la création d'un LCC script, voir Utiliser les configurations du cycle de vie avec Studio Classic.

    Voici un exemple de LCC script. Pour modifier le script, remplacez AssumableRole et emr-account par leurs valeurs respectives. Le nombre de comptes croisés est limité à cinq.

    # This script creates the file that informs Studio Classic that the role "arn:aws:iam::emr-account:role/AssumableRole" in remote account "emr-account" must be assumed to list and describe Amazon EMR clusters in the remote account. #!/bin/bash set -eux FILE_DIRECTORY="/home/sagemaker-user/.cross-account-configuration-DO_NOT_DELETE" FILE_NAME="emr-discovery-iam-role-arns-DO_NOT_DELETE.json" FILE="$FILE_DIRECTORY/$FILE_NAME" mkdir -p $FILE_DIRECTORY cat > "$FILE" <<- "EOF" { emr-cross-account1: "arn:aws:iam::emr-cross-account1:role/AssumableRole", emr-cross-account2: "arn:aws:iam::emr-cross-account2:role/AssumableRole" } EOF

    Une fois les LCC exécutions et les fichiers écrits, le serveur lit le fichier /home/sagemaker-user/.cross-account-configuration-DO_NOT_DELETE/emr-discovery-iam-role-arns-DO_NOT_DELETE.json et enregistre le compte croiséARN.

Reportez-vous EMRRépertorier les clusters Amazon depuis Studio ou Studio Classic à pour savoir comment découvrir des EMR clusters Amazon et vous y connecter à partir de blocs-notes Studio ou Studio Classic.