Configura l'elenco dei EMR cluster Amazon - Amazon SageMaker

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 EMR cluster Amazon

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 EMR cluster Amazon 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 EMR dei cluster Amazon da Studio o Studio Classic.

Importante

Puoi scoprire e connetterti ai EMR cluster Amazon solo per applicazioni Studio Classic JupyterLab e lanciate da spazi privati. Assicurati che EMR i cluster Amazon 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 EMR cluster Amazon e Studio o Studio Classic sono distribuiti nello stesso AWS account, assegna le seguenti autorizzazioni al ruolo di SageMaker esecuzione che accede al cluster.

  1. Passaggio 1: recupera il ruolo ARN di SageMaker esecuzione utilizzato dal tuo spazio privato.

    Per informazioni sugli spazi e sui ruoli di esecuzione in SageMaker, vedereComprendere lo spazio di dominio, le autorizzazioni e i ruoli di esecuzione..

    Per ulteriori informazioni su come recuperare il ruolo ARN di esecuzione SageMaker di of, vedereAssumi il tuo ruolo di esecuzione.

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

    1. Passare alla console IAM.

    2. Scegli Ruoli, quindi cerca il tuo ruolo di esecuzione per nome nel campo Cerca. Il nome del ruolo è l'ultima parte diARN, dopo l'ultima barra (/).

    3. Segui il link al tuo ruolo.

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

    5. JSONNella scheda, aggiungi le EMR autorizzazioni Amazon che consentono l'EMRaccesso e le operazioni di Amazon. Per i dettagli sul documento relativo alla policy, consulta Elencare EMR le politiche di Amazon inPolitiche 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à di controllo degli accessi basata sui ruoli (RBAC) ai EMR cluster Amazon devono fare riferimento anche a. Configura l'autenticazione del ruolo di runtime quando il EMR cluster Amazon e Studio si trovano nello stesso account

Prima di iniziare, recupera il ruolo ARN di SageMaker esecuzione utilizzato dal tuo spazio privato.

Per informazioni sugli spazi e sui ruoli di esecuzione in SageMaker, consultaComprendere lo spazio di dominio, le autorizzazioni e i ruoli di esecuzione..

Per ulteriori informazioni su come recuperare il ruolo ARN di esecuzione SageMaker di of, vedereAssumi il tuo ruolo di esecuzione.

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

Nota

Gli utenti della connettività di controllo degli accessi basata sui ruoli (RBAC) ai EMR cluster Amazon devono fare riferimento anche a. Configura l'autenticazione del ruolo di runtime quando il cluster e Studio si trovano in account diversi

Sull'account EMR del cluster Amazon

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

  1. Passaggio 1: recupera il ruolo ARN di servizio del tuo EMR cluster Amazon.

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

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

    • Autorizzazioni: concedi le autorizzazioni necessarie per consentire l'accesso AssumableRole alle risorse AmazonEMR. 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 EMR AWS account Amazon, segui questi passaggi:

    1. Passare alla console IAM.

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

    3. JSONNella scheda, aggiungi le EMR autorizzazioni Amazon che consentono l'EMRaccesso e le operazioni di Amazon. Per i dettagli sul documento relativo alla policy, consulta Elencare EMR le politiche di Amazon inPolitiche 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 JSON documento 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, vedere Creazione di un IAM ruolo (console).

Sull'account Studio

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

  1. Passaggio 1: recupera il ruolo ARN di SageMaker esecuzione utilizzato dal tuo spazio privato.

    Per informazioni sugli spazi e sui ruoli di esecuzione in SageMaker, vedereComprendere lo spazio di dominio, le autorizzazioni e i ruoli di esecuzione..

    Per ulteriori informazioni su come recuperare il ruolo ARN di esecuzione SageMaker di of, vedereAssumi il tuo ruolo di esecuzione.

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

    1. Passare alla console IAM.

    2. Scegli Ruoli, quindi cerca il tuo ruolo di esecuzione per nome nel campo Cerca. Il nome del ruolo è l'ultima parte diARN, dopo l'ultima barra (/).

    3. Segui il link al tuo ruolo.

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

    5. JSONNella scheda, 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 EMR dell'account Amazon e AssumableRole con il nome del ruolo ipotizzabile creato nell'EMRaccount Amazon.

      { "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 EMR dei cluster Amazon distribuiti nello stesso account di Studio, aggiungi una politica in linea aggiuntiva al tuo ruolo di esecuzione di Studio, come definito in Elenca le politiche 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 SageMaker console o lo script fornito.

    Scegli la scheda corrispondente al tuo caso d'uso.

    Associate your assumable roles in JupyterLab using the SageMaker console

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

    1. Accedi alla SageMaker console 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 SageMaker esecuzione 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 utilizzando il ruolo di SageMaker esecuzione 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 SageMaker esecuzione di cui sono state aggiornate le autorizzazioni, esegui il seguente comando in un terminale. SostituitedomainID, user-profile-nameemr-accountID, e AssumableRole (EMRServiceRoleper i ruoli RBAC di runtime) con i valori corretti. Questo frammento di codice aggiorna le impostazioni del profilo utente per uno specifico profilo utente (useclient.update_userprofile) o le impostazioni del dominio (useclient.update_domain) all'interno di un SageMaker dominio. In particolare, consente all' JupyterLabapplicazione di assumere un IAM ruolo particolare (AssumableRole) per l'esecuzione di EMR cluster Amazon all'interno dell'EMRaccount Amazon.

    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 il ruolo ARN di esecuzione AssumableRole al tuo ruolo di esecuzione di Studio Classic. ARNViene caricato dal server Jupyter al momento del lancio. Il ruolo di esecuzione utilizzato da Studio presuppone il ruolo tra account diversi per rilevare e connettersi ai EMR cluster Amazon nell'account di fiducia.

    Puoi specificare queste informazioni utilizzando gli script di Lifecycle Configuration (). LCC Puoi collegarli LCC al tuo dominio o a un profilo utente specifico. Lo LCC script che usi deve essere una JupyterServer configurazione. Per ulteriori informazioni su come creare uno LCC script, consulta Utilizzare le configurazioni del ciclo di vita con Studio Classic.

    Di seguito è riportato uno script di esempio. LCC Per modificare lo script, sostituite 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'LCCesecuzione 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 memorizza il cross-account. ARN

Fai riferimento Elenca EMR i cluster Amazon da Studio o Studio Classic a per scoprire e connetterti ai EMR cluster Amazon dai notebook Studio o Studio Classic.