

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 a listagem de clusters do Amazon EMR
<a name="studio-notebooks-configure-discoverability-emr-cluster"></a>

Os administradores podem configurar permissões para a função de execução do SageMaker Studio para conceder aos usuários a capacidade de visualizar a lista de clusters do Amazon EMR aos quais eles têm acesso, permitindo que eles se conectem a esses clusters. Os clusters aos quais você deseja acessar podem ser implantados na mesma AWS conta do Studio (escolha *Conta única*) ou em contas separadas (escolha *Conta cruzada*). A página a seguir descreve como conceder as permissões para visualizar clusters do Amazon EMR a partir do Studio ou do Studio Classic.

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

Para permitir que cientistas de dados descubram e se conectem aos clusters do Amazon EMRclusters a partir do Studio ou do Studio Classic, siga estas etapas.

## Conta única
<a name="studio-set-up-emr-permissions-singleaccount-list-clusters"></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**.

**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-list-clusters"></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 estiverem implantados em contas AWS 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**

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 uma função em uma AWS conta, consulte [Criação de uma função do IAM (console)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user.html).

**Na conta do Studio**

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. (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. JupyterLabos 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, em seguida, 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 os ARNs da sua função assumível (função de acesso).

   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.

------

Consulte [Listar clusters do Amazon EMR no Studio ou no Studio Classic](discover-emr-clusters.md) para saber como descobrir e se conectar aos clusters do Amazon EMR a partir dos cadernos do Studio ou Studio Classic.