

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Configurazione della visualizzazione dei cluster Amazon EMR
<a name="studio-notebooks-configure-discoverability-emr-cluster"></a>

Gli amministratori possono configurare le autorizzazioni per il ruolo di esecuzione di SageMaker Studio per concedere agli utenti la possibilità di visualizzare l'elenco dei cluster Amazon EMR a cui hanno accesso, permettendo loro di connettersi a questi cluster. *I cluster a cui desideri accedere possono essere distribuiti nello stesso AWS account di Studio (scegli Account *singolo) o in account separati (scegli Account* multiplo).* La pagina seguente descrive come concedere le autorizzazioni per la visualizzazione dei cluster Amazon EMR da Studio o Studio Classic.

**Importante**  
Puoi scoprire e connetterti ai cluster Amazon EMR solo per JupyterLab le applicazioni Studio Classic lanciate da spazi privati. Assicurati che i cluster Amazon EMR si trovino nella stessa AWS regione del tuo ambiente Studio.

Per consentire ai data scientist di scoprire e connettersi ad Amazon EMRclusters da Studio o Studio Classic, segui questi passaggi.

## Account singolo
<a name="studio-set-up-emr-permissions-singleaccount-list-clusters"></a>

Se i tuoi cluster Amazon EMR e Studio o Studio Classic sono distribuiti nello stesso AWS account, collega le seguenti autorizzazioni al ruolo di esecuzione SageMaker AI che accede al tuo cluster.

1. **Passaggio 1**: recupera l'ARN del ruolo di esecuzione SageMaker dell'IA utilizzato dal tuo spazio privato.

   Per informazioni sugli spazi e sui ruoli di esecuzione nell' SageMaker intelligenza artificiale, consulta. [Informazioni sulle autorizzazioni e sui ruoli di esecuzione dello spazio del dominio](execution-roles-and-spaces.md)

   Per ulteriori informazioni su come recuperare l'ARN del ruolo di esecuzione SageMaker dell'IA, vedere. [Acquisizione del ruolo di esecuzione](sagemaker-roles.md#sagemaker-roles-get-execution-role)

1. **Passaggio 2**: assegna le seguenti autorizzazioni al ruolo di esecuzione SageMaker AI che accede ai tuoi cluster Amazon EMR.

   1. Passare alla [IAM console](https://console.aws.amazon.com/iam) (Console IAM).

   1. Scegli **Ruoli**, quindi cerca il tuo ruolo di esecuzione per nome nel campo di **ricerca**. Il nome del ruolo è l’ultima parte dell’ARN, dopo l’ultima barra (/). 

   1. Segui il link per il tuo ruolo.

   1. Scegli **Aggiungi autorizzazioni**, quindi seleziona **Crea policy inline**.

   1. Nella scheda **JSON**, aggiungi le autorizzazioni Amazon EMR che consentono l’accesso e le operazioni di Amazon EMR. Per dettagli sul documento di policy, consulta *Elenco delle policy di Amazon EMR* in [Policy di riferimento](studio-set-up-emr-permissions-reference.md). Sostituisci `region` e `accountID` con i relativi valori effettivi prima di copiare l’elenco delle istruzioni nella policy inline del tuo ruolo.

   1. Scegli **Avanti**, quindi assegna un **nome alla policy**.

   1. Scegli **Crea policy**.

**Nota**  
Gli utenti della connettività RBAC (controllo degli accessi basato su ruoli) ai cluster Amazon EMR devono consultare anche [Configura l'autenticazione del ruolo di runtime quando il cluster Amazon EMR e Studio si trovano nello stesso account](studio-notebooks-emr-cluster-rbac.md#studio-notebooks-emr-cluster-iam-same). 

## Multi-account
<a name="studio-set-up-emr-permissions-crossaccount-list-clusters"></a>

Prima di iniziare, recupera l'ARN del ruolo di esecuzione SageMaker dell'IA utilizzato dal tuo spazio privato.

Per informazioni sugli spazi e sui ruoli di esecuzione nell' SageMaker intelligenza artificiale, consulta. [Informazioni sulle autorizzazioni e sui ruoli di esecuzione dello spazio del dominio](execution-roles-and-spaces.md)

Per ulteriori informazioni su come recuperare l'ARN del ruolo di esecuzione SageMaker dell'IA, vedere. [Acquisizione del ruolo di esecuzione](sagemaker-roles.md#sagemaker-roles-get-execution-role)

Se i cluster Amazon EMR e Studio o Studio Classic sono implementati in account AWS separati, configura le autorizzazioni su entrambi gli account.

**Nota**  
Gli utenti della connettività RBAC (controllo degli accessi basato su ruoli) ai cluster Amazon EMR devono consultare anche [Configura l'autenticazione del ruolo di runtime quando il cluster e Studio si trovano in account diversi](studio-notebooks-emr-cluster-rbac.md#studio-notebooks-emr-cluster-iam-diff). 

**Sull’account del cluster Amazon EMR**

Segui questa procedura per creare i ruoli e le policy necessari sull’account su cui è implementato Amazon EMR, noto anche come *account che concede l’attendibilità*:

1. **Fase 1.** Recupera l’ARN del [ruolo di servizio del tuo cluster Amazon EMR](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-iam-role.html). 

   Per informazioni su come trovare l’ARN del ruolo di servizio di un cluster, consulta [Configurazione dei ruoli di servizio IAM per le autorizzazioni di Amazon EMR per i servizi e le risorse AWS](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-iam-roles.html#emr-iam-role-landing).

1. **Fase 2**. Crea un ruolo IAM personalizzato denominato `AssumableRole` con la seguente configurazione:
   + Autorizzazioni: concedi le autorizzazioni necessarie a `AssumableRole` per consentire l’accesso alle risorse Amazon EMR. Questo ruolo è noto anche come *ruolo di accesso* in scenari che prevedono l’accesso multi-account.
   + Relazione di attendibilità: configura la policy di attendibilità per `AssumableRole` per consentire l’assunzione del ruolo di esecuzione (`SageMakerExecutionRole` nel diagramma multi-account) dall’account Studio che richiede l’accesso.

   Assumendo il ruolo, Studio o Studio Classic può ottenere l’accesso temporaneo alle autorizzazioni necessarie in Amazon EMR.

   Per istruzioni dettagliate su come crearne uno nuovo `AssumableRole` nel tuo AWS account Amazon EMR, segui questi passaggi:

   1. Passare alla [IAM console](https://console.aws.amazon.com/iam) (Console IAM).

   1. Nel riquadro di navigazione a sinistra, scegli **Policy**, quindi scegli **Crea policy**.

   1. Nella scheda **JSON**, aggiungi le autorizzazioni Amazon EMR che consentono l’accesso e le operazioni di Amazon EMR. Per dettagli sul documento di policy, consulta *Elenco delle policy di Amazon EMR* in [Policy di riferimento](studio-set-up-emr-permissions-reference.md). Sostituisci `region` e `accountID` con i relativi valori effettivi prima di copiare l’elenco delle istruzioni nella policy inline del tuo ruolo.

   1. Scegli **Avanti**, quindi assegna un **nome alla policy**.

   1. Scegli **Crea policy**.

   1. Nel riquadro di navigazione a sinistra, scegli **Ruoli**, quindi **Crea ruolo**.

   1. Nella pagina **Crea ruolo**, scegli **Policy di attendibilità personalizzata** come entità attendibile.

   1. Incolla il documento JSON seguente nella sezione **Policy di attendibilità personalizzata**, quindi scegli **Avanti**.

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

      Sostituiscilo `studio-account` con l'ID dell'account Studio e `AmazonSageMaker-ExecutionRole` con il ruolo di esecuzione utilizzato dal tuo JupyterLab spazio.

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

      Sostituisci `studio-account` con l’ID dell’account Studio Classic.

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

****  

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

------

------

   1. Nella pagina **Aggiungi autorizzazioni**, aggiungi l’autorizzazione appena creata, quindi scegli **Avanti**.

   1. Nella pagina **Verifica**, inserisci un nome per il ruolo, ad esempio `AssumableRole` e una descrizione facoltativa.

   1. Verifica i dettagli del ruolo e scegli **Create role (Crea ruolo)**.

   Per ulteriori informazioni sulla creazione di un ruolo su un AWS account, consulta [Creazione di un ruolo IAM (console)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user.html).

**Sull’account Studio**

Sull'account in cui è distribuito Studio, noto anche come *account affidabile*, aggiorna il ruolo di esecuzione SageMaker AI che accede ai cluster con le autorizzazioni necessarie per accedere alle risorse dell'account affidabile.

1. **Passaggio 1**: recupera l'ARN del ruolo di esecuzione SageMaker dell'IA utilizzato dal tuo spazio privato.

   Per informazioni sugli spazi e sui ruoli di esecuzione nell' SageMaker intelligenza artificiale, consulta. [Informazioni sulle autorizzazioni e sui ruoli di esecuzione dello spazio del dominio](execution-roles-and-spaces.md)

   Per ulteriori informazioni su come recuperare l'ARN del ruolo di esecuzione SageMaker dell'IA, vedere. [Acquisizione del ruolo di esecuzione](sagemaker-roles.md#sagemaker-roles-get-execution-role)

1. **Passaggio 2**: assegna le seguenti autorizzazioni al ruolo di esecuzione SageMaker AI che accede ai tuoi cluster Amazon EMR.

   1. Passare alla [IAM console](https://console.aws.amazon.com/iam) (Console IAM).

   1. Scegli **Ruoli**, quindi cerca il tuo ruolo di esecuzione per nome nel campo di **ricerca**. Il nome del ruolo è l’ultima parte dell’ARN, dopo l’ultima barra (/). 

   1. Segui il link per il tuo ruolo.

   1. Scegli **Aggiungi autorizzazioni**, quindi seleziona **Crea policy inline**.

   1. Nella scheda **JSON**, aggiungi la policy inline che concede al ruolo le autorizzazioni per aggiornare i domini, i profili utente e gli spazi. Per dettagli sul documento di policy, consulta *Policy relativa alle azioni di aggiornamento dello spazio, del profilo utente e del dominio* in [Policy di riferimento](studio-set-up-emr-permissions-reference.md). Sostituisci `region` e `accountID` con i relativi valori effettivi prima di copiare l’elenco delle istruzioni nella policy inline del tuo ruolo.

   1. Scegli **Avanti**, quindi assegna un **nome alla policy**.

   1. Scegli **Crea policy**.

   1. Ripeti la fase **Crea policy inline** per aggiungere un’altra policy che conceda al ruolo di esecuzione le autorizzazioni necessarie per assumere `AssumableRole` e quindi eseguire le azioni consentite dalla policy di accesso del ruolo. Sostituisci `emr-account` con l’ID dell’account Amazon EMR e `AssumableRole` con il nome del ruolo assumibile creato nell’account Amazon EMR.

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

****  

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

------

   1. (Facoltativo) Per consentire la visualizzazione dei cluster Amazon EMR implementati nello stesso account di Studio, aggiungi un’altra policy inline al tuo ruolo di esecuzione di Studio, come definito in *Visualizzazione delle policy di Amazon EMR* in [Policy di riferimento](studio-set-up-emr-permissions-reference.md). 

1. **Passaggio 3**: associa i tuoi ruoli assumibili (ruolo di accesso) al tuo dominio o profilo utente. JupyterLabgli utenti di Studio possono utilizzare la console SageMaker AI o lo script fornito.

    Scegli la scheda che corrisponde al tuo caso d’uso.

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

   Per associare i ruoli da assumere al profilo utente o al dominio utilizzando la console SageMaker AI:

   1. Vai alla console SageMaker AI all'indirizzo [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

   1. Nel riquadro di navigazione a sinistra, scegli **dominio**, quindi seleziona il dominio utilizzando il ruolo di esecuzione SageMaker AI di cui hai aggiornato le autorizzazioni.

   1. 
      + Per aggiungere i tuoi ruoli da assumere (ruolo di accesso) al tuo dominio: nella scheda **Configurazioni app** della pagina dei **dettagli del dominio**, vai alla sezione. **JupyterLab**
      + Per aggiungere i tuoi ruoli assumibili (ruolo di accesso) al tuo profilo utente: nella pagina dei **dettagli del dominio**, scegli la scheda **Profili utente, seleziona il profilo utente** che utilizza il ruolo di esecuzione SageMaker AI di cui hai aggiornato le autorizzazioni. Nella scheda **Configurazioni dell'app**, vai alla sezione. **JupyterLab**

   1. Scegli **Modifica** e aggiungi il tuo ruolo assumibile (ruolo ARNs di accesso).

   1. Seleziona **Invia**.

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

    In un' JupyterLab applicazione avviata da uno spazio utilizzando il ruolo di esecuzione SageMaker AI di cui hai aggiornato le autorizzazioni, esegui il seguente comando in un terminale. Sostituisci `domainID`, `user-profile-name`, `emr-accountID` e `AssumableRole` (`EMRServiceRole` per i [ruoli di runtime RBAC]()) con i valori corretti. Questo frammento di codice aggiorna le impostazioni del profilo utente per uno specifico profilo utente (uso`client.update_userprofile`) o impostazioni di dominio (uso`client.update_domain`) all'interno di un SageMaker dominio AI. In particolare, consente all' JupyterLabapplicazione di assumere un ruolo IAM particolare (`AssumableRole`) per l'esecuzione di cluster Amazon EMR all'interno dell'account 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 ]

   Fornisci l’ARN di `AssumableRole` al ruolo di esecuzione Studio Classic. L’ARN viene caricato dal server Jupyter all’avvio. Il ruolo di esecuzione utilizzato da Studio presuppone che questo ruolo multi-account rilevi e connetta i cluster Amazon EMR nell’*account che concede l’attendibilità*.

   Puoi specificare queste informazioni utilizzando gli script di configurazione del ciclo di vita (LCC). Puoi collegare lo script LCC al tuo dominio o a un profilo utente specifico. Lo script LCC che usi deve essere una configurazione. JupyterServer Per ulteriori informazioni su come creare uno script LCC, consulta [Utilizzo delle configurazioni del ciclo di vita con Studio Classic](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-lcc.html). 

   Di seguito è riportato un esempio di script LCC. Per modificare lo script, sostituisci `AssumableRole` e `emr-account` con i rispettivi valori. Il limite al numero di account è cinque.

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

    Dopo l'esecuzione dell'LCC e la scrittura dei file, il server legge il file `/home/sagemaker-user/.cross-account-configuration-DO_NOT_DELETE/emr-discovery-iam-role-arns-DO_NOT_DELETE.json` e archivia l'ARN multi-account.

------

Consulta [Elenco dei cluster Amazon EMR da Studio o Studio Classic](discover-emr-clusters.md) per scoprire come rilevare e connetterti ai cluster Amazon EMR dai notebook Studio o Studio Classic.