

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Configuración de la propagación de identidades de confianza con Amazon EMR Studio
<a name="setting-up-tip-emr"></a>

El siguiente procedimiento explica cómo configurar Amazon EMR Studio para la propagación de identidades de confianza en consultas realizadas en grupos de trabajo de Amazon Athena o clústeres de Amazon EMR que ejecutan Apache Spark.

## Requisitos previos
<a name="setting-up-tip-emr-prereqs"></a>

Antes de empezar con este tutorial, primero tendrá que configurar lo siguiente:

1. [Habilite el centro de identidad de IAM](enable-identity-center.md). Se recomienda la [instancia de organización](organization-instances-identity-center.md). Para obtener más información, consulte [Requisitos y consideraciones previos](trustedidentitypropagation-overall-prerequisites.md).

1. [Aprovisionar los usuarios y grupos de su origen de identidades en IAM Identity Center](tutorials.md).

Para completar la configuración de la propagación de identidades de confianza desde Amazon EMR Studio, el administrador de EMR Studio debe realizar los siguientes pasos.

## Paso 1. Creación del rol de IAM requerido para EMR Studio
<a name="setting-up-tip-emr-step1"></a>

En este paso, el administrador de Amazon EMR Studio crea un rol de servicio de IAM y un rol de usuario de IAM para EMR Studio.

1. **[Cree un rol de servicio de EMR Studio](https://docs.aws.amazon.com//emr/latest/ManagementGuide/emr-studio-service-role.html)**: EMR Studio asume este rol de IAM para gestionar de forma segura los espacios de trabajo y los blocs de notas, conectarse a clústeres y gestionar las interacciones de datos.

   1. Navegue hasta la consola de IAM ([https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)) y cree un rol de IAM.

   1. Seleccione **Servicio de AWS** como entidad de confianza y, a continuación, elija **Amazon EMR**. Adjunte las siguientes políticas para definir los permisos y la relación de confianza del rol.

      Para usar estas políticas, sustituya {{italicized placeholder text}} la política del ejemplo por su propia información. Para obtener instrucciones adicionales, consulte [Creación de una política](https://docs.aws.amazon.com//IAM/latest/UserGuide/access_policies_create.html) o [Edición de una política](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}}"
                      }
                  }
              }
          ]
      }
      ```

------

      Para obtener una referencia de todos los permisos de rol de servicio, consulte [EMR Studio service role permissions](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-studio-service-role.html#emr-studio-service-role-permissions-table).

1. **[Cree un rol de usuario de EMR Studio para la autenticación de IAM Identity Center](https://docs.aws.amazon.com//emr/latest/ManagementGuide/emr-studio-user-permissions.html#emr-studio-create-user-role)**: EMR Studio asume este rol cuando un usuario inicia sesión a través de IAM Identity Center para administrar espacios de trabajo, clústeres de EMR, trabajos y repositorios de git. **Este rol se utiliza para iniciar el flujo de trabajo de propagación de identidades de confianza**.
**nota**  
El rol de usuario de EMR Studio no necesita incluir permisos para acceder a las ubicaciones de Amazon S3 de las tablas del catálogo. AWS Glue AWS Lake Formation los permisos y las ubicaciones de lagos registradas se utilizarán para recibir permisos temporales. 

   El siguiente ejemplo de política se puede utilizar en un rol que permita a un usuario de EMR Studio utilizar los grupos de trabajo de Athena para ejecutar consultas.

------
#### [ 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 siguiente política de confianza permite que EMR Studio asuma el rol:
**nota**  
Se necesitan permisos adicionales para aprovechar los espacios de trabajo de EMR Studio y los blocs de notas de EMR. Consulte [Creación de políticas de permisos para los usuarios de EMR Studio](https://docs.aws.amazon.com//emr/latest/ManagementGuide/emr-studio-user-permissions.html#emr-studio-permissions-policies) para obtener más información.

**Dispone de más información en los siguientes enlaces:**
   + [Defina los permisos de IAM personalizados con políticas administradas por el cliente](https://docs.aws.amazon.com//IAM/latest/UserGuide/access_policies_create.html)
   + [Permisos de rol de servicio de EMR Studio](https://docs.aws.amazon.com//emr/latest/ManagementGuide/emr-studio-service-role.html#emr-studio-service-role-permissions-table)

## Paso 2. Creación y configuración de EMR Studio
<a name="setting-up-tip-emr-step2"></a>

En este paso, creará un Amazon EMR Studio en la consola de EMR Studio y utilizará los roles de IAM que creó en [Paso 1. Creación del rol de IAM requerido para EMR StudioPaso 2. Creación y configuración de EMR Studio](#setting-up-tip-emr-step1).

1. Navegue hasta la consola de EMR Studio, seleccione **Crear estudio** y **Configuración personalizada**. Puede crear un nuevo bucket de S3 o utilizar un bucket existente. Puede marcar la casilla para **Cifrar los archivos del espacio de trabajo con sus propias claves de KMS**. Para obtener más información, consulte [AWS Key Management Service](https://docs.aws.amazon.com//kms/latest/developerguide/overview.html).  
![Paso 1 Creación de EMR Studio en la consola de EMR.](http://docs.aws.amazon.com/es_es/singlesignon/latest/userguide/images/emr-tutorial-step-3.1.png)

1. En **Rol de servicio para permitir que Studio acceda a sus recursos**, seleccione el rol de servicio creado en [Paso 1. Creación del rol de IAM requerido para EMR StudioPaso 2. Creación y configuración de EMR Studio](#setting-up-tip-emr-step1) desde el menú.

1. En **Autenticación**, elija **IAM Identity Center**. Seleccione el rol de usuario creado en [Paso 1. Creación del rol de IAM requerido para EMR StudioPaso 2. Creación y configuración de EMR Studio](#setting-up-tip-emr-step1).  
![Paso 3 Creación de EMR Studio en la consola de EMR y selección de IAM Identity Center como método de autenticación.](http://docs.aws.amazon.com/es_es/singlesignon/latest/userguide/images/emr-tutorial-step-3.3.png)

1. Marque la casilla **Propagación de identidades de confianza**. Seleccione **Solo usuarios y grupos asignados** en la sección Acceso a la aplicación, lo que le permitirá conceder el acceso a este estudio únicamente a usuarios y grupos autorizados.

1. *(Opcional)*: puede configurar la VPC y la subred si utiliza este estudio con clústeres de EMR.  
![Paso 4 Creación de EMR Studio en la consola de EMR, seleccionando la configuración de red y seguridad.](http://docs.aws.amazon.com/es_es/singlesignon/latest/userguide/images/emr-tutorial-step-3.4.png)

1. Revise todos los detalles y seleccione **Crear Studio**.

1. Tras configurar un clúster de Athena WorkGroup o EMR, inicie sesión en la URL de Studio para:

   1. Ejecutar consultas de Athena con el editor de consultas.

   1. Ejecutar los trabajos de Spark en el espacio de trabajo con un bloc de notas Jupyter.