Seleccione sus preferencias de cookies

Usamos cookies esenciales y herramientas similares que son necesarias para proporcionar nuestro sitio y nuestros servicios. Usamos cookies de rendimiento para recopilar estadísticas anónimas para que podamos entender cómo los clientes usan nuestro sitio y hacer mejoras. Las cookies esenciales no se pueden desactivar, pero puede hacer clic en “Personalizar” o “Rechazar” para rechazar las cookies de rendimiento.

Si está de acuerdo, AWS y los terceros aprobados también utilizarán cookies para proporcionar características útiles del sitio, recordar sus preferencias y mostrar contenido relevante, incluida publicidad relevante. Para aceptar o rechazar todas las cookies no esenciales, haga clic en “Aceptar” o “Rechazar”. Para elegir opciones más detalladas, haga clic en “Personalizar”.

Configurar las funciones IAM de tiempo de ejecución para el acceso a los EMR clústeres de Amazon en Studio

Modo de enfoque
Configurar las funciones IAM de tiempo de ejecución para el acceso a los EMR clústeres de Amazon en Studio - Amazon SageMaker AI

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.

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 Studio Classic. Esta entrada de blog le ayuda a configurar un entorno de demostración en el que puede intentar utilizar funciones de tiempo de ejecución preconfiguradas para conectarse a los EMR clústeres de Amazon.

Requisitos previos

Antes de comenzar, asegúrese de que cumplir los siguientes requisitos previos:

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:

La autenticación de IAM roles en tiempo de ejecución admite escenarios multicuentas.

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:

  1. 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.

  2. 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.

  3. (Opcional) Conceda permiso para transferir IAM funciones que sigan cualquier convención de nomenclatura definida por el usuario.

  4. (Opcional) Concede permiso para acceder a EMR los clústeres de Amazon que estén etiquetados con cadenas específicas definidas por el usuario.

  5. 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:

  1. 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" } ] }
  2. 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" } }
  3. 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" ] } } } ] }
  4. 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:

    1. VPC-compara tu cuenta de Studio y tu EMR cuenta de Amazon para establecer una conexión.

    2. 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.

    3. 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.

  5. 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.

Preload runtime roles in JupyterLab using the SageMaker AI console

Para asociar tus funciones de tiempo de ejecución a tu perfil de usuario o dominio mediante la consola de SageMaker IA:

  1. Dirígete a la consola de SageMaker IA en https://console.aws.amazon.com/sagemaker/.

  2. 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.

  3. 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.

  4. 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.

Preload runtime roles in JupyterLab using a Python script

En una JupyterLab aplicación iniciada desde un espacio con el rol de ejecución de SageMaker IA cuyos permisos hayas actualizado, ejecuta el siguiente comando en una terminal. Sustituya domainID, user-profile-name, emr-accountID y EMRServiceRole por sus valores adecuados. Este fragmento de código actualiza la configuración de un perfil de usuario (client.update_user_profile) dentro de un dominio de SageMaker IA en un caso de uso entre cuentas. En concreto, establece las funciones de servicio de AmazonEMR. También permite que la JupyterLab aplicación asuma una IAM función determinada (AssumableRoleoAccessRole) para ejecutar Amazon EMR dentro de la EMR cuenta de Amazon.

Como alternativa, utilice client.update_domain para actualizar la configuración del dominio si su espacio utiliza un rol de ejecución establecido en el dominio.

import botocore.session import json sess = botocore.session.get_session() client = sess.create_client('sagemaker') client.update_user_profile( DomainId="domainID", UserProfileName="user-profile-name", UserSettings={ 'JupyterLabAppSettings': { 'EmrSettings': { 'AssumableRoleArns': ["arn:aws:iam::emr-accountID:role/AssumableRole"], 'ExecutionRoleArns': ["arn:aws:iam::emr-accountID:role/EMRServiceRole", "arn:aws:iam::emr-accountID:role/AnotherServiceRole"] } } }) resp = client.describe_user_profile(DomainId="domainID", UserProfileName=user-profile-name") resp['CreationTime'] = str(resp['CreationTime']) resp['LastModifiedTime'] = str(resp['LastModifiedTime']) print(json.dumps(resp, indent=2))
Preload runtime roles in Studio Classic

Proporcione el ARN AccessRole (AssumableRole) a su función de ejecución de SageMaker IA. Lo carga ARN el servidor de Jupyter en el momento del lanzamiento. La función de ejecución utilizada por Studio asume esa función multicuenta para detectar los EMR clústeres de Amazon de la cuenta de confianza y conectarse a ellos.

Puede especificar esta información mediante los scripts de Lifecycle Configuration (LCC). Puede adjuntarlos LCC a su dominio o a un perfil de usuario específico. El LCC script que utilice debe ser una JupyterServer configuración. Para obtener más información sobre cómo crear un LCC script, consulte Usar configuraciones de ciclo de vida con Studio Classic.

El siguiente es un LCC script de ejemplo. Para modificar el script, sustituya AssumableRole y emr-account por sus valores correspondientes. El número de cuentas cruzadas está limitado a cinco.

El siguiente fragmento es un ejemplo de script LCC bash que puede aplicar si la aplicación y el clúster de Studio Classic están en la misma cuenta:

#!/bin/bash set -eux FILE_DIRECTORY="/home/sagemaker-user/.sagemaker-analytics-configuration-DO_NOT_DELETE" FILE_NAME="emr-configurations-DO_NOT_DELETE.json" FILE="$FILE_DIRECTORY/$FILE_NAME" mkdir -p $FILE_DIRECTORY cat << 'EOF' > "$FILE" { "emr-execution-role-arns": { "123456789012": [ "arn:aws:iam::123456789012:role/emr-execution-role-1", "arn:aws:iam::123456789012:role/emr-execution-role-2" ] } } EOF

Si la aplicación Studio Classic y los clústeres están en cuentas diferentes, especifique los roles de EMR acceso de Amazon que pueden usar el clúster. En el siguiente ejemplo de política, 123456789012 es el ID de la cuenta del EMR clúster de Amazon y 212121212121 y 434343434343 son los de las funciones de acceso a Amazon permitidas. ARNs EMR

#!/bin/bash set -eux FILE_DIRECTORY="/home/sagemaker-user/.sagemaker-analytics-configuration-DO_NOT_DELETE" FILE_NAME="emr-configurations-DO_NOT_DELETE.json" FILE="$FILE_DIRECTORY/$FILE_NAME" mkdir -p $FILE_DIRECTORY cat << 'EOF' > "$FILE" { "emr-execution-role-arns": { "123456789012": [ "arn:aws:iam::212121212121:role/emr-execution-role-1", "arn:aws:iam::434343434343:role/emr-execution-role-2" ] } } EOF # add your cross-account EMR access role FILE_DIRECTORY="/home/sagemaker-user/.cross-account-configuration-DO_NOT_DELETE" FILE_NAME="emr-discovery-iam-role-arns-DO_NOT_DELETE.json" FILE="$FILE_DIRECTORY/$FILE_NAME" mkdir -p $FILE_DIRECTORY cat << 'EOF' > "$FILE" { "123456789012": "arn:aws:iam::123456789012:role/cross-account-emr-access-role" } EOF

Para asociar tus funciones de tiempo de ejecución a tu perfil de usuario o dominio mediante la consola de SageMaker IA:

  1. Dirígete a la consola de SageMaker IA en https://console.aws.amazon.com/sagemaker/.

  2. 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.

  3. 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.

  4. 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.

PrivacidadTérminos del sitioPreferencias de cookies
© 2025, Amazon Web Services, Inc o sus afiliados. Todos los derechos reservados.