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.
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 sus trabajos de Apache Spark, Apache Hive o Presto creados desde su cuaderno accederán únicamente a los datos y recursos permitidos por las políticas asociadas al rol de tiempo de ejecución. Además, cuando se accede a los datos desde lagos de datos gestionados con él AWS Lake Formation, puedes aplicar el acceso a nivel de tabla y columna mediante políticas asociadas a la función de tiempo de ejecución.
Con esta capacidad, usted y sus compañeros de equipo pueden conectarse al mismo clúster, cada uno con un rol de tiempo de ejecución limitado con permisos que se ajusten a su 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 comenzar, asegúrese de que 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 roles 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 cuaderno con cualquiera de los kernels que aparecen en Imá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 de Configura Studio para usar IAM roles de tiempo de ejecución para configurar sus roles 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 residen 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 otorga 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. Su función de ejecución de Studio tiene permiso para usar Amazon EMR API GetClusterSessionCredentials
para acceder a su clúster. Para acceder al bucket de Amazon S3, otorgue a la función de EMR ejecución de Amazon Runtime 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. Luego, 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 previa de sus roles 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 previa de sus roles 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*"
]
}
}
}
]
}
Configuración de la autenticación de roles en tiempo de ejecución cuando el 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 función de ejecución de SageMaker IA asuma la función de EMR acceso multicuenta de Amazon para que puedas conectarte al clúster. Siga estos pasos para realizar su configuración de varias cuentas:
-
Cree su política de permisos para la función de ejecución de SageMaker IA para que la función de ejecución pueda asumir la función de EMR acceso a Amazon. A continuación, se muestra un ejemplo de política:
{ "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. A continuación, se muestra un ejemplo de política:
{ "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. A continuación, se muestra un ejemplo de política:{ "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
" ] } } } ] } -
Configure la red de varias cuentas para que el tráfico pueda fluir entre sus cuentas. Para obtener instrucciones, consulte Configura el acceso a la red para tu EMR clúster de AmazonSet up the . Los pasos de esta sección le ayudarán a completar las siguientes tareas:
-
VPC-compara tu cuenta de Studio y tu EMR cuenta de Amazon para establecer una conexión.
-
Añada manualmente rutas a las tablas de enrutamiento de las subredes privadas en 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 previa de sus roles de ejecución en Studio o Studio Classic
Configuración del acceso a Lake Formation
Cuando accede a los datos de los lagos de datos gestionados por AWS Lake Formation, puede imponer 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 previa de sus roles 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 consola de SageMaker IA o el script proporcionado.
Para asociar tus funciones de tiempo de ejecución a tu perfil de usuario o dominio mediante la consola de SageMaker IA:
-
Dirígete a la consola de SageMaker IA en https://console.aws.amazon.com/sagemaker/
. -
En el panel de navegación izquierdo, elige el dominio y, a continuación, selecciona el dominio mediante la función de ejecución de SageMaker IA cuyos permisos has actualizado.
-
-
Para añadir tu tiempo de ejecución (y tus funciones de acceso en caso de uso multicuenta) a tu dominio: en la pestaña Configuraciones de aplicaciones de la página de detalles del dominio, navega hasta la JupyterLabsección.
-
Para añadir tu tiempo de ejecución (y las funciones de acceso en caso de uso multicuenta) a tu perfil de usuario: en la página de detalles del dominio, selecciona la pestaña Perfiles de usuario y selecciona el perfil de usuario mediante la función de ejecución de SageMaker IA cuyos permisos has actualizado. En la pestaña Configuraciones de aplicaciones, dirígete a la JupyterLabsección.
-
-
Elija Editar y añada su función ARNs de acceso (función asumible) y la función de ejecución en tiempo de ejecución EMR sin servidor.
-
Seleccione Submit (Enviar).
La próxima vez que te conectes a un EMR servidor de Amazon, los roles de tiempo de ejecución deberían aparecer en un menú desplegable para su selección.