

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 CloudFormation plantillas de Amazon EMR en el Service Catalog
<a name="studio-notebooks-set-up-emr-templates"></a>

En este tema se presupone que los administradores están familiarizados con [CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html)[las carteras y los productos de Amazon EMR AWS Service Catalog](https://docs.aws.amazon.com/servicecatalog/latest/adminguide/getstarted-portfolio.html), así como con [Amazon EMR.](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-gs.html)

Para simplificar la creación de clústeres de Amazon EMR desde Studio, los administradores pueden registrar una [ CloudFormation plantilla de Amazon EMR](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticmapreduce-cluster.html) como producto de una cartera. [AWS Service Catalog](https://docs.aws.amazon.com/servicecatalog/latest/adminguide/introduction.html) Para poner la plantilla a disposición de los científicos de datos, deben asociar la cartera con la función de ejecución de la SageMaker IA utilizada en Studio o Studio Classic. Por último, para que los usuarios puedan detectar plantillas, aprovisionar los clústeres y conectarse a los clústeres de Amazon EMR desde Studio o Studio Classic, los administradores deben establecer los permisos de acceso adecuados.

Las CloudFormation plantillas de Amazon EMR permiten a los usuarios finales personalizar varios aspectos del clúster. Por ejemplo, los administradores pueden definir una lista aprobada de tipos de instancias que los usuarios pueden elegir al crear un clúster.

En las siguientes instrucciones, se utilizan end-to-end [CloudFormation pilas](https://github.com/aws-samples/sagemaker-studio-emr/tree/main/cloudformation/getting_started) para configurar un dominio de Studio o Studio Classic, un perfil de usuario, una cartera de Service Catalog y rellenar una plantilla de lanzamiento de Amazon EMR. En los siguientes pasos se destacan los ajustes específicos que los administradores deben aplicar en su end-to-end pila para permitir que Studio o Studio Classic accedan a los productos de Service Catalog y aprovisione los clústeres de Amazon EMR.

**nota**  
El GitHub repositorio [aws-samples/ sagemaker-studio-emr](https://github.com/aws-samples/sagemaker-studio-emr/tree/main/cloudformation/getting_started) contiene end-to-end CloudFormation pilas de ejemplos que implementan las funciones de IAM, las redes, el SageMaker dominio, el perfil de usuario y la cartera de Service Catalog necesarios y añaden una plantilla de lanzamiento de Amazon EMR. CloudFormation Las plantillas proporcionan diferentes opciones de autenticación entre Studio o Studio Classic y el clúster de Amazon EMR. En estas plantillas de ejemplo, la CloudFormation pila principal transfiere los parámetros de la VPC de SageMaker IA, el grupo de seguridad y la subred a la plantilla de clúster de Amazon EMR.  
El repositorio [sagemaker-studio-emr/cloudformation/emr\$1servicecatalog\$1templates contiene varios ejemplos de plantillas](https://github.com/aws-samples/sagemaker-studio-emr/tree/main/cloudformation/emr_servicecatalog_templates) de lanzamiento de Amazon CloudFormation EMR, incluidas opciones para despliegues con una o varias cuentas.  
Consulte [Conéctese a un clúster de Amazon EMR desde SageMaker Studio o Studio Classic](connect-emr-clusters.md) para obtener más información sobre los métodos de autenticación que puede utilizar para conectarse a un clúster de Amazon EMR.

Para permitir que los científicos de datos descubran las CloudFormation plantillas de Amazon EMR y aprovisionar clústeres desde Studio o Studio Classic, siga estos pasos.

## Paso 0: Compruebe su red y prepare su plantilla CloudFormation
<a name="studio-set-up-emr-prereq"></a>

Antes de comenzar:
+ Asegúrese de haber revisado los requisitos de red y seguridad en [Configuración de acceso a la red para su clúster de Amazon EMR](studio-notebooks-emr-networking.md).
+ Debe tener una end-to-end CloudFormation pila existente que sea compatible con el método de autenticación que elija. Puede encontrar ejemplos de este tipo de CloudFormation plantillas en el repositorio [aws-samples/ sagemaker-studio-emr](https://github.com/aws-samples/sagemaker-studio-emr/tree/main/cloudformation/getting_started) GitHub . En los siguientes pasos, se destacan las configuraciones específicas de la end-to-end pila para permitir el uso de plantillas de Amazon EMR en Studio o Studio Classic. 

## Paso 1: Asocie su cartera de Service Catalog a la SageMaker IA
<a name="studio-set-up-emr-service-catalog-portfolio"></a>

**En su cartera de Service Catalog**, asocie su ID de cartera con la función de ejecución de SageMaker IA que accede a su clúster.

Para ello, añada la siguiente sección (aquí en formato YAML) a su pila. Esto otorga al rol de ejecución de SageMaker IA acceso a la cartera de Service Catalog especificada que contiene productos como las plantillas de Amazon EMR. Permite que la SageMaker IA asuma las funciones para lanzar esos productos.

 Sustituya *SageMakerExecutionRole.Arn* y *SageMakerStudioEMRProductPortfolio.ID* por sus valores reales.

```
SageMakerStudioEMRProductPortfolioPrincipalAssociation:
    Type: AWS::ServiceCatalog::PortfolioPrincipalAssociation
    Properties:
      PrincipalARN: SageMakerExecutionRole.Arn
      PortfolioId: SageMakerStudioEMRProductPortfolio.ID
      PrincipalType: IAM
```

Para obtener más información sobre el conjunto necesario de permisos de IAM, consulte la sección sobre [permisos](#studio-emr-permissions).

## Paso 2: referencia a una plantilla de Amazon EMR en un producto de Service Catalog
<a name="studio-set-up-emr-service-catalog-product"></a>

**En un producto de Service Catalog de su cartera**, haga referencia a un recurso de plantilla de Amazon EMR y garantice su visibilidad en Studio o Studio Classic. 

Para ello, haga referencia al recurso de plantilla de Amazon EMR en la definición del producto de Service Catalog y, a continuación, añada el siguiente conjunto `"sagemaker:studio-visibility:emr"` de claves de etiquetas al valor `"true"` (consulte el ejemplo en formato YAML).

En la definición del producto de Service Catalog, se hace referencia a la CloudFormation plantilla del clúster mediante una URL. La etiqueta adicional establecida en true garantiza la visibilidad de las plantillas de Amazon EMR en Studio o Studio Classic. 

**nota**  
La plantilla de Amazon EMR a la que hace referencia la URL proporcionada en el ejemplo no exige ningún requisito de autenticación cuando se inicializa. Esta opción está pensada para fines de demostración y aprendizaje. No se recomienda en un entorno de producción.

```
SMStudioEMRNoAuthProduct:
    Type: AWS::ServiceCatalog::CloudFormationProduct
    Properties:
      Owner: AWS
      Name: SageMaker Studio Domain No Auth EMR
      ProvisioningArtifactParameters:
        - Name: SageMaker Studio Domain No Auth EMR
          Description: Provisions a SageMaker domain and No Auth EMR Cluster
          Info:
            LoadTemplateFromURL: Link to your CloudFormation template. For example, https://aws-blogs-artifacts-public.s3.amazonaws.com/artifacts/astra-m4-sagemaker/end-to-end/CFN-EMR-NoStudioNoAuthTemplate-v3.yaml
      Tags:
        - Key: "sagemaker:studio-visibility:emr"
          Value: "true"
```

## Paso 3: parametrizar la plantilla Amazon EMR CloudFormation
<a name="studio-set-up-emr-cfn-template"></a>

**La CloudFormation plantilla utilizada para definir el clúster de Amazon EMR en el producto Service Catalog** permite a los administradores especificar parámetros configurables. Los administradores pueden definir valores `Default` y rangos `AllowedValues` para estos parámetros en la sección `Parameters` de la plantilla. Durante el proceso de inicialización del clúster, los científicos de datos pueden proporcionar entradas personalizadas o seleccionar entre esas opciones predefinidas para personalizar determinados aspectos de su clúster de Amazon EMR.

El siguiente ejemplo ilustra los parámetros de entrada adicionales que los administradores pueden establecer al crear una plantilla de Amazon EMR.

```
"Parameters": {
    "EmrClusterName": {
      "Type": "String",
      "Description": "EMR cluster Name."
    },
    "MasterInstanceType": {
      "Type": "String",
      "Description": "Instance type of the EMR master node.",
      "Default": "m5.xlarge",
      "AllowedValues": [
        "m5.xlarge",
        "m5.2xlarge",
        "m5.4xlarge"
      ]
    },
    "CoreInstanceType": {
      "Type": "String",
      "Description": "Instance type of the EMR core nodes.",
      "Default": "m5.xlarge",
      "AllowedValues": [
        "m5.xlarge",
        "m5.2xlarge",
        "m5.4xlarge",
        "m3.medium",
        "m3.large",
        "m3.xlarge",
        "m3.2xlarge"
      ]
    },
    "CoreInstanceCount": {
      "Type": "String",
      "Description": "Number of core instances in the EMR cluster.",
      "Default": "2",
      "AllowedValues": [
        "2",
        "5",
        "10"
      ]
    },
    "EmrReleaseVersion": {
      "Type": "String",
      "Description": "The release version of EMR to launch.",
      "Default": "emr-5.33.1",
      "AllowedValues": [
        "emr-5.33.1",
        "emr-6.4.0"
      ]
    }
  }
```

Una vez que los administradores hayan hecho que las CloudFormation plantillas de Amazon EMR estén disponibles en Studio, los científicos de datos pueden utilizarlas para aprovisionar automáticamente los clústeres de Amazon EMR. La sección `Parameters` definida en la plantilla se traduce en campos de entrada en el formulario de creación del clúster en Studio o Studio Classic. Para cada parámetro, los científicos de datos pueden introducir un valor personalizado en el cuadro de entrada o seleccionar una de las opciones predefinidas que aparecen en un menú desplegable, que corresponde a los `AllowedValues` especificados en la plantilla.

La siguiente ilustración muestra el formulario dinámico ensamblado a partir de una plantilla de CloudFormation Amazon EMR para crear un clúster de Amazon EMR en Studio o Studio Classic.

![\[Ilustración de un formulario dinámico ensamblado a partir de una plantilla de CloudFormation Amazon EMR para crear un clúster de Amazon EMR desde Studio o Studio Classic.\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/studio/emr/studio-notebooks-emr-cluster-creation.png)


Visite [Inicialización de un clúster de Amazon EMR desde Studio o Studio Classic](studio-notebooks-launch-emr-cluster-from-template.md) para aprender a inicializar un clúster desde Studio o Studio Classic con esas plantillas de Amazon EMR.

## Paso 4: configuración de los permisos para habilitar la enumeración y la inicialización de clústeres de Amazon EMR desde Studio
<a name="studio-emr-permissions"></a>

Por último, asocie los permisos de IAM necesarios para poder enumerar los clústeres de Amazon EMR existentes en ejecución y autoaprovisionar nuevos clústeres desde Studio o Studio Classic.

El rol o roles a los que debe añadir esos permisos depende de si Studio o Studio Classic y Amazon EMR están implementados en la misma cuenta (elija *Cuenta única*) o en cuentas diferentes (elija *Entre cuentas*).

**importante**  
Solo puede descubrir clústeres de Amazon EMR y conectarse a ellos para JupyterLab aplicaciones de Studio Classic que se lancen desde espacios privados. Asegúrese de que los clústeres de Amazon EMR estén ubicados en la misma AWS región que su entorno de Studio.

### Cuenta única
<a name="studio-set-up-emr-permissions-singleaccount"></a>

Si sus clústeres de Amazon EMR y Studio o Studio Classic están implementados en la misma AWS cuenta, asocie los siguientes permisos a la función de ejecución de SageMaker IA que accede a su clúster.

1. **Paso 1**: recupere el ARN del rol de ejecución de SageMaker IA utilizado en su espacio privado.

   Para obtener información sobre los espacios y las funciones de ejecución en la SageMaker IA, consulte[Descripción de los permisos y roles de ejecución de espacio de dominio](execution-roles-and-spaces.md).

   Para obtener más información sobre cómo recuperar el ARN de la función de ejecución de la SageMaker IA, consulte. [Obtención del rol de ejecución](sagemaker-roles.md#sagemaker-roles-get-execution-role)

1. **Paso 2**: Adjunte los siguientes permisos a la función de ejecución de SageMaker IA que accede a sus clústeres de Amazon EMR.

   1. Vaya a la [consola de IAM](https://console.aws.amazon.com/iam).

   1. Elija **Roles** y, a continuación, busque su rol de ejecución por su nombre en el campo **Buscar**. El nombre del rol se encuentra en la última parte del ARN, después de la última barra diagonal (/). 

   1. Siga el enlace a su rol.

   1. Elija **Agregar permisos** y, a continuación, **Crear política insertada**.

   1. En la pestaña **JSON**, añada los permisos de Amazon EMR que permiten el acceso y las operaciones de Amazon EMR. Para obtener más información sobre el documento de política, consulte *List Amazon EMR policies* en [Políticas de referencia](studio-set-up-emr-permissions-reference.md). Sustituya `region` y `accountID` por sus valores reales antes de copiar la lista de instrucciones a la política insertada de su rol.

   1. Elija **Siguiente** y, a continuación, proporcione un **Nombre de política**.

   1. Elija **Crear política**.

   1. Repita el paso **Crear política insertada** para añadir otra política que conceda al rol de ejecución los permisos para aprovisionar nuevos clústeres de Amazon EMR mediante plantillas de CloudFormation . Para obtener más información sobre el documento de política, consulta *Crear EMRclusters políticas de Amazon* en[Políticas de referencia](studio-set-up-emr-permissions-reference.md). Sustituya `region` y `accountID` por sus valores reales antes de copiar la lista de instrucciones a la política insertada de su rol.

**nota**  
Los usuarios de la conectividad del control de acceso basado en roles (RBAC) con los clústeres de Amazon EMR también deben consultar [Configuración de la autenticación de roles en tiempo de ejecución cuando el clúster de Amazon EMR y Studio están en la misma cuenta](studio-notebooks-emr-cluster-rbac.md#studio-notebooks-emr-cluster-iam-same). 

### Entre cuentas
<a name="studio-set-up-emr-permissions-crossaccount"></a>

Antes de empezar, recupere el ARN de la función de ejecución de SageMaker IA utilizada en su espacio privado.

Para obtener información sobre los espacios y las funciones de ejecución en la SageMaker IA, consulte[Descripción de los permisos y roles de ejecución de espacio de dominio](execution-roles-and-spaces.md).

Para obtener más información sobre cómo recuperar el ARN de la función de ejecución de la SageMaker IA, consulte. [Obtención del rol de ejecución](sagemaker-roles.md#sagemaker-roles-get-execution-role)

Si sus clústeres de Amazon EMR y Studio o Studio Classic se implementan en AWS cuentas independientes, debe configurar los permisos en ambas cuentas.

**nota**  
Los usuarios de la conectividad del control de acceso basado en roles (RBAC) con los clústeres de Amazon EMR también deben consultar [Configuración de la autenticación de roles en tiempo de ejecución cuando el clúster y Studio están en cuentas diferentes](studio-notebooks-emr-cluster-rbac.md#studio-notebooks-emr-cluster-iam-diff). 

#### En la cuenta de clúster de Amazon EMR
<a name="studio-set-up-emr-permissions-crossaccount-emraccount"></a>

Siga estos pasos para crear los roles y las políticas necesarios en la cuenta en la que está implementado Amazon EMR, también conocida como *cuenta de confianza*:

1. **Paso 1**: recuperación del ARN del [rol de servicio de su clúster de Amazon EMR](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-iam-role.html). 

   Para aprender a buscar el ARN del rol de servicio de un clúster, consulte [Configuración de los roles de servicio de IAM de los permisos de Amazon EMR para los servicios y recursos de AWS](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-iam-roles.html#emr-iam-role-landing).

1. **Paso 2**: creación de un rol de IAM personalizado denominado `AssumableRole` con la siguiente configuración:
   + Permisos: conceda los permisos necesarios a `AssumableRole` para permitir el acceso a los recursos de Amazon EMR. Este rol también se conoce como *rol de acceso* en situaciones que implican el acceso entre cuentas.
   + Relación de confianza: configure la política de confianza para `AssumableRole` para permitir asumir el rol de ejecución (el `SageMakerExecutionRole` en el diagrama Entre cuentas) desde la cuenta de Studio a la que se requiere acceso.

   Al asumir el rol, Studio o Studio Classic pueden obtener acceso temporal a los permisos que necesitan en Amazon EMR.

   Para obtener instrucciones detalladas sobre cómo crear una cuenta nueva `AssumableRole` en tu AWS cuenta de Amazon EMR, sigue estos pasos:

   1. Vaya a la [consola de IAM](https://console.aws.amazon.com/iam).

   1. En el panel de navegación de la izquierda, seleccione **Política** y, a continuación, **Crear política**.

   1. En la pestaña **JSON**, añada los permisos de Amazon EMR que permiten el acceso y las operaciones de Amazon EMR. Para obtener más información sobre el documento de política, consulte *List Amazon EMR policies* en [Políticas de referencia](studio-set-up-emr-permissions-reference.md). Sustituya `region` y `accountID` por sus valores reales antes de copiar la lista de instrucciones a la política insertada de su rol.

   1. Elija **Siguiente** y, a continuación, proporcione un **Nombre de política**.

   1. Elija **Crear política**.

   1. En el panel de navegación izquierdo, seleccione **Roles** y, a continuación, **Crear rol**.

   1. En la página **Crear rol**, elija la opción **Política de confianza personalizada** como entidad de confianza.

   1. Pegue el siguiente documento JSON en la sección **Política de confianza personalizada** y, a continuación, seleccione **Siguiente**.

------
#### [ For users of Studio and JupyterLab ]

      `studio-account`Sustitúyala por el ID de cuenta de Studio y `AmazonSageMaker-ExecutionRole` por la función de ejecución que utilice tu JupyterLab espacio.

------
#### [ JSON ]

****  

      ```
      {
          "Version":"2012-10-17",		 	 	 
          "Statement": [
              {
                  "Effect": "Allow",
                  "Principal": {
                      "AWS": "arn:aws:iam::111122223333:role/service-role/AmazonSageMaker-ExecutionRole"
                  },
                  "Action": "sts:AssumeRole"
              }
          ]
      }
      ```

------

------
#### [ For users of Studio Classic ]

      Sustituya `studio-account` por el ID de cuenta de Studio Classic.

------
#### [ JSON ]

****  

      ```
      {
          "Version":"2012-10-17",		 	 	 
          "Statement": [
              {
                  "Effect": "Allow",
                  "Principal": {
                      "AWS": "arn:aws:iam::111122223333:root"
                  },
                  "Action": "sts:AssumeRole"
              }
          ]
      }
      ```

------

------

   1. En la página **Agregar permisos**, añada el permiso que acaba de crear y, a continuación, seleccione **Siguiente**.

   1. En la página **Revisar**, introduzca un nombre para el rol como `AssumableRole` y una descripción opcional.

   1. Revise los detalles del rol y seleccione **Crear rol**.

   Para obtener más información sobre cómo crear un rol en una cuenta de AWS , consulte [Creación de un rol de IAM (consola)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user.html).

#### En la cuenta de Studio
<a name="studio-set-up-emr-permissions-crossaccount-studioaccount"></a>

En la cuenta en la que esté desplegado Studio, también conocida como *cuenta de confianza*, actualice la función de ejecución de SageMaker IA para acceder a sus clústeres con los permisos necesarios para acceder a los recursos de la cuenta de confianza.

1. **Paso 1**: recupere el ARN del rol de ejecución de SageMaker IA utilizado en su espacio privado.

   Para obtener información sobre los espacios y las funciones de ejecución en la SageMaker IA, consulte[Descripción de los permisos y roles de ejecución de espacio de dominio](execution-roles-and-spaces.md).

   Para obtener más información sobre cómo recuperar el ARN de la función de ejecución de la SageMaker IA, consulte. [Obtención del rol de ejecución](sagemaker-roles.md#sagemaker-roles-get-execution-role)

1. **Paso 2**: Adjunte los siguientes permisos a la función de ejecución de SageMaker IA que accede a sus clústeres de Amazon EMR.

   1. Vaya a la [consola de IAM](https://console.aws.amazon.com/iam).

   1. Elija **Roles** y, a continuación, busque su rol de ejecución por su nombre en el campo **Buscar**. El nombre del rol se encuentra en la última parte del ARN, después de la última barra diagonal (/). 

   1. Siga el enlace a su rol.

   1. Elija **Agregar permisos** y, a continuación, **Crear política insertada**.

   1. En la pestaña **JSON**, añada la política insertada que concede al rol permisos para actualizar los dominios, los perfiles de usuario y los espacios. Para obtener más información sobre el documento de política, consulte *Domain, user profile, and space update actions policy* en [Políticas de referencia](studio-set-up-emr-permissions-reference.md). Sustituya `region` y `accountID` por sus valores reales antes de copiar la lista de instrucciones a la política insertada de su rol.

   1. Elija **Siguiente** y, a continuación, proporcione un **Nombre de política**.

   1. Elija **Crear política**.

   1. Repita el paso **Crear una política insertada** para añadir otra política que conceda al rol de ejecución los permisos para asumir el `AssumableRole` y luego realice las acciones permitidas por la política de acceso del rol. Sustituya `emr-account` por el ID de cuenta Amazon EMR y `AssumableRole` por el nombre del rol asumible creado en la cuenta de Amazon EMR.

------
#### [ JSON ]

****  

      ```
      {
          "Version":"2012-10-17",		 	 	 
          "Statement": [
              {
                  "Sid": "AllowRoleAssumptionForCrossAccountDiscovery",
                  "Effect": "Allow",
                  "Action": "sts:AssumeRole",
                  "Resource": [
                      "arn:aws:iam::111122223333:role/AssumableRole"
                  ]
              }
          ]
      }
      ```

------

   1. Repita el paso **Crear política insertada** para añadir otra política que conceda al rol de ejecución los permisos para aprovisionar nuevos clústeres de Amazon EMR mediante plantillas de CloudFormation . Para obtener más información sobre el documento de política, consulta *Crear EMRclusters políticas de Amazon* en[Políticas de referencia](studio-set-up-emr-permissions-reference.md). Sustituya `region` y `accountID` por sus valores reales antes de copiar la lista de instrucciones a la política insertada de su rol.

   1. (Opcional) Para poder enumerar los clústeres de Amazon EMR implementados en la misma cuenta que Studio, añada una política interna adicional a su rol de ejecución de Studio, tal y como se define en *List Amazon EMR policies* en [Políticas de referencia](studio-set-up-emr-permissions-reference.md). 

1. **Paso 3**: Asocia tus funciones asumibles (función de acceso) a tu dominio o perfil de usuario. JupyterLab los usuarios de Studio pueden usar la consola de SageMaker IA o el script proporcionado.

    Elija la pestaña que corresponda a su caso de uso.

------
#### [ Associate your assumable roles in JupyterLab using the SageMaker AI console ]

   Para asociar tus funciones asumibles a tu perfil de usuario o dominio mediante la consola de SageMaker IA:

   1. Navegue hasta la consola de SageMaker IA en [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

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

   1. 
      + Para añadir sus funciones asumibles (función de acceso) a su dominio: en la pestaña **Configuraciones de aplicaciones** de la página de **detalles del dominio**, vaya a la **JupyterLab**sección.
      + Para añadir sus funciones asumibles (función de acceso) a su perfil de usuario: en la página de **detalles del dominio**, elija la pestaña **Perfiles de usuario** y seleccione el perfil de usuario mediante la función de ejecución de SageMaker IA cuyos permisos haya actualizado. En la pestaña **Configuraciones de aplicaciones**, navegue hasta la **JupyterLab**sección.

   1. Elija **Editar** y añada ARNs la función asumible (función de acceso).

   1. Seleccione **Enviar**.

------
#### [ Associate your assumable 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 los valores `domainID`, `user-profile-name`, `emr-accountID` y `AssumableRole` (`EMRServiceRole` para los [roles de tiempo de ejecución de RBAC]()) por sus valores adecuados. Este fragmento de código actualiza la configuración del perfil de usuario para un perfil de usuario (uso`client.update_userprofile`) o una configuración de dominio (uso`client.update_domain`) específicos dentro de un dominio de SageMaker IA. En concreto, permite que la JupyterLab aplicación asuma una función de IAM concreta (`AssumableRole`) para ejecutar clústeres de Amazon EMR dentro de la cuenta de Amazon EMR.

   ```
   import botocore.session
   import json
   sess = botocore.session.get_session()
   client = sess.create_client('sagemaker')
   
   client.update_userprofile(
   DomainId="domainID", 
   UserProfileName="user-profile-name",
   DefaultUserSettings={
       '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))
   ```

------
#### [ For users of Studio Classic ]

   Proporcione el ARN de `AssumableRole` a su rol de ejecución de Studio Classic. El servidor de Jupyter carga el ARN al inicializarse. El rol de ejecución de Studio asume ese rol de varias cuentas para detectar y conectarse a los clústeres de Amazon EMR en la *cuenta de confianza*.

   Puede especificar esta información mediante scripts de configuración del ciclo de vida (LCC). Puede asociar la LCC a su dominio o a un perfil de usuario específico. El script de LCC que utilice debe ser una configuración. JupyterServer Para obtener más información sobre cómo crear un script de LCC, consulte [Use Lifecycle Configurations with Studio Classic](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-lcc.html). 

   A continuación se muestra un ejemplo de script. Para modificar el script, sustituya `AssumableRole` y `emr-account` por sus valores correspondientes. El número de cuentas cruzadas está limitado a cinco.

   ```
   # This script creates the file that informs Studio Classic that the role "arn:aws:iam::emr-account:role/AssumableRole" in remote account "emr-account" must be assumed to list and describe Amazon EMR clusters in the remote account.
   
   #!/bin/bash
   
   set -eux
   
   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 > "$FILE" <<- "EOF"
   {
     emr-cross-account1: "arn:aws:iam::emr-cross-account1:role/AssumableRole",
     emr-cross-account2: "arn:aws:iam::emr-cross-account2:role/AssumableRole"
   }
   EOF
   ```

    Una vez que se ejecuta la LCC y se escriben los archivos, el servidor lee el archivo `/home/sagemaker-user/.cross-account-configuration-DO_NOT_DELETE/emr-discovery-iam-role-arns-DO_NOT_DELETE.json` y almacena el ARN entre cuentas.

------