Ejecutar un espacio de trabajo de EMR Studio con un rol de tiempo de ejecución - Amazon EMR

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.

Ejecutar un espacio de trabajo de EMR Studio con un rol de tiempo de ejecución

nota

La funcionalidad del rol de tiempo de ejecución que se describe en esta página solo se aplica a Amazon EMR en ejecución en Amazon EC2 y no hace referencia a la funcionalidad del rol de tiempo de ejecución en las aplicaciones interactivas de EMR sin servidor. Para obtener más información sobre cómo utilizar los roles de tiempo de ejecución en EMR sin servidor, consulte Rol de tiempo de ejecución de tareas en la Guía del usuario de Amazon EMR sin servidor.

Un rol en tiempo de ejecución es un rol AWS Identity and Access Management (IAM) que puede especificar al enviar un trabajo o una consulta a un clúster de Amazon EMR. El trabajo o la consulta que envíe a su clúster de EMR utiliza el rol de tiempo de ejecución para acceder a AWS los recursos, como los objetos de Amazon S3.

Al adjuntar un espacio de trabajo de EMR Studio a un clúster de EMR que usa Amazon EMR 6.11 o una versión posterior, puede seleccionar un rol de tiempo de ejecución para el trabajo o la consulta que envíe para usarlo cuando acceda a los recursos. AWS Sin embargo, si el clúster de EMR no admite funciones de tiempo de ejecución, el clúster de EMR no asumirá la función cuando acceda a los recursos. AWS

Antes de poder utilizar un rol de tiempo de ejecución con un espacio de trabajo de Amazon EMR Studio, un administrador debe configurar los permisos de usuario para que el usuario de Studio pueda llamar a la API elasticmapreduce:GetClusterSessionCredentials en el rol de tiempo de ejecución. A continuación, lance un nuevo clúster con un rol de tiempo de ejecución que pueda usar con su espacio de trabajo de Amazon EMR Studio.

Configurar los permisos de usuario para el rol de tiempo de ejecución

Configure los permisos de usuario para que el usuario de Studio pueda llamar a la API elasticmapreduce:GetClusterSessionCredentials en el rol de tiempo de ejecución que quiera usar. También debe configurar Configurar los permisos de usuario de EMR Studio para Amazon EC2 o Amazon EKS para que el usuario pueda empezar a usar Studio.

aviso

Para conceder este permiso, cree una condición basada en la clave de contexto elasticmapreduce:ExecutionRoleArn cuando conceda a la persona que llama acceso para llamar a las API de GetClusterSessionCredentials. En los siguientes ejemplos, se muestra cómo hacerlo.

{ "Sid": "AllowSpecificExecRoleArn", "Effect": "Allow", "Action": [ "elasticmapreduce:GetClusterSessionCredentials" ], "Resource": "*", "Condition": { "StringEquals": { "elasticmapreduce:ExecutionRoleArn": [ "arn:aws:iam::111122223333:role/test-emr-demo1", "arn:aws:iam::111122223333:role/test-emr-demo2" ] } } }

En el siguiente ejemplo, se muestra cómo permitir que una entidad principal de IAM utilice un rol de IAM denominado test-emr-demo3 como rol de tiempo de ejecución. Además, el titular de la política solo podrá acceder a los clústeres de Amazon EMR con el ID de clúster j-123456789.

{ "Sid":"AllowSpecificExecRoleArn", "Effect":"Allow", "Action":[ "elasticmapreduce:GetClusterSessionCredentials" ], "Resource": [ "arn:aws:elasticmapreduce:<region>:111122223333:cluster/j-123456789" ], "Condition":{ "StringEquals":{ "elasticmapreduce:ExecutionRoleArn":[ "arn:aws:iam::111122223333:role/test-emr-demo3" ] } } }

El siguiente ejemplo permite que una entidad principal de IAM utilice cualquier rol de IAM cuyo nombre comience por la cadena test-emr-demo4 como rol de tiempo de ejecución. Además, el titular de la política solo podrá acceder a los clústeres de Amazon EMR etiquetados con el par clave-valor tagKey: tagValue.

{ "Sid":"AllowSpecificExecRoleArn", "Effect":"Allow", "Action":[ "elasticmapreduce:GetClusterSessionCredentials" ], "Resource": "*", "Condition":{ "StringEquals":{ "elasticmapreduce:ResourceTag/tagKey": "tagValue" }, "StringLike":{ "elasticmapreduce:ExecutionRoleArn":[ "arn:aws:iam::111122223333:role/test-emr-demo4*" ] } } }

Lanzar un clúster nuevo con un rol de tiempo de ejecución

Ahora que ya tiene los permisos necesarios, lance un nuevo clúster con un rol de tiempo de ejecución que pueda usar con su espacio de trabajo de Amazon EMR Studio.

Si ya ha lanzado un clúster nuevo con un rol de tiempo de ejecución, puede pasar directamente a la sección Utilizar el clúster de EMR con un rol de tiempo de ejecución en los espacios de trabajo.

  1. En primer lugar, complete los requisitos previos de la sección Roles en tiempo de ejecución para los pasos de Amazon EMR.

  2. A continuación, lance un clúster con la siguiente configuración para usar los roles de tiempo de ejecución con los espacios de trabajo de Amazon EMR Studio. Para obtener instrucciones sobre cómo lanzar el clúster, consulte Especificación de una configuración de seguridad para un clúster.

    • Seleccione la etiqueta de versión emr-6.11.0 o posterior.

    • Seleccione Spark, Livy y Jupyter Enterprise Gateway como aplicaciones de clúster.

    • Use la configuración de seguridad que creó en el paso anterior.

    • Si lo desea, puede habilitar Lake Formation para el clúster de EMR. Para obtener más información, consulte Habilitación de Lake Formation con Amazon EMR.

Después de lanzar el clúster, estará listo para usar el clúster habilitado para roles de tiempo de ejecución con un espacio de trabajo de EMR Studio.

nota

El ExecutionRoleArnvalor no es compatible actualmente con la operación de la StartNotebookExecutionAPI cuando el ExecutionEngineConfig.Type valor sí lo es. EMR

Utilizar el clúster de EMR con un rol de tiempo de ejecución en los espacios de trabajo

Después de configurar y lanzar el clúster, puede usar el clúster habilitado para roles de tiempo de ejecución con su espacio de trabajo de EMR Studio.

  1. Cree un nuevo espacio de trabajo o lance uno existente. Para obtener más información, consulte Crear un espacio de trabajo de EMR Studio.

  2. Seleccione la pestaña Clústeres de EMR en la barra lateral izquierda de su espacio de trabajo abierto, expanda la sección Tipo de computación y seleccione su clúster en el menú Clúster de EMR en EC2 y el rol de tiempo de ejecución en el menú Rol de tiempo de ejecución.

    La interfaz de usuario de EMR Studio Workspace, basada en la JupyterLab interfaz, con pestañas marcadas por iconos en la barra lateral izquierda.
  3. Seleccione Asociar para asociar el clúster con el rol de tiempo de ejecución a su espacio de trabajo.

Consideraciones

Tenga en cuenta las siguientes consideraciones cuando utilice un clúster habilitado para roles de tiempo de ejecución con su espacio de trabajo de Amazon EMR Studio:

  • Solo puede seleccionar un rol de tiempo de ejecución al asociar un espacio de trabajo de EMR Studio a un clúster de EMR que utilice la versión 6.11 de Amazon EMR o superior.

  • La funcionalidad del rol de tiempo de ejecución que se describe en esta página solo es compatible con Amazon EMR en ejecución en Amazon EC2 y no es compatible con las aplicaciones interactivas de EMR sin servidor. Para obtener más información sobre los roles de tiempo de ejecución de EMR sin servidor, consulte Roles de tiempo de ejecución de tareas en la Guía del usuario de Amazon EMR sin servidor.

  • Si bien necesita configurar permisos adicionales antes de poder especificar un rol de tiempo de ejecución al enviar un trabajo a un clúster, no necesita permisos adicionales para acceder a los archivos generados por un espacio de trabajo de EMR Studio. Los permisos de estos archivos son los mismos que los de los archivos generados a partir de los clústeres sin roles de tiempo de ejecución.

  • No puede usar el Explorador de SQL en un espacio de trabajo de EMR Studio con un clúster que tenga un rol de tiempo de ejecución. Amazon EMR deshabilita el Explorador de SQL en la interfaz de usuario cuando un espacio de trabajo está conectado a un clúster de EMR habilitado para los roles de tiempo de ejecución.

  • No puede usar el modo de colaboración en un espacio de trabajo de EMR Studio con un clúster que tenga un rol de tiempo de ejecución. Amazon EMR deshabilita las capacidades de colaboración en el espacio de trabajo cuando un espacio de trabajo está conectado a un clúster de EMR con roles en tiempo de ejecución. Solo podrá acceder al espacio de trabajo el usuario que lo asoció.

  • No se pueden utilizar roles de tiempo de ejecución en un Studio con la propagación de identidades de confianza de IAM Identity Center habilitada.

  • Es posible que aparezca la advertencia “¡Puede que la página no sea segura!” en la interfaz de usuario de Spark para un clúster habilitado para los roles de tiempo de ejecución. En tal caso, omita la alerta para seguir viendo la interfaz de usuario de Spark.