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.
Configurar las funciones IAM de tiempo de ejecución para el acceso a los EMR clústeres de Amazon en Studio
Cuando te conectas a un EMR clúster de Amazon desde tus blocs de notas de Studio o Studio Classic, puedes explorar visualmente una lista de IAM funciones, conocidas como funciones de tiempo de ejecución, y seleccionar una sobre la marcha. Posteriormente, todos los trabajos de Apache Spark, Apache Hive o Presto creados desde su portátil acceden únicamente a los datos y recursos permitidos por las políticas asociadas a la función de ejecución. Además, cuando se accede a los datos desde lagos de datos gestionados con ellos AWS Lake Formation, puede imponer el acceso a nivel de tabla y columna mediante políticas asociadas a la función de tiempo de ejecución.
Con esta función, tus compañeros de equipo y tú podéis conectaros al mismo clúster, cada uno de ellos con un rol en tiempo de ejecución con permisos que se ajusten a vuestro nivel individual de acceso a los datos. Sus sesiones también están aisladas unas de otras en el clúster compartido.
Para probar esta función con Studio Classic, consulte Aplicar controles de acceso a datos detallados con AWS Lake Formation Amazon desde EMR Amazon SageMaker
Requisitos previos
Antes de empezar, asegúrese de cumplir los siguientes requisitos previos:
-
Usa la EMR versión 6.9 o superior de Amazon.
-
Para los usuarios de Studio Classic: utilice la JupyterLab versión 3 en la configuración de la aplicación del servidor Jupyter de Studio Classic. Esta versión admite la conexión de Studio Classic a los EMR clústeres de Amazon mediante roles de tiempo de ejecución.
Para los usuarios de Studio: utilice una versión SageMaker de imagen de distribución
1.10
o superior. -
Permita el uso de funciones de tiempo de ejecución en la configuración de seguridad del clúster. Para obtener más información, consulta Runtime roles for Amazon EMR steps.
-
Cree un bloc de notas con cualquiera de los núcleos enumerados enImágenes y núcleos compatibles para conectarse a un EMR clúster de Amazon desde Studio o Studio Classic.
-
Asegúrese de revisar las instrucciones Configura Studio para usar IAM roles de tiempo de ejecución para configurar sus funciones de tiempo de ejecución.
Escenarios de conexión entre cuentas
La autenticación de roles en tiempo de ejecución admite diversos escenarios de conexión entre cuentas cuando los datos se encuentran fuera de la cuenta de Studio. En la siguiente imagen se muestran tres formas diferentes de asignar el EMR clúster, los datos e incluso la función de ejecución en EMR tiempo de ejecución de Amazon entre las cuentas de Studio y de datos:
En la opción 1, el EMR clúster de Amazon y la función EMR de ejecución de Amazon Runtime se encuentran en una cuenta de datos independiente de la cuenta de Studio. Usted define una política de permisos de función de EMR acceso a Amazon independiente (también denominadaAssumable role
) que concede permiso a la función de ejecución de Studio o Studio Classic para que asuma la función de EMR acceso a Amazon. A continuación, el rol de EMR acceso a Amazon llama a Amazon EMR API GetClusterSessionCredentials
en nombre de tu rol de ejecución de Studio o Studio Classic, lo que te da acceso al clúster.
En la opción 2, tu EMR clúster de Amazon y tu función de ejecución en EMR tiempo de ejecución de Amazon están en tu cuenta de Studio. Tu rol de ejecución de Studio tiene permiso para usar Amazon EMR API GetClusterSessionCredentials
para acceder a tu clúster. Para acceder al bucket de Amazon S3, otorgue al rol de EMR ejecución de Amazon permisos de acceso multicuenta al bucket de Amazon S3; usted otorga estos permisos dentro de su política de bucket de Amazon S3.
En la opción 3, tus EMR clústeres de Amazon están en tu cuenta de Studio y la función de ejecución en EMR tiempo de ejecución de Amazon está en la cuenta de datos. Su rol de ejecución de Studio o Studio Classic tiene permiso para usar Amazon EMR API GetClusterSessionCredentials
para acceder a su clúster. Añada la función EMR de ejecución de Amazon Runtime a la configuración de la función de ejecuciónJSON. A continuación, puede seleccionar el rol en la interfaz de usuario al elegir su clúster. Para obtener más información sobre cómo configurar el JSON archivo de configuración de la función de ejecución, consulteCarga previamente tus funciones de ejecución en Studio o Studio Classic.
Configura Studio para usar IAM roles de tiempo de ejecución
Para establecer la autenticación de roles en tiempo de ejecución para sus EMR clústeres de Amazon, configure las IAM políticas necesarias y las mejoras de red y usabilidad. La configuración depende de si gestionas acuerdos entre cuentas si tus EMR clústeres de Amazon, la función de EMR ejecución de Amazon Runtime o ambos residen fuera de tu cuenta de Studio. La siguiente sección te explica las políticas que debes instalar, cómo configurar la red para permitir el tráfico entre cuentas cruzadas y el archivo de configuración local que debes configurar para automatizar tu EMR conexión a Amazon.
Configura la autenticación de roles en tiempo de ejecución cuando tu EMR clúster de Amazon y Studio estén en la misma cuenta
Si tu EMR clúster de Amazon reside en tu cuenta de Studio, sigue estos pasos para añadir los permisos necesarios a tu política de ejecución de Studio:
-
Añade la IAM política necesaria para conectarte a los EMR clústeres de Amazon. Para obtener más información, consulte Configurar listados de EMR clústeres de Amazon.
-
Concede permiso para llamar a Amazon EMR API
GetClusterSessionCredentials
cuando pases una o más funciones de ejecución en EMR tiempo de ejecución de Amazon permitidas especificadas en la política. -
(Opcional) Conceda permiso para transferir IAM funciones que sigan cualquier convención de nomenclatura definida por el usuario.
-
(Opcional) Concede permiso para acceder a EMR los clústeres de Amazon que estén etiquetados con cadenas específicas definidas por el usuario.
-
Carga previamente tus IAM roles para que puedas seleccionar el rol que usarás cuando te conectes a tu EMR clúster de Amazon. Para obtener más información sobre cómo precargar sus IAM funciones, consulte. Carga previamente tus funciones de ejecución en Studio o Studio Classic
El siguiente ejemplo de política permite llamar a las funciones EMR de ejecución en tiempo de ejecución de Amazon que pertenecen a los grupos de modelado y entrenamientoGetClusterSessionCredentials
. Además, el titular de la póliza puede acceder a EMR los clústeres de Amazon etiquetados con las cadenas modeling
otraining
.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": "elasticmapreduce:GetClusterSessionCredentials", "Resource": "*", "Condition": { "StringLike": { "elasticmapreduce:ExecutionRoleArn": [ "arn:aws:iam::123456780910:role/emr-execution-role-ml-modeling*", "arn:aws:iam::123456780910:role/emr-execution-role-ml-training*" ], "elasticmapreduce:ResourceTag/group": [ "*modeling*", "*training*" ] } } } ] }
Configura la autenticación de roles en tiempo de ejecución cuando tu clúster y Studio estén en cuentas diferentes
Si tu EMR clúster de Amazon no está en tu cuenta de Studio, deja que tu rol de SageMaker ejecución asuma el rol de EMR acceso multicuenta de Amazon para que puedas conectarte al clúster. Complete los siguientes pasos para configurar su configuración multicuenta:
-
Cree SageMaker la política de permisos de la función de ejecución para que la función de ejecución pueda asumir la función de EMR acceso a Amazon. La siguiente política es un ejemplo:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowAssumeCrossAccountEMRAccessRole", "Effect": "Allow", "Action": "sts:AssumeRole", "Resource": "arn:aws:iam::
emr_account_id
:role/emr-access-role-name
" } ] } -
Crea la política de confianza para especificar en qué cuentas de Studio IDs se confía para asumir la función de EMR acceso a Amazon. La siguiente política es un ejemplo:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowCrossAccountSageMakerExecutionRoleToAssumeThisRole", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::
studio_account_id
:role/studio_execution_role
" }, "Action": "sts:AssumeRole" } } -
Cree la política de permisos de la función de EMR acceso de Amazon, que conceda a la función EMR de ejecución en tiempo de ejecución de Amazon los permisos necesarios para llevar a cabo las tareas previstas en el clúster. Configure la función de EMR acceso de Amazon para llamarla API
GetClusterSessionCredentials
con las funciones de ejecución en EMR tiempo de ejecución de Amazon especificadas en la política de permisos de la función de acceso. La siguiente política es un ejemplo:{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowCallingEmrGetClusterSessionCredentialsAPI", "Effect": "Allow", "Action": "elasticmapreduce:GetClusterSessionCredentials", "Resource": "", "Condition": { "StringLike": { "elasticmapreduce:ExecutionRoleArn": [ "arn:aws:iam::
emr_account_id
:role/emr-execution-role-name
" ] } } } ] } -
Configura la red multicuenta para que el tráfico pueda ir y venir entre tus cuentas. Para obtener instrucciones guiadas, consulte Configura el acceso a la red para tu EMR clúster de AmazonConfigurar el. Los pasos de esta sección le ayudan a realizar las siguientes tareas:
-
VPC-compara tu cuenta de Studio y tu EMR cuenta de Amazon para establecer una conexión.
-
Añade rutas manualmente a las tablas de rutas de las subredes privadas de ambas cuentas. Esto permite la creación y conexión de EMR clústeres de Amazon desde la cuenta de Studio a la subred privada de la cuenta remota.
-
Configura el grupo de seguridad adjunto a tu dominio de Studio para permitir el tráfico saliente y el grupo de seguridad del nodo EMR principal de Amazon para permitir el TCP tráfico entrante desde el grupo de seguridad de la instancia de Studio.
-
-
Carga previamente tus roles IAM de tiempo de ejecución para poder seleccionar el rol que usarás cuando te conectes a tu EMR clúster de Amazon. Para obtener más información sobre cómo precargar sus IAM funciones, consulte. Carga previamente tus funciones de ejecución en Studio o Studio Classic
Configurar el acceso a Lake Formation
Al acceder a los datos de los lagos de datos gestionados por AWS Lake Formation, puede aplicar el acceso a nivel de tabla y columna mediante políticas asociadas a su función de tiempo de ejecución. Para configurar el permiso de acceso a Lake Formation, consulte Integrar Amazon EMR with AWS Lake Formation.
Carga previamente tus funciones de ejecución en Studio o Studio Classic
Puedes precargar tus roles IAM de tiempo de ejecución para poder seleccionar el rol que usarás cuando te conectes a tu EMR clúster de Amazon. Los usuarios de JupyterLab In Studio pueden usar la SageMaker consola o el script proporcionado.