Configura l'elenco 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à.

Configura l'elenco 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 IA, consulta. Comprendere lo spazio di dominio, le autorizzazioni e i ruoli di esecuzione.

    Per ulteriori informazioni su come recuperare l'ARN del ruolo di esecuzione SageMaker dell'IA, vedere. Assumi il tuo 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 al tuo ruolo.

    4. Scegli Aggiungi autorizzazioni e poi Crea politica in linea.

    5. Nella scheda JSON, aggiungi le autorizzazioni Amazon EMR che consentono l'accesso e le operazioni di Amazon EMR. Per i dettagli sul documento di policy, consulta Elencare le politiche di Amazon EMR in. Politiche di riferimento Sostituisci e accountID con i relativi valori effettivi prima di copiare l'elenco delle dichiarazioni nella politica in linea del tuo ruolo. region

    6. Scegli Avanti e quindi fornisci un nome per la politica.

    7. Scegli Create Policy (Crea policy).

Nota

Gli utenti della connettività RBAC (Role-Based Access Control) ai cluster Amazon EMR devono fare riferimento anche a. 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. Comprendere lo spazio di dominio, le autorizzazioni e i ruoli di esecuzione.

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

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

Nota

Gli utenti della connettività RBAC (Role-Based Access Control) ai cluster Amazon EMR devono fare riferimento anche a. Configura l'autenticazione del ruolo di runtime quando il cluster e Studio si trovano in account diversi

Sull'account del cluster Amazon EMR

Segui questi passaggi per creare i ruoli e le policy necessari sull'account in cui viene distribuito Amazon EMR, noto anche come account affidabile:

  1. Fase 1: recupera l'ARN del ruolo di servizio del tuo cluster Amazon EMR.

    Per ulteriori informazioni su come trovare l'ARN del ruolo di servizio di un cluster, consulta Configurare i ruoli di servizio IAM per le autorizzazioni di Amazon EMR per servizi e risorse. AWS

  2. Passaggio 2: crea un ruolo IAM personalizzato denominato AssumableRole con la seguente configurazione:

    • Autorizzazioni: concedi le autorizzazioni necessarie per consentire l'accesso AssumableRole alle risorse Amazon EMR. Questo ruolo è noto anche come ruolo di accesso in scenari che prevedono l'accesso tra più account.

    • Relazione di fiducia: configura la politica di fiducia AssumableRole per consentire l'assunzione del ruolo di esecuzione (indicato SageMakerExecutionRole nel diagramma tra account diversi) dall'account Studio che richiede l'accesso.

    Assumendo il ruolo, Studio o Studio Classic possono 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 Crea policy.

    3. Nella scheda JSON, aggiungi le autorizzazioni Amazon EMR che consentono l'accesso e le operazioni di Amazon EMR. Per i dettagli sul documento di policy, consulta Elencare le politiche di Amazon EMR in. Politiche di riferimento Sostituisci e accountID con i relativi valori effettivi prima di copiare l'elenco delle dichiarazioni nella politica in linea del tuo ruolo. region

    4. Scegli Avanti e quindi fornisci un nome per la politica.

    5. Scegli Create Policy (Crea policy).

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

    7. Nella pagina Crea ruolo, scegli Criteri di fiducia personalizzati come entità attendibile.

    8. Incolla il seguente documento JSON nella sezione Politica di fiducia 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.

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::studio-account:role/service-role/AmazonSageMaker-ExecutionRole" }, "Action": "sts:AssumeRole" } ] }
      For users of Studio Classic

      Sostituiscilo studio-account con l'ID dell'account Studio Classic.

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::studio-account:root" }, "Action": "sts:AssumeRole" } ] }
    9. Nella pagina Aggiungi autorizzazioni, aggiungi l'autorizzazione appena creata, quindi scegli Avanti.

    10. Nella pagina Revisione, inserisci un nome per il ruolo, ad AssumableRole esempio una descrizione opzionale.

    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 nell'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 IA, consulta. Comprendere lo spazio di dominio, le autorizzazioni e i ruoli di esecuzione.

    Per ulteriori informazioni su come recuperare l'ARN del ruolo di esecuzione SageMaker dell'IA, vedere. Assumi il tuo 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 al tuo ruolo.

    4. Scegli Aggiungi autorizzazioni e poi Crea politica in linea.

    5. Nella scheda JSON, aggiungi la politica in linea che concede al ruolo le autorizzazioni per aggiornare i domini, i profili utente e gli spazi. Per i dettagli sul documento di policy, consulta la policy relativa alle azioni di aggiornamento del dominio, del profilo utente e dello spazio in. Politiche di riferimento Sostituisci region and accountID con i relativi valori effettivi prima di copiare l'elenco delle istruzioni nella politica in linea del tuo ruolo.

    6. Scegli Avanti e quindi fornisci un nome per la politica.

    7. Scegli Create Policy (Crea policy).

    8. Ripeti il passaggio Crea politica in linea per aggiungere un'altra politica che conceda al ruolo di esecuzione le autorizzazioni necessarie per assumere AssumableRole e quindi eseguire le azioni consentite dalla politica di accesso del ruolo. Sostituisci emr-account con l'ID dell'account Amazon EMR e AssumableRole con il nome del ruolo ipotizzabile creato nell'account Amazon EMR.

      { "Version": "2012-10-17", "Statement": [ { "Sid": "AllowRoleAssumptionForCrossAccountDiscovery", "Effect": "Allow", "Action": "sts:AssumeRole", "Resource": ["arn:aws:iam::emr-account:role/AssumableRole" ] }] }
    9. (Facoltativo) Per consentire l'elenco dei cluster Amazon EMR distribuiti nello stesso account di Studio, aggiungi una policy in linea aggiuntiva al tuo ruolo di esecuzione di Studio, come definito in Elenca le politiche di Amazon EMR in. Politiche di riferimento

  3. Fase 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 corrispondente al tuo caso d'uso.

    Associate your assumable roles in JupyterLab using the SageMaker AI console

    Per associare i ruoli che assumi al tuo profilo utente o 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 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

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

    4. Scegli 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. SostituiscidomainID, user-profile-nameemr-accountID, e AssumableRole (EMRServiceRoleper 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 dominio AI. SageMaker 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 del tuo ruolo AssumableRole di esecuzione di Studio Classic. L'ARN viene caricato dal server Jupyter all'avvio. Il ruolo di esecuzione utilizzato da Studio presuppone il ruolo tra account diversi per rilevare e connettersi ai cluster Amazon EMR nell'account affidabile.

    Puoi specificare queste informazioni utilizzando gli script Lifecycle Configuration (LCC). Puoi collegare la scheda LCC al tuo dominio o a un profilo utente specifico. Lo script LCC utilizzato deve essere una JupyterServer configurazione. Per ulteriori informazioni su come creare uno script LCC, consulta Utilizzare le 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 numero di account incrociati è limitato a 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.

Elenca i cluster Amazon EMR da Studio o Studio ClassicPer ulteriori informazioni su come scoprire e connettersi ai cluster Amazon EMR dai notebook Studio o Studio Classic, fai riferimento a.