

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 de la propagation d'identité sécurisée avec Amazon EMR Studio
<a name="setting-up-tip-emr"></a>

La procédure suivante vous explique comment configurer Amazon EMR Studio pour une propagation d'identité sécurisée dans les requêtes adressées à un groupe de travail Amazon Athena ou à un cluster Amazon EMR en cours d'exécution. Apache Spark

## Conditions préalables
<a name="setting-up-tip-emr-prereqs"></a>

Avant de commencer ce didacticiel, vous devez configurer les éléments suivants :

1. [Activez IAM Identity Center](enable-identity-center.md). [Une instance d'organisation ](organization-instances-identity-center.md) est recommandée. Pour de plus amples informations, veuillez consulter [Prérequis et considérations](trustedidentitypropagation-overall-prerequisites.md).

1. [Fournissez les utilisateurs et les groupes à partir de votre source d'identité dans IAM Identity Center](tutorials.md).

Pour terminer la configuration de la propagation d'identité sécurisée depuis Amazon EMR Studio, l'administrateur d'EMR Studio doit effectuer les étapes suivantes.

## Étape 1. Création des rôles IAM requis pour EMR Studio
<a name="setting-up-tip-emr-step1"></a>

Au cours de cette étape, l'Studioadministrateur Amazon EMR crée un rôle de service IAM et un rôle d'utilisateur IAM pour EMR. Studio

1. **[Créez un rôle de service EMR Studio ](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-studio-service-role.html) ** - EMR Studio assume ce rôle IAM pour gérer en toute sécurité les espaces de travail et les blocs-notes, se connecter à des clusters et gérer les interactions de données.

   1. Accédez à la console IAM ([https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)) et créez un rôle IAM.

   1. Sélectionnez **Service AWS** comme entité de confiance, puis choisissez ** Amazon EMR. ** Joignez les politiques suivantes pour définir les autorisations et la relation de confiance du rôle.

      Pour utiliser cette politique, remplacez celle de {{italicized placeholder text}} l'exemple de politique par vos propres informations. Pour des instructions supplémentaires, voir [ Créer une politique ](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html) ou [ Modifier une politique](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-edit.html).

------
#### [ JSON ]

****  

      ```
      {
          "Version":"2012-10-17",		 	 	 
          "Statement": [
              {
                  "Sid": "ObjectActions",
                  "Effect": "Allow",
                  "Action": [
                      "s3:PutObject",
                      "s3:GetObject",
                      "s3:DeleteObject"
                  ],
                  "Resource": [
                      "arn:aws:s3:::{{Your-S3-Bucket-For-EMR-Studio}}/*"
                  ],
                  "Condition": {
                      "StringEquals": {
                          "aws:ResourceAccount": "{{Your-AWS-Account-ID}}"
                      }
                  }
              },
              {
                  "Sid": "BucketActions",
                  "Effect": "Allow",
                  "Action": [
                      "s3:ListBucket",
                      "s3:GetEncryptionConfiguration"
                  ],
                  "Resource": [
                      "arn:aws:s3:::{{Your-S3-Bucket-For-EMR-Studio}}"
                  ],
                  "Condition": {
                      "StringEquals": {
                          "aws:ResourceAccount": "{{Your-AWS-Account-ID}}"
                      }
                  }
              }
          ]
      }
      ```

------

      Pour obtenir une référence de toutes les autorisations de rôle de service, consultez la section Autorisations [ de rôle de service d'](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-studio-service-role.html#emr-studio-service-role-permissions-table)EMR Studio.

1. **[Créez un rôle utilisateur EMR Studio pour l'authentification IAM Identity Center ](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-studio-user-permissions.html#emr-studio-create-user-role) ** - EMR Studio assume ce rôle lorsqu'un utilisateur se connecte via IAM Identity Center pour gérer les espaces de travail, les clusters EMR, les jobs et les référentiels git. **Ce rôle est utilisé pour lancer le flux de travail de propagation d'identité sécurisé**.
**Note**  
Le rôle utilisateur d'EMR Studio n'a pas besoin d'inclure des autorisations pour accéder aux emplacements Amazon S3 des tables du AWS Glue catalogue. AWS Lake Formation les autorisations et les emplacements enregistrés des lacs seront utilisés pour recevoir des autorisations temporaires. 

   L'exemple de politique suivant peut être utilisé dans un rôle permettant à un utilisateur d'EMR Studio d'utiliser les groupes de travail Athena pour exécuter des requêtes.

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "AllowDefaultEC2SecurityGroupsCreationInVPCWithEMRTags",
               "Effect": "Allow",
               "Action": [
                   "ec2:CreateSecurityGroup"
               ],
               "Resource": [
                   "arn:aws:ec2:*:*:vpc/*"
               ],
               "Condition": {
                   "StringEquals": {
                       "aws:ResourceTag/for-use-with-amazon-emr-managed-policies": "true"
                   }
               }
           },
           {
               "Sid": "AllowAddingEMRTagsDuringDefaultSecurityGroupCreation",
               "Effect": "Allow",
               "Action": [
                   "ec2:CreateTags"
               ],
               "Resource": "arn:aws:ec2:*:*:security-group/*",
               "Condition": {
                   "StringEquals": {
                       "aws:RequestTag/for-use-with-amazon-emr-managed-policies": "true",
                       "ec2:CreateAction": "CreateSecurityGroup"
                   }
               }
           },
           {
               "Sid": "AllowSecretManagerListSecrets",
               "Action": [
                   "secretsmanager:ListSecrets"
               ],
               "Resource": "*",
               "Effect": "Allow"
           },
           {
               "Sid": "AllowSecretCreationWithEMRTagsAndEMRStudioPrefix",
               "Effect": "Allow",
               "Action": "secretsmanager:CreateSecret",
               "Resource": "arn:aws:secretsmanager:*:*:secret:emr-studio-*",
               "Condition": {
                   "StringEquals": {
                       "aws:RequestTag/for-use-with-amazon-emr-managed-policies": "true"
                   }
               }
           },
           {
               "Sid": "AllowAddingTagsOnSecretsWithEMRStudioPrefix",
               "Effect": "Allow",
               "Action": "secretsmanager:TagResource",
               "Resource": "arn:aws:secretsmanager:*:*:secret:emr-studio-*"
           },
           {
               "Sid": "AllowPassingServiceRoleForWorkspaceCreation",
               "Action": "iam:PassRole",
               "Resource": [
                   "arn:aws:iam::{{111122223333}}:role/service-role/{{AmazonEMRStudio_ServiceRole_Name}}"
               ],
               "Effect": "Allow"
           },
           {
               "Sid": "AllowS3ListAndLocationPermissions",
               "Action": [
                   "s3:ListAllMyBuckets",
                   "s3:ListBucket",
                   "s3:GetBucketLocation"
               ],
               "Resource": "arn:aws:s3:::*",
               "Effect": "Allow"
           },
           {
               "Sid": "AllowS3ReadOnlyAccessToLogs",
               "Action": [
                   "s3:GetObject"
               ],
               "Resource": [
                   "arn:aws:s3:::aws-logs-{{Your-AWS-Account-ID}}-{{Region}}/elasticmapreduce/*"
               ],
               "Effect": "Allow"
           },
           {
               "Sid": "AllowAthenaQueryExecutions",
               "Effect": "Allow",
               "Action": [
                   "athena:StartQueryExecution",
                   "athena:GetQueryExecution",
                   "athena:GetQueryResults",
                   "athena:StopQueryExecution",
                   "athena:ListQueryExecutions",
                   "athena:GetQueryResultsStream",
                   "athena:ListWorkGroups",
                   "athena:GetWorkGroup",
                   "athena:CreatePreparedStatement",
                   "athena:GetPreparedStatement",
                   "athena:DeletePreparedStatement"
               ],
               "Resource": "*"
           },
           {
               "Sid": "AllowGlueSchemaManipulations",
               "Effect": "Allow",
               "Action": [
                   "glue:GetDatabase",
                   "glue:GetDatabases",
                   "glue:GetTable",
                   "glue:GetTables",
                   "glue:GetPartition",
                   "glue:GetPartitions"
               ],
               "Resource": "*"
           },
           {
               "Sid": "AllowQueryEditorToAccessWorkGroup",
               "Effect": "Allow",
               "Action": "athena:GetWorkGroup",
               "Resource": "arn:aws:athena:*:{{111122223333}}:workgroup*"
           },
           {
               "Sid": "AllowConfigurationForWorkspaceCollaboration",
               "Action": [
                   "elasticmapreduce:UpdateEditor",
                   "elasticmapreduce:PutWorkspaceAccess",
                   "elasticmapreduce:DeleteWorkspaceAccess",
                   "elasticmapreduce:ListWorkspaceAccessIdentities"
               ],
               "Resource": "*",
               "Effect": "Allow",
               "Condition": {
                   "StringEquals": {
                       "elasticmapreduce:ResourceTag/creatorUserId": "${aws:userId}"
                   }
               }
           },
           {
               "Sid": "DescribeNetwork",
               "Effect": "Allow",
               "Action": [
                   "ec2:DescribeVpcs",
                   "ec2:DescribeSubnets",
                   "ec2:DescribeSecurityGroups"
               ],
               "Resource": "*"
           },
           {
               "Sid": "ListIAMRoles",
               "Effect": "Allow",
               "Action": [
                   "iam:ListRoles"
               ],
               "Resource": "*"
           },
           {
               "Sid": "AssumeRole",
               "Effect": "Allow",
               "Action": [
                   "sts:AssumeRole"
               ],
               "Resource": "*"
           }
       ]
   }
   ```

------

   La politique de confiance suivante permet à EMR Studio d'assumer ce rôle :
**Note**  
Des autorisations supplémentaires sont nécessaires pour tirer parti des espaces de travail EMR Studio et des blocs-notes EMR. Consultez la section [ Création de politiques d'autorisations pour les utilisateurs d'EMR Studio ](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-studio-user-permissions.html#emr-studio-permissions-policies) pour plus d'informations.

**Vous trouverez de plus amples informations en cliquant sur les liens suivants :**
   + [Définir des autorisations IAM personnalisées à l’aide de politiques gérées par le client](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html)
   + [Autorisations relatives aux rôles de service EMR Studio ](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-studio-service-role.html#emr-studio-service-role-permissions-table)

## Étape 2. Créez et configurez votre EMR Studio
<a name="setting-up-tip-emr-step2"></a>

Au cours de cette étape, vous allez créer un Amazon EMR Studio dans la console EMR Studio et utiliser les rôles IAM que vous avez créés dans. [Étape 1. Création des rôles IAM requis pour EMR Studio](#setting-up-tip-emr-step1)

1. Accédez à la console EMR Studio, sélectionnez ** Create Studio ** et l'**option Configuration ** personnalisée. Vous pouvez créer un nouveau compartiment S3 ou utiliser un compartiment existant. Vous pouvez cocher la case pour ** chiffrer les fichiers de l'espace de travail avec vos propres clés ** KMS. Pour de plus amples informations, veuillez consulter [AWS Key Management Service](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html).  
![Étape 1 Créez EMR Studio dans la console EMR.](https://docs.aws.amazon.com/fr_fr/singlesignon/latest/userguide/images/emr-tutorial-step-3.1.png)

1. Sous Rôle ** de service pour permettre à Studio d'accéder à vos ressources**, sélectionnez le rôle [Étape 1. Création des rôles IAM requis pour EMR Studio](#setting-up-tip-emr-step1) de service créé dans le menu.

1. Choisissez ** IAM Identity Center ** sous ** Authentification**. Sélectionnez le rôle d'utilisateur créé dans[Étape 1. Création des rôles IAM requis pour EMR Studio](#setting-up-tip-emr-step1).  
![Étape 3 Créez EMR Studio dans la console EMR, en sélectionnant IAM Identity Center comme méthode d'authentification.](https://docs.aws.amazon.com/fr_fr/singlesignon/latest/userguide/images/emr-tutorial-step-3.3.png)

1. Cochez la ** case Propagation d'identité ** sécurisée. Choisissez ** Uniquement les utilisateurs et les groupes ** assignés dans la section Accès à l'application, ce qui vous permettra d'autoriser uniquement les utilisateurs et les groupes autorisés à accéder à ce studio.

1. *(Facultatif) * - Vous pouvez configurer un VPC et un sous-réseau si vous utilisez ce Studio avec des clusters EMR.  
![Étape 4 Créez EMR Studio dans la console EMR, en sélectionnant les paramètres réseau et de sécurité.](https://docs.aws.amazon.com/fr_fr/singlesignon/latest/userguide/images/emr-tutorial-step-3.4.png)

1. Passez en revue tous les détails et sélectionnez ** Create Studio**.

1. Après avoir configuré un cluster Athena WorkGroup ou EMR, connectez-vous à l'URL du Studio pour :

   1. Exécutez des requêtes Athena à l'aide de l'éditeur de requêtes.

   1. Exécutez des tâches Spark dans l'espace de travail à l'aide de Jupyter Notebook.