Configurazione della visualizzazione dei cluster Amazon EMR - Amazon SageMaker AI

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

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

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

    Per ulteriori informazioni su come recuperare l'ARN del ruolo di esecuzione SageMaker dell'IA, vedere. Acquisizione del ruolo di esecuzione

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

    1. Passare alla IAM console (Console IAM).

    2. 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 (/).

    3. Segui il link per il tuo ruolo.

    4. Scegli Aggiungi autorizzazioni, quindi seleziona Crea policy inline.

    5. 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. Sostituisci region e accountID con i relativi valori effettivi prima di copiare l’elenco delle istruzioni nella policy inline del tuo ruolo.

    6. Scegli Avanti, quindi assegna un nome alla policy.

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

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

Per ulteriori informazioni su come recuperare l'ARN del ruolo di esecuzione SageMaker dell'IA, vedere. Acquisizione del ruolo di esecuzione

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.

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.

    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.

  2. 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 (Console IAM).

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

    3. 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. Sostituisci region e accountID con i relativi valori effettivi prima di copiare l’elenco delle istruzioni nella policy inline del tuo ruolo.

    4. Scegli Avanti, quindi assegna un nome alla policy.

    5. Scegli Crea policy.

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

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

    8. 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
      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
      JSON
      { "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:root" }, "Action": "sts:AssumeRole" } ] }
    9. Nella pagina Aggiungi autorizzazioni, aggiungi l’autorizzazione appena creata, quindi scegli Avanti.

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

    11. 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).

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

    Per ulteriori informazioni su come recuperare l'ARN del ruolo di esecuzione SageMaker dell'IA, vedere. Acquisizione del ruolo di esecuzione

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

    1. Passare alla IAM console (Console IAM).

    2. 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 (/).

    3. Segui il link per il tuo ruolo.

    4. Scegli Aggiungi autorizzazioni, quindi seleziona Crea policy inline.

    5. 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. Sostituisci region e accountID con i relativi valori effettivi prima di copiare l’elenco delle istruzioni nella policy inline del tuo ruolo.

    6. Scegli Avanti, quindi assegna un nome alla policy.

    7. Scegli Crea policy.

    8. 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" ] } ] }
    9. (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.

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

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

      • Per aggiungere uno o più ruoli da assumere (ruolo di accesso) al 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

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

    4. 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 (usoclient.update_userprofile) o impostazioni di dominio (usoclient.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.

    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 per scoprire come rilevare e connetterti ai cluster Amazon EMR dai notebook Studio o Studio Classic.