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 dei ruoli di runtime IAM per l'accesso al cluster Amazon EMR in Studio
Quando ti connetti a un cluster Amazon EMR dai tuoi notebook Studio o Studio Classic, puoi sfogliare visivamente un elenco di ruoli IAM, noti come ruoli di runtime, e selezionarne uno al volo. Successivamente, tutti i job Apache Spark, Apache Hive o Presto creati dal notebook accedono solo ai dati e alle risorse consentiti dalle policy associate al ruolo di runtime. Inoltre, quando si accede ai dati dai data lake gestiti con AWS Lake Formation, è possibile imporre l'accesso a livello di tabella e colonna utilizzando le policy associate al ruolo di runtime.
Grazie a questa funzionalità, tu e i tuoi colleghi potete connettervi allo stesso cluster, utilizzando ciascuno un ruolo di runtime con autorizzazioni corrispondenti al livello individuale di accesso ai dati. Le sessioni sono inoltre isolate l'una dall'altra nel cluster condiviso.
Per provare questa funzionalità con Studio Classic, consulta Applica controlli granulari di accesso ai dati con AWS Lake Formation Amazon EMR di
Prerequisiti
Prima di iniziare, assicurati di soddisfare i seguenti requisiti preliminari:
-
Usa Amazon EMR versione 6.9 o successiva.
-
Per gli utenti di Studio Classic: utilizza la JupyterLab versione 3 nella configurazione dell'applicazione del server Studio Classic Jupyter. Questa versione supporta la connessione Studio Classic ai cluster Amazon EMR utilizzando ruoli di runtime.
Per gli utenti di Studio: utilizza una versione con immagine SageMaker di distribuzione
1.10
o superiore. -
Consenti l'uso di ruoli di runtime nella configurazione di sicurezza del cluster. Per ulteriori informazioni, consulta Ruoli di runtime per le fasi di Amazon EMR.
-
Crea un notebook con uno qualsiasi dei kernel elencati in Immagini e kernel supportati per la connessione a un cluster Amazon EMR da Studio o Studio Classic.
-
Assicurati di leggere le istruzioni contenute in Configurare Studio per utilizzare i ruoli IAM in fase di esecuzione per configurare i ruoli di runtime.
Scenari di connessione multi-account
L'autenticazione con ruolo di runtime supporta una varietà di scenari di connessione tra account quando i dati risiedono all'esterno dell'account Studio. L'immagine seguente mostra tre modi diversi per assegnare il cluster Amazon EMR, i dati e persino il ruolo di esecuzione del runtime di Amazon EMR tra Studio e gli account di dati:

Nell'opzione 1, il cluster Amazon EMR e il ruolo di esecuzione del runtime di Amazon EMR si trovano in un account dati separato dall'account Studio. Definisci una politica di autorizzazione separata per il ruolo di accesso di Amazon EMR (noto anche comeAssumable role
) che concede l'autorizzazione al ruolo di esecuzione di Studio o Studio Classic per assumere il ruolo di accesso Amazon EMR. Il ruolo di accesso Amazon EMR chiama quindi l'API Amazon EMR per GetClusterSessionCredentials
conto del tuo ruolo di esecuzione Studio o Studio Classic, consentendoti di accedere al cluster.
Nell'opzione 2, il cluster Amazon EMR e il ruolo di esecuzione del runtime di Amazon EMR si trovano nel tuo account Studio. Il tuo ruolo di esecuzione di Studio è autorizzato a utilizzare l'API Amazon EMR GetClusterSessionCredentials
per accedere al tuo cluster. Per accedere al bucket Amazon S3, concedi al ruolo di esecuzione del runtime di Amazon EMR le autorizzazioni di accesso al bucket Amazon S3 su più account: concedi queste autorizzazioni nell'ambito della tua policy sui bucket Amazon S3.
Nell'opzione 3, i cluster Amazon EMR si trovano nel tuo account Studio e il ruolo di esecuzione del runtime di Amazon EMR si trova nell'account dati. Il tuo ruolo di esecuzione di Studio o Studio Classic è autorizzato a utilizzare l'API Amazon EMR GetClusterSessionCredentials
per accedere al tuo cluster. Aggiungi il ruolo di esecuzione del runtime di Amazon EMR nella configurazione del ruolo di esecuzione JSON. Quindi puoi selezionare il ruolo nell'interfaccia utente quando scegli il cluster. Per informazioni dettagliate su come configurare il file JSON di configurazione del ruolo di esecuzione, consulta Precarica i tuoi ruoli di esecuzione in Studio o Studio Classic.
Configurare Studio per utilizzare i ruoli IAM in fase di esecuzione
Per stabilire l'autenticazione dei ruoli di runtime per i tuoi cluster Amazon EMR, configura le policy IAM, i miglioramenti della rete e dell'usabilità richiesti. La configurazione dipende dal fatto che tu gestisca eventuali accordi tra account se i cluster Amazon EMR, il ruolo di esecuzione del runtime di Amazon EMR o entrambi risiedono al di fuori del tuo account Studio. La sezione seguente illustra le politiche da installare, come configurare la rete per consentire il traffico tra più account e il file di configurazione locale da configurare per automatizzare la connessione Amazon EMR.
Configura l'autenticazione del ruolo di runtime quando il cluster Amazon EMR e Studio si trovano nello stesso account
Se il tuo cluster Amazon EMR risiede nel tuo account Studio, completa i seguenti passaggi per aggiungere le autorizzazioni necessarie alla tua politica di esecuzione di Studio:
-
Aggiungi la policy IAM richiesta per connetterti ai cluster Amazon EMR. Per informazioni dettagliate, consultare Configura l'elenco dei cluster Amazon EMR.
-
Concedi l'autorizzazione a chiamare l'API Amazon EMR
GetClusterSessionCredentials
quando passi uno o più ruoli di esecuzione runtime di Amazon EMR consentiti specificati nella policy. -
(Facoltativo) Concedi l'autorizzazione a passare ruoli IAM che seguono qualsiasi convenzione di denominazione definita dall'utente.
-
(Facoltativo) Concedi l'autorizzazione per accedere ai cluster Amazon EMR etichettati con stringhe specifiche definite dall'utente.
-
Precarica i ruoli IAM in modo da poter selezionare il ruolo da utilizzare quando ti connetti al tuo cluster Amazon EMR. Per ulteriori informazioni su come precaricare i ruoli IAM, consulta Precarica i tuoi ruoli di esecuzione in Studio o Studio Classic.
La seguente policy di esempio consente di chiamare i ruoli di esecuzione del runtime di Amazon EMR appartenenti ai gruppi di modellazione e formazione. GetClusterSessionCredentials
Inoltre, l'assicurato può accedere ai cluster Amazon EMR contrassegnati con le stringhe modeling
o training
.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": "elasticmapreduce:GetClusterSessionCredentials", "Resource": "*", "Condition": { "StringLike": { "elasticmapreduce:ExecutionRoleArn": [ "arn:aws:iam::123456780910:role/emr-execution-role-ml-modeling*", "arn:aws:iam::123456780910:role/emr-execution-role-ml-training*" ], "elasticmapreduce:ResourceTag/group": [ "*modeling*", "*training*" ] } } } ] }
Configura l'autenticazione del ruolo di runtime quando il cluster e Studio si trovano in account diversi
Se il tuo cluster Amazon EMR non è nel tuo account Studio, consenti al ruolo di esecuzione SageMaker AI di assumere il ruolo di accesso Amazon EMR tra account in modo da poterti connettere al cluster. Completa le fasi seguenti per eseguire la configurazione multi-account:
-
Crea la tua politica di autorizzazione del ruolo di esecuzione SageMaker AI in modo che il ruolo di esecuzione possa assumere il ruolo di accesso di Amazon EMR. Di seguito è riportato un esempio di policy:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowAssumeCrossAccountEMRAccessRole", "Effect": "Allow", "Action": "sts:AssumeRole", "Resource": "arn:aws:iam::
emr_account_id
:role/emr-access-role-name
" } ] } -
Crea la policy di fiducia per specificare a IDs quali account Studio è affidato il ruolo di accesso di Amazon EMR. Di seguito è riportato un esempio di policy:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowCrossAccountSageMakerExecutionRoleToAssumeThisRole", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::
studio_account_id
:role/studio_execution_role
" }, "Action": "sts:AssumeRole" } } -
Crea la policy di autorizzazione del ruolo di accesso di Amazon EMR, che concede al ruolo di esecuzione in fase di esecuzione di Amazon EMR le autorizzazioni necessarie per eseguire le attività previste sul cluster. Configura il ruolo di accesso di Amazon EMR per chiamare l'API
GetClusterSessionCredentials
con i ruoli di esecuzione del runtime di Amazon EMR specificati nella politica di autorizzazione del ruolo di accesso. Di seguito è riportato un esempio di policy:{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowCallingEmrGetClusterSessionCredentialsAPI", "Effect": "Allow", "Action": "elasticmapreduce:GetClusterSessionCredentials", "Resource": "", "Condition": { "StringLike": { "elasticmapreduce:ExecutionRoleArn": [ "arn:aws:iam::
emr_account_id
:role/emr-execution-role-name
" ] } } } ] } -
Configura la rete tra account in modo che il traffico possa spostarsi avanti e indietro tra i tuoi account. Per istruzioni guidate, consulta Configura l'accesso alla rete per il tuo cluster Amazon EMRConfigurare il. I passaggi di questa sezione consentono di completare le seguenti attività:
-
Esegui il VPC in peering tra il tuo account Studio e il tuo account Amazon EMR per stabilire una connessione.
-
Aggiungi manualmente i percorsi alle tabelle di routing delle sottoreti private in entrambi gli account. Ciò consente la creazione e la connessione di cluster Amazon EMR dall'account Studio alla sottorete privata dell'account remoto.
-
Configura il gruppo di sicurezza collegato al tuo dominio Studio per consentire il traffico in uscita e il gruppo di sicurezza del nodo primario Amazon EMR per consentire il traffico TCP in entrata dal gruppo di sicurezza dell'istanza Studio.
-
-
Precarica i ruoli di runtime IAM in modo da poter selezionare il ruolo da utilizzare quando ti connetti al tuo cluster Amazon EMR. Per ulteriori informazioni su come precaricare i ruoli IAM, consulta Precarica i tuoi ruoli di esecuzione in Studio o Studio Classic.
Configura l'accesso a Lake Formation
Quando accedi ai dati dai data lake gestiti da AWS Lake Formation, puoi imporre l'accesso a livello di tabella e colonna utilizzando le policy collegate al tuo ruolo di runtime. Per configurare l'autorizzazione per l'accesso a Lake Formation, consulta Integrare Amazon EMR con AWS Lake Formation.
Precarica i tuoi ruoli di esecuzione in Studio o Studio Classic
Puoi precaricare i ruoli di runtime IAM in modo da poter selezionare il ruolo da utilizzare quando ti connetti al tuo cluster Amazon EMR. Gli utenti di JupyterLab in Studio possono utilizzare la console SageMaker AI o lo script fornito.