Configurazione dei ruoli di servizio IAM per le autorizzazioni di Amazon EMR per i servizi e risorse AWS - Amazon EMR

Configurazione dei ruoli di servizio IAM per le autorizzazioni di Amazon EMR per i servizi e risorse AWS

Amazon EMR e applicazioni come Hadoop e Spark hanno bisogno di autorizzazioni per accedere ad altre risorse AWS ed eseguire operazioni quando sono in esecuzione. Ogni cluster in Amazon EMR deve avere un ruolo di servizio e un ruolo per il profilo dell'istanza Amazon EC2. Per ulteriori informazioni, consulta Ruoli IAM e Utilizzo dei profili dell'istanza nella Guida per l'utente IAM. Le policy IAM allegate a questi ruoli forniscono al cluster le autorizzazioni per interagire con altri servizi AWS per conto di un utente.

Un ruolo aggiuntivo, il ruolo Auto Scaling, è necessario se il cluster utilizza la scalabilità automatica in Amazon EMR. Il ruolo di servizio AWS per EMR Notebooks è necessario se si utilizza EMR Notebooks.

Amazon EMR fornisce ruoli e policy gestite predefiniti che determinano le autorizzazioni per ciascun ruolo. Le policy gestite sono create e mantenute da AWS, quindi vengono aggiornate automaticamente in caso di modifica dei requisiti di servizio. Per ulteriori informazioni, consulta Policy gestite da AWS nella Guida per l'utente IAM.

Se si sta creando un cluster o un notebook per la prima volta in un account, i ruoli per Amazon EMR non esistono ancora. Una volta creati, è possibile visualizzare i ruoli, le policy allegate e le autorizzazioni consentite o negate dalle policy nella console IAM (https://console.aws.amazon.com/iam/). È possibile specificare ruoli predefiniti per Amazon EMR da creare e utilizzare, è possibile creare ruoli propri e specificarli individualmente al momento della creazione di un cluster per personalizzare le autorizzazioni, infine è possibile specificare ruoli predefiniti da utilizzare al momento della creazione di un cluster utilizzando la AWS CLI. Per ulteriori informazioni, consulta Personalizzazione dei ruoli IAM.

Modifica di policy basate sull'identità per le autorizzazioni a passare i ruoli del servizio per Amazon EMR

Le policy gestite predefinite con autorizzazioni complete di Amazon EMR incorporano configurazioni di sicurezza iam:PassRole, tra cui:

  • Autorizzazioni iam:PassRole solo per specifici ruoli Amazon EMR predefiniti.

  • Condizioni iam:PassedToService che consentono di utilizzare la policy solo con servizi AWS specificati, quali elasticmapreduce.amazonaws.com e ec2.amazonaws.com.

È possibile visualizzare la versione JSON delle policy AmazonEMRFullAccessPolicy_v2 e AmazonEMRServicePolicy_v2 nella console IAM. Ti consigliamo di creare i nuovi cluster con le policy gestite v2.

Riepilogo del ruolo di servizio

La tabella seguente elenca i ruoli del servizio IAM associati ad Amazon EMR per riferimento rapido.

Funzione Ruolo predefinito Descrizione Policy gestita predefinita

Ruolo di servizio per Amazon EMR (ruolo EMR)

EMR_DefaultRole_V2

Permette ad Amazon EMR di chiamare altri servizi AWS per conto dell'utente quando effettua il provisioning delle risorse ed esegue operazioni a livello di servizio. Questo ruolo è obbligatorio per tutti i cluster.

AmazonEMRServicePolicy_v2

Importante

Per richiedere le Istanze spot è necessario un ruolo collegato al servizio. Se questo ruolo non esiste, il ruolo di servizio Amazon EMR deve avere l'autorizzazione per crearlo, altrimenti si verifica un errore di autorizzazione. Se si prevede di richiedere istanze Spot, è necessario aggiornare questa policy per includere un'istruzione che consenta la creazione di questo ruolo collegato al servizio. Per ulteriori informazioni, consulta Ruolo di servizio per Amazon EMR (ruolo EMR) e Ruolo collegato ai servizi per le richieste di istanza Spot nella Guida per l'utente di Amazon EC2 per le istanze Linux.

Ruolo di servizio per istanze EC2 del cluster (profilo istanza EC2)

EMR_EC2_DefaultRole

I processi di applicazioni eseguiti supportate dall'ecosistema Hadoop sulle istanze del cluster utilizzano questo ruolo durante la chiamata di altri servizi AWS. Per accedere ai dati in Amazon S3 utilizzando EMRFS, è possibile specificare diversi ruoli da assumere in base alla posizione dei dati in Amazon S3. Ad esempio, più team possono accedere a un singolo "account di archiviazione" dei dati di Amazon S3. Per ulteriori informazioni, consulta Configurazione di ruoli IAM per le richieste EMRFS ad Amazon S3. Questo ruolo è obbligatorio per tutti i cluster.

AmazonElasticMapReduceforEC2Role. Per ulteriori informazioni, consulta Ruolo di servizio per istanze EC2 del cluster (profilo istanza EC2).

Ruolo di servizio per il dimensionamento automatico in Amazon EMR (ruolo Auto Scaling)

EMR_AutoScaling_DefaultRole

Consente di eseguire azioni aggiuntive per ambienti con dimensionamento dinamico. Necessario solo per i cluster che utilizzano la scalabilità automatica in Amazon EMR. Per ulteriori informazioni, consulta Utilizzo del dimensionamento automatico con una policy personalizzata per i gruppi di istanze .

AmazonElasticMapReduceforAutoScalingRole. Per ulteriori informazioni, consulta Ruolo di servizio per il dimensionamento automatico in Amazon EMR (ruolo Auto Scaling).

Ruolo di servizio per EMR Notebooks

EMR_Notebooks_DefaultRole

Fornisce le autorizzazioni richieste da un notebook EMR per accedere ad altre risorse AWS ed eseguire operazioni. Richiesto solo se si utilizza EMR Notebooks.

AmazonElasticMapReduceEditorsRole. Per ulteriori informazioni, consulta Ruolo di servizio per EMR Notebooks.

S3FullAccessPolicy è inoltre collegato per impostazione predefinita. Il contenuto di questa policy è mostrato di seguito.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "s3:*", "Resource": "*" } ] }

Ruolo collegato ai servizi

AWSServiceRoleForEMRCleanup

Amazon EMR crea automaticamente un ruolo collegato ai servizi. Se il servizio per Amazon EMR ha perso la capacità di eliminare risorse Amazon EC2, Amazon EMR può utilizzare questo ruolo per farlo. Se un cluster usa le istanze Spot, le policy di autorizzazione associate a Ruolo di servizio per Amazon EMR (ruolo EMR) devono consentire la creazione di un ruolo collegato al servizio. Per ulteriori informazioni, consulta Autorizzazioni del ruolo collegato ai servizi per Amazon EMR.

AmazonEMRCleanupPolicy