Personalizzazione dei ruoli IAM - Amazon EMR

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

Personalizzazione dei ruoli IAM

È possibile personalizzare il ruolo del servizio IAM e le autorizzazioni per limitare i privilegi in base ai requisiti di sicurezza. Per personalizzare le autorizzazioni, si consiglia di creare nuovi ruoli e policy. Iniziare con le autorizzazioni nelle policy gestite per i ruoli predefiniti (ad esempio, AmazonElasticMapReduceforEC2Role e AmazonElasticMapReduceRole). Quindi, copiare e incollare il contenuto in nuove istruzione della policy, modificare le autorizzazioni come appropriato e collegare le policy di autorizzazione modificate ai ruoli creati. È necessario disporre delle autorizzazioni IAM appropriate per lavorare con i ruoli e le policy. Per ulteriori informazioni, consulta Consentire a utenti e gruppi di creare e modificare i ruoli.

Se crei un ruolo EMR personalizzato per EC2, segui il flusso di lavoro di base che crea automaticamente un profilo di istanza con lo stesso nome. Amazon EC2 consente di creare profili di istanza e ruoli con nomi diversi, ma Amazon EMR non supporta questa configurazione e genera l'errore "invalid instance profile (profilo di istanza non valido)" quando crei il cluster.

Importante

Le policy in linea non vengono aggiornate automaticamente quando i requisiti di servizio cambiano. Se si creano e si collegano policy in linea, occorre tenere presente che potrebbero verificarsi aggiornamenti del servizio responsabili di errori di autorizzazione imprevisti. Per ulteriori informazioni, consulta la sezione relativa a Policy gestite e policy inline nella Guida per l'utente IAM e Specifica dei ruoli IAM personalizzati durante la creazione di un cluster.

Per ulteriori informazioni sull'utilizzo dei ruoli IAM, consulta i seguenti argomenti nella Guida per l'utente IAM:

Specifica dei ruoli IAM personalizzati durante la creazione di un cluster

Quando crei un cluster, devi specificare il ruolo di servizio per Amazon EMR e il ruolo per il profilo dell'istanza Amazon EC2. L'utente che crea i cluster ha bisogno delle autorizzazione per recuperare e assegnare i ruoli ad Amazon EMR e alle istanze EC2. In caso contrario, viene visualizzato un errore Account utente non autorizzato a effettuare la chiamata EC2. Per ulteriori informazioni, consulta Consentire a utenti e gruppi di creare e modificare i ruoli.

Utilizzo della console per specificare i ruoli personalizzati

Quando si crea un cluster, è possibile specificare un ruolo di servizio personalizzato per Amazon EMR, un ruolo personalizzato per il profilo dell'istanza EC2 e un ruolo Auto Scaling personalizzato utilizzando Advanced options (Opzioni avanzate). Quando si utilizzano le Quick options (Opzioni rapide), il ruolo di servizio e il ruolo predefinito per il profilo di istanza EC2 sono specificati. Per ulteriori informazioni, consulta Ruoli di servizio IAM utilizzati da Amazon EMR.

Nota

Abbiamo riprogettato la console Amazon EMR per facilitarne l'utilizzo. Per scoprire le differenze tra la vecchia e la nuova esperienza sulla console, consulta la sezione Console Amazon EMR.

New console
Specifica di ruoli IAM personalizzati con la nuova console

Quando crei un cluster con la nuova console, devi specificare un ruolo di servizio personalizzato per Amazon EMR e un ruolo personalizzato per il profilo dell'istanza EC2. Per ulteriori informazioni, consulta Ruoli di servizio IAM utilizzati da Amazon EMR.

  1. Accedi a e apri AWS Management Console la console Amazon EMR all'indirizzo https://console.aws.amazon.com/emr.

  2. In EMR on EC2 (EMR su EC2), nel riquadro di navigazione a sinistra, scegli Clusters (Cluster) e seleziona Create cluster (Crea cluster).

  3. In Security configuration and permissions (Configurazione e autorizzazioni di sicurezza), cerca i campi IAM role for instance profile (Ruolo IAM per il profilo dell'istanza) e Service role for Amazon EMR (Ruolo di servizio per i campi Amazon EMR). Per ogni tipo di ruolo, selezionare un ruolo dall'elenco. Vengono elencati solo i ruoli all'interno dell'account che dispongono della policy di affidabilità appropriata per quel tipo di ruolo.

  4. Scegli qualsiasi altra opzione applicabile al cluster.

  5. Per avviare il cluster, scegli Create cluster (Crea cluster).

Old console
Specifica di ruoli IAM personalizzati con la vecchia console

Quando crei un cluster con la vecchia console, puoi specificare un ruolo di servizio personalizzato per Amazon EMR, un ruolo personalizzato per il profilo dell'istanza EC2 e un ruolo Auto Scaling personalizzato utilizzando Advanced options (Opzioni avanzate). Quando si utilizzano le Quick options (Opzioni rapide), il ruolo di servizio e il ruolo predefinito per il profilo di istanza EC2 sono specificati. Per ulteriori informazioni, consulta Ruoli di servizio IAM utilizzati da Amazon EMR.

  1. Passa alla nuova console Amazon EMR e seleziona Passa alla vecchia console dalla barra di navigazione laterale. Per ulteriori informazioni su cosa aspettarti quando passi alla vecchia console, consulta Utilizzo della vecchia console.

  2. Seleziona Create cluster (Crea cluster), Go to advanced options (Vai alle opzioni avanzate).

  3. Scegli le impostazioni del cluster appropriate per l'applicazione fino a raggiungere Security Options (Opzioni di protezione). In Permissions (Autorizzazioni), sono selezionati i ruoli Default (Predefiniti) per Amazon EMR.

  4. Scegli Custom (Personalizzato).

  5. Per ogni tipo di ruolo, selezionare un ruolo dall'elenco. Vengono elencati solo i ruoli all'interno dell'account che dispongono della policy di affidabilità appropriata per quel tipo di ruolo.

  6. Scegli altre opzioni appropriate per il cluster, quindi scegli Create Cluster (Crea cluster).

Utilizza il AWS CLI per specificare ruoli personalizzati

È possibile specificare un ruolo di servizio per Amazon EMR e un ruolo di servizio per le istanze EC2 del cluster esplicitamente utilizzando le opzioni con il comando create-cluster da AWS CLI. L'opzione --service-role consente di specificare il ruolo di servizio. Utilizzare l'argomento InstanceProfile dell'opzione --ec2-attributes per specificare il ruolo del profilo dell'istanza EC2.

Il ruolo Auto Scaling viene specificato mediante un'opzione distinta, --auto-scaling-role. Per ulteriori informazioni, consulta Utilizzo del dimensionamento automatico con una policy personalizzata per i gruppi di istanze.

Per specificare ruoli IAM personalizzati utilizzando il AWS CLI
  • Il comando seguente specifica il ruolo del servizio personalizzato, MyCustomServiceRoleForEMR, e un ruolo personalizzato per il profilo dell'istanza EC2, MyCustomServiceRoleForClusterEC2Instances, quando si avvia un cluster. Questo esempio utilizza il ruolo Amazon EMR predefinito.

    Nota

    I caratteri di continuazione della riga Linux (\) sono inclusi per la leggibilità. Possono essere rimossi o utilizzati nei comandi Linux. Per Windows, rimuoverli o sostituirli con un accento circonflesso (^).

    aws emr create-cluster --name "Test cluster" --release-label emr-7.1.0 \ --applications Name=Hive Name=Pig --service-role MyCustomServiceRoleForEMR \ --ec2-attributes InstanceProfile=MyCustomServiceRoleForClusterEC2Instances,\ KeyName=myKey --instance-type m5.xlarge --instance-count 3

È possibile utilizzare queste opzioni per specificare esplicitamente i ruoli predefiniti anziché utilizzare l'opzione --use-default-roles. L'opzione --use-default-roles specifica il ruolo del servizio e il ruolo per il profilo dell'istanza EC2 definito nel file config per l' AWS CLI.

L'esempio seguente mostra il contenuto di un config file per AWS CLI i ruoli personalizzati specificati per Amazon EMR. Con questo file di configurazione, quando viene specificata l'opzione --use-default-roles, il cluster viene creato utilizzando MyCustomServiceRoleForEMR e MyCustomServiceRoleForClusterEC2Instances. Per impostazione predefinita, il file config specifica l'impostazione predefinita service_role come AmazonElasticMapReduceRole e l'impostazione predefinita instance_profile come EMR_EC2_DefaultRole.

[default] output = json region = us-west-1 aws_access_key_id = myAccessKeyID aws_secret_access_key = mySecretAccessKey emr = service_role = MyCustomServiceRoleForEMR instance_profile = MyCustomServiceRoleForClusterEC2Instances