

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Configurar CloudFormation modelos do Amazon EMR no Service Catalog
<a name="studio-notebooks-set-up-emr-templates"></a>

[Este tópico pressupõe que os administradores estejam familiarizados com [CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html)[os portfólios e produtos](https://docs.aws.amazon.com/servicecatalog/latest/adminguide/getstarted-portfolio.html) do Amazon EMR. AWS Service Catalog](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-gs.html)

Para simplificar a criação de clusters do Amazon EMR a partir do Studio, os administradores podem registrar um [ CloudFormation modelo do Amazon EMR](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticmapreduce-cluster.html) como um produto em um portfólio. [AWS Service Catalog](https://docs.aws.amazon.com/servicecatalog/latest/adminguide/introduction.html) Para disponibilizar o modelo aos cientistas de dados, eles devem associar o portfólio à função de execução de SageMaker IA usada no Studio ou no Studio Classic. Por fim, para permitir que os usuários descubram modelos, provisionem clusters e se conectem aos clusters do Amazon EMR no Studio ou Studio Classic, os administradores precisam definir as permissões de acesso apropriadas.

Os CloudFormation modelos do Amazon EMR podem permitir que os usuários finais personalizem vários aspectos do cluster. Por exemplo, o administrador pode definir uma lista de tipos de instância permitidos que os usuários podem escolher ao criar um cluster.

As instruções a seguir usam end-to-end [CloudFormation pilhas](https://github.com/aws-samples/sagemaker-studio-emr/tree/main/cloudformation/getting_started) para configurar um domínio Studio ou Studio Classic, um perfil de usuário, um portfólio do Service Catalog e preencher um modelo de lançamento do Amazon EMR. As etapas a seguir destacam as configurações específicas que os administradores devem aplicar em sua end-to-end pilha para permitir que o Studio ou o Studio Classic acessem os produtos do Service Catalog e provisionem clusters do Amazon EMR.

**nota**  
O GitHub repositório [aws-samples/ sagemaker-studio-emr](https://github.com/aws-samples/sagemaker-studio-emr/tree/main/cloudformation/getting_started) contém exemplos de end-to-end CloudFormation pilhas que implantam as funções, a rede, o domínio, o perfil de SageMaker usuário, o portfólio do Service Catalog necessários e adicionam um modelo de lançamento do Amazon EMR. CloudFormation Os modelos oferecem diferentes opções de autenticação entre o Studio ou o Studio Classic e o cluster do Amazon EMR. Nesses modelos de exemplo, a CloudFormation pilha principal passa os parâmetros de SageMaker AI VPC, grupo de segurança e sub-rede para o modelo de cluster do Amazon EMR.  
O repositório [sagemaker-studio-emr/cloudformation/emr\$1servicecatalog\$1templates](https://github.com/aws-samples/sagemaker-studio-emr/tree/main/cloudformation/emr_servicecatalog_templates) contém vários exemplos de modelos de lançamento do Amazon EMR, incluindo opções para implantações de conta única e entre contas. CloudFormation   
Consulte [Conecte-se a um cluster do Amazon EMR a partir do SageMaker Studio ou do Studio Classic](connect-emr-clusters.md) para obter detalhes sobre os métodos de autenticação que você pode usar para se conectar a um cluster do Amazon EMR.

Para permitir que cientistas de dados descubram CloudFormation modelos do Amazon EMR e provisionem clusters do Studio ou do Studio Classic, siga estas etapas.

## Etapa 0: verifique sua rede e prepare sua CloudFormation pilha
<a name="studio-set-up-emr-prereq"></a>

Antes de começar:
+ Verifique se você analisou os requisitos de rede e segurança em [Configurar o acesso à rede para o cluster do Amazon EMR](studio-notebooks-emr-networking.md).
+ Você deve ter uma end-to-end CloudFormation pilha existente que ofereça suporte ao método de autenticação de sua escolha. Você pode encontrar exemplos desses CloudFormation modelos no repositório [sagemaker-studio-emr GitHub aws-samples/](https://github.com/aws-samples/sagemaker-studio-emr/tree/main/cloudformation/getting_started). As etapas a seguir destacam as configurações específicas em sua end-to-end pilha para permitir o uso de modelos do Amazon EMR no Studio ou no Studio Classic. 

## Etapa 1: associar seu portfólio do Service Catalog à SageMaker IA
<a name="studio-set-up-emr-service-catalog-portfolio"></a>

**Em seu portfólio do Service Catalog**, associe seu ID de portfólio à função de execução de SageMaker IA que acessa seu cluster.

Para fazer isso, adicione a seção a seguir (aqui, no formato YAML) à sua pilha. Isso concede à função de execução de SageMaker IA acesso ao portfólio especificado do Service Catalog contendo produtos como os modelos do Amazon EMR. Ele permite que as funções assumidas pela SageMaker IA lancem esses produtos.

 *SageMakerStudioEMRProductPortfolio.ID*Substitua *SageMakerExecutionRole.Arn* e por seus valores reais.

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

Para obter detalhes sobre o conjunto necessário de permissões do IAM, consulte a seção de [permissões](#studio-emr-permissions).

## Etapa 2: referencie um modelo do Amazon EMR em um produto do Service Catalog
<a name="studio-set-up-emr-service-catalog-product"></a>

**Em um produto do Service Catalog do seu portfólio**, faça referência a um recurso de modelo do Amazon EMR e garanta sua visibilidade no Studio ou no Studio Classic. 

Para fazer isso, faça referência ao recurso do modelo do Amazon EMR na definição de produto do Service Catalog e, em seguida, adicione o conjunto `"sagemaker:studio-visibility:emr"` de chave de tag ao valor `"true"` (veja o exemplo em formato YAML).

Na definição do produto Service Catalog, o CloudFormation modelo do cluster é referenciado via URL. A tag adicional definida como “true” garante a visibilidade dos modelos do Amazon EMR no Studio ou no Studio Classic. 

**nota**  
O modelo do Amazon EMR referenciado pelo URL fornecido no exemplo não impõe nenhum requisito de autenticação quando inicializado. A opção é destinada a fins de demonstração e aprendizado. Não é recomendada em um ambiente de produção.

```
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"
```

## Etapa 3: Parametrizar o modelo do Amazon EMR CloudFormation
<a name="studio-set-up-emr-cfn-template"></a>

**O CloudFormation modelo usado para definir o cluster do Amazon EMR dentro do produto Service Catalog** permite que os administradores especifiquem parâmetros configuráveis. Os administradores podem definir valores `Default` e intervalos `AllowedValues` para esses parâmetros na seção `Parameters` do modelo. Durante o processo de inicialização do cluster, os cientistas de dados podem fornecer entradas personalizadas ou fazer seleções a partir dessas opções predefinidas para personalizar certos aspectos do cluster do Amazon EMR.

O exemplo a seguir ilustra parâmetros de entrada adicionais que os administradores podem definir ao criar um modelo do 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"
      ]
    }
  }
```

Depois que os administradores disponibilizarem os modelos do Amazon CloudFormation EMR no Studio, os cientistas de dados poderão usá-los para autoprovisionar clusters do Amazon EMR. A seção `Parameters` definida no modelo se traduz em campos de entrada no formulário de criação de cluster no Studio ou no Studio Classic. Para cada parâmetro, os cientistas de dados podem inserir um valor personalizado no campo de inserção ou selecionar entre as opções predefinidas listadas em um menu suspenso, que corresponde ao `AllowedValues` especificado no modelo.

A ilustração a seguir mostra o formulário dinâmico montado a partir de um modelo do CloudFormation Amazon EMR para criar um cluster do Amazon EMR no Studio ou no Studio Classic.

![\[Ilustração de um formulário dinâmico montado a partir de um modelo do CloudFormation Amazon EMR para criar um cluster do Amazon EMR a partir do Studio ou do Studio Classic.\]](http://docs.aws.amazon.com/pt_br/sagemaker/latest/dg/images/studio/emr/studio-notebooks-emr-cluster-creation.png)


Visite [Inicializar um cluster do Amazon EMR no Studio ou Studio Classic](studio-notebooks-launch-emr-cluster-from-template.md) para saber como iniciar um cluster no Studio ou Studio Classic usando esses modelos do Amazon EMR.

## Etapa 4: configure as permissões para permitir a listagem e a inicialização de clusters do Amazon EMR a partir do Studio
<a name="studio-emr-permissions"></a>

Por fim, anexe as permissões necessárias do IAM para permitir a listagem dos clusters existentes do Amazon EMR em execução e o provisionamento automático de novos clusters do Studio ou do Studio Classic.

A função à qual você deve adicionar essas políticas depende se o Studio ou o Studio Classic e o Amazon EMR estão implantados na mesma conta (escolha *Conta única*) ou em contas diferentes (escolha *Contas cruzadas*).

**Importante**  
Você só pode descobrir e se conectar aos clusters do Amazon EMR JupyterLab e aos aplicativos do Studio Classic que são lançados a partir de espaços privados. Certifique-se de que os clusters do Amazon EMR estejam localizados na mesma AWS região do seu ambiente Studio.

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

Se seus clusters do Amazon EMR e o Studio ou o Studio Classic estiverem implantados na mesma AWS conta, anexe as seguintes permissões à função de execução da SageMaker IA que acessa seu cluster.

1. **Etapa 1**: Recupere o ARN da função de execução SageMaker de IA usada pelo seu espaço privado.

   Para obter informações sobre espaços e funções de execução na SageMaker IA, consulte[Compreendendo as permissões de espaço e os perfis de execução do domínio](execution-roles-and-spaces.md).

   Para obter mais informações sobre como recuperar o ARN da função de execução SageMaker da IA, consulte. [Obtenha um perfil de execução](sagemaker-roles.md#sagemaker-roles-get-execution-role)

1. **Etapa 2**: anexe as seguintes permissões à função de execução de SageMaker IA acessando seus clusters do Amazon EMR.

   1. Navegue até o [console do IAM](https://console.aws.amazon.com/iam).

   1. Escolha **Perfis** e, em seguida, pesquise seu perfil de execução pelo nome no campo **Pesquisar**. O nome do perfil é a última parte do ARN, após a última barra (/). 

   1. Acesse o link do seu perfil.

   1. Selecione **Adicionar permissões** e, em seguida, **Criar política em linha**.

   1. Na guia **JSON**, adicione as permissões do Amazon EMR que permitem o acesso e as operações do Amazon EMR. Para obter detalhes sobre o documento de política, consulte *Listar políticas do Amazon EMR* em [Políticas de referência](studio-set-up-emr-permissions-reference.md). Substitua a `region` e o `accountID` por seus valores reais antes de copiar a lista de instruções para a política em linha de seu perfil.

   1. Escolha **Próximo** e, em seguida, forneça um **nome de política**.

   1. Selecione **Criar política**.

   1. Repita a etapa **Criar política em linha** para adicionar outra política que concede ao perfil de execução as permissões para provisionar novos clusters do Amazon EMR usando modelos do CloudFormation . Para obter detalhes sobre o documento de política, consulte *Criar EMRclusters políticas da Amazon* em[Políticas de referência](studio-set-up-emr-permissions-reference.md). Substitua a `region` e o `accountID` por seus valores reais antes de copiar a lista de instruções para a política em linha de seu perfil.

**nota**  
Os usuários da conectividade de controle de acesso baseado em funções (RBAC) com os clusters do Amazon EMR também devem consultar [Configure a autenticação da função de runtime quando o cluster do Amazon EMR e o Studio estiverem na mesma conta](studio-notebooks-emr-cluster-rbac.md#studio-notebooks-emr-cluster-iam-same). 

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

Antes de começar, recupere o ARN da função de execução SageMaker de IA usada pelo seu espaço privado.

Para obter informações sobre espaços e funções de execução na SageMaker IA, consulte[Compreendendo as permissões de espaço e os perfis de execução do domínio](execution-roles-and-spaces.md).

Para obter mais informações sobre como recuperar o ARN da função de execução SageMaker da IA, consulte. [Obtenha um perfil de execução](sagemaker-roles.md#sagemaker-roles-get-execution-role)

Se seus clusters do Amazon EMR e o Studio ou o Studio Classic forem implantados em AWS contas separadas, você configura as permissões em ambas as contas.

**nota**  
Os usuários da conectividade de controle de acesso baseado em funções (RBAC) com os clusters do Amazon EMR também devem consultar [Configure a autenticação da função de runtime quando o cluster do Studio estiver em contas diferentes](studio-notebooks-emr-cluster-rbac.md#studio-notebooks-emr-cluster-iam-diff). 

#### Na conta de cluster do Amazon EMR
<a name="studio-set-up-emr-permissions-crossaccount-emraccount"></a>

Siga estas etapas para criar as funções e políticas necessárias na conta em que o Amazon EMR está implantado, também chamada de *conta confiável*:

1. **Etapa 1**: recupere o ARN do [perfil de serviço do seu cluster do Amazon EMR](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-iam-role.html). 

   Para saber como encontrar o ARN do perfil de serviço de um cluster, consulte [Configurar perfis de serviço do IAM para permissões do Amazon EMR aos serviços e recursos da AWS](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-iam-roles.html#emr-iam-role-landing).

1. **Etapa 2**: crie um perfil personalizado do IAM chamado `AssumableRole` com a seguinte configuração:
   + Permissões: conceda as permissões necessárias ao `AssumableRole` para permitir o acesso aos recursos do Amazon EMR. Essa função também é conhecida como *função de acesso* em cenários que envolvem acesso entre contas.
   + Relação de confiança: configure a política de confiança para `AssumableRole` a fim de permitir a atribuição do perfil de execução (o `SageMakerExecutionRole` no diagrama de contas cruzadas) pela conta do Studio que requer acesso.

   Ao assumir a função, o Studio ou o Studio Classic podem obter acesso temporário às permissões necessárias no Amazon EMR.

   Para obter instruções detalhadas sobre como criar uma nova `AssumableRole` em sua AWS conta do Amazon EMR, siga estas etapas:

   1. Navegue até o [console do IAM](https://console.aws.amazon.com/iam).

   1. No painel de navegação à esquerda, selecione **Política** e, em seguida, **Criar política**.

   1. Na guia **JSON**, adicione as permissões do Amazon EMR que permitem o acesso e as operações do Amazon EMR. Para obter detalhes sobre o documento de política, consulte *Listar políticas do Amazon EMR* em [Políticas de referência](studio-set-up-emr-permissions-reference.md). Substitua a `region` e o `accountID` por seus valores reais antes de copiar a lista de instruções para a política em linha de seu perfil.

   1. Escolha **Próximo** e, em seguida, forneça um **nome de política**.

   1. Selecione **Criar política**.

   1. No painel de navegação à esquerda, selecione **Funções** e, em seguida, **Criar função**.

   1. Na página **Criar função**, escolha a opção **Política de confiança personalizada** como entidade confiável.

   1. Cole o seguinte documento JSON na seção **Política de confiança personalizada** e escolha **Avançar**:

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

      `studio-account`Substitua pelo ID da conta do Studio e `AmazonSageMaker-ExecutionRole` pela função de execução usada pelo seu JupyterLab espaço.

------
#### [ 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 ]

      Substitua `studio-account` pelo ID da conta do Studio Classic.

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

****  

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

------

------

   1. Na página **Adicionar permissões**, adicione a permissão que você acabou de criar e escolha **Avançar**.

   1. Na página **Revisar**, insira um nome para a função, como `AssumableRole`, e uma descrição opcional.

   1. Revisar os detalhes do perfil e selecionar **Criar perfil**.

   Para obter mais informações sobre como criar um perfil em uma conta da AWS , consulte [Criar um perfil do IAM (console)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user.html).

#### Na conta do Studio
<a name="studio-set-up-emr-permissions-crossaccount-studioaccount"></a>

Na conta em que o Studio está implantado, também chamada de *conta confiável*, atualize a função de execução da SageMaker IA acessando seus clusters com as permissões necessárias para acessar recursos na conta confiável.

1. **Etapa 1**: Recupere o ARN da função de execução SageMaker de IA usada pelo seu espaço privado.

   Para obter informações sobre espaços e funções de execução na SageMaker IA, consulte[Compreendendo as permissões de espaço e os perfis de execução do domínio](execution-roles-and-spaces.md).

   Para obter mais informações sobre como recuperar o ARN da função de execução SageMaker da IA, consulte. [Obtenha um perfil de execução](sagemaker-roles.md#sagemaker-roles-get-execution-role)

1. **Etapa 2**: anexe as seguintes permissões à função de execução de SageMaker IA acessando seus clusters do Amazon EMR.

   1. Navegue até o [console do IAM](https://console.aws.amazon.com/iam).

   1. Escolha **Perfis** e, em seguida, pesquise seu perfil de execução pelo nome no campo **Pesquisar**. O nome do perfil é a última parte do ARN, após a última barra (/). 

   1. Acesse o link do seu perfil.

   1. Selecione **Adicionar permissões** e, em seguida, **Criar política em linha**.

   1. Na guia **JSON**, adicione a política em linha que concede permissões à função para atualizar os domínios, perfis de usuário e espaços. Para obter detalhes sobre o documento de política, consulte *Política de ações de atualização de domínio, perfil de usuário e espaço* em [Políticas de referência](studio-set-up-emr-permissions-reference.md). Substitua a `region` e o `accountID` por seus valores reais antes de copiar a lista de instruções para a política em linha de seu perfil.

   1. Escolha **Próximo** e, em seguida, forneça um **nome de política**.

   1. Selecione **Criar política**.

   1. Repita a etapa **Criar política em linha** para adicionar outra política que conceda ao perfil de execução as permissões para assumir `AssumableRole` e, em seguida, executar as ações permitidas pela política de acesso do perfil. Substitua `emr-account` pelo ID da conta do Amazon EMR e `AssumableRole` pelo nome do perfil a ser assumido que foi criado na conta do Amazon EMR.

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

****  

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

------

   1. Repita a etapa **Criar política em linha** para adicionar outra política que concede ao perfil de execução as permissões para provisionar novos clusters do Amazon EMR usando modelos do CloudFormation . Para obter detalhes sobre o documento de política, consulte *Criar EMRclusters políticas da Amazon* em[Políticas de referência](studio-set-up-emr-permissions-reference.md). Substitua a `region` e o `accountID` por seus valores reais antes de copiar a lista de instruções para a política em linha de seu perfil.

   1. (Opcional) Para permitir a listagem de clusters do Amazon EMR implantados na mesma conta do Studio, adicione uma política em linha adicional ao seu perfil de execução do Studio, conforme definido em *Listar políticas do Amazon EMR* em [Políticas de referência](studio-set-up-emr-permissions-reference.md). 

1. **Etapa 3**: associe suas funções presumíveis (função de acesso) ao seu domínio ou perfil de usuário. JupyterLab os usuários no Studio podem usar o console de SageMaker IA ou o script fornecido.

    Escolha a guia que corresponde ao seu caso de uso.

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

   Para associar suas funções assumidas ao seu perfil de usuário ou domínio usando o console de SageMaker IA:

   1. Navegue até o console de SageMaker IA em [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

   1. No painel de navegação esquerdo, escolha **domínio** e selecione o domínio usando a função de execução de SageMaker IA cujas permissões você atualizou.

   1. 
      + Para adicionar suas funções presumíveis (função de acesso) ao seu domínio: na guia **Configurações do aplicativo** da página de **detalhes do domínio**, navegue até a seção. **JupyterLab**
      + Para adicionar suas funções presumíveis (função de acesso) ao seu perfil de usuário: na página **Detalhes do domínio**, escolha a guia **Perfis de usuário** e selecione o perfil de usuário usando a função de execução de SageMaker IA cujas permissões você atualizou. Na guia **Configurações do aplicativo**, navegue até a **JupyterLab**seção.

   1. Escolha **Editar** e adicione sua função presumível (função de acesso). ARNs 

   1. Selecione **Enviar**.

------
#### [ Associate your assumable roles in JupyterLab using a Python script ]

    Em um JupyterLab aplicativo iniciado em um espaço usando a função de execução de SageMaker IA cujas permissões você atualizou, execute o comando a seguir em um terminal. Substitua `domainID`, `user-profile-name`, `emr-accountID` e `AssumableRole` (`EMRServiceRole` para [funções de runtime do RBAC]()) por seus valores adequados. Esse trecho de código atualiza as configurações do perfil do usuário para um perfil de usuário específico (uso`client.update_userprofile`) ou configurações de domínio (uso`client.update_domain`) em um domínio de SageMaker IA. Especificamente, ele permite que o JupyterLab aplicativo assuma uma função específica do IAM (`AssumableRole`) para executar clusters do Amazon EMR na conta do 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 ]

   Forneça o ARN do `AssumableRole` para seu perfil de execução do Studio Classic. O ARN é carregado pelo servidor do Jupyter na inicialização. O perfil de execução do Studio aceita essa função entre contas para descobrir e se conectar aos clusters do Amazon EMR na *conta confiável*.

   É possível especificar essas informações usando scripts de configuração do ciclo de vida (LCC). Você pode anexar a LCC ao seu domínio ou a um perfil de usuário específico. O script de LCC que você usa deve ser uma JupyterServer configuração. Para obter mais informações sobre como criar um script de LCC, consulte [Usar configurações de ciclo de vida com o Studio Classic](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-lcc.html). 

   A seguir há um exemplo de script de LCC. Para modificar o script, substitua `AssumableRole` e `emr-account` por seus respectivos valores. O número de contas cruzadas é 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
   ```

    Depois que a LCC é executada e os arquivos são gravados, o servidor lê o arquivo `/home/sagemaker-user/.cross-account-configuration-DO_NOT_DELETE/emr-discovery-iam-role-arns-DO_NOT_DELETE.json` e armazena o ARN entre contas.

------