

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 delle autorizzazioni IAM
<a name="configure-iam-role-policy-credentials"></a>

Amazon Location Jobs richiede un ruolo di esecuzione IAM che conceda al servizio l'autorizzazione ad accedere ai bucket Amazon S3. Quando esegui un lavoro, Amazon Location assume questo ruolo per leggere i file di input dal tuo bucket di input e scrivere i risultati di output nel tuo bucket di output per tuo conto. Fornisci queste autorizzazioni creando una policy IAM con le autorizzazioni Amazon S3 richieste e collegandola a un ruolo IAM con una policy di fiducia che consenta al servizio Amazon Location di assumere il ruolo.

**Nota**  
I bucket di input e output di Amazon S3 che crei devono esistere nello stesso Regione AWS luogo in cui prevedi di eseguire i processi. Le risorse IAM che crei devono essere create nello stesso account.

## Fase 1: Creazione di una policy IAM
<a name="create-iam-policy-jobs"></a>

Crea una policy IAM che conceda le autorizzazioni necessarie per i lavori di Amazon Location.

**Per creare una policy IAM per i lavori di Amazon Location**

1. Aprire la console IAM all'indirizzo [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/). 

1. Nel riquadro di navigazione, scegli **Policy**. 

1. Scegli **Create Policy** (Crea policy). 

1. Scegli la scheda **JSON** e inserisci il seguente documento di policy, sostituendo {{INPUT\_BUCKET\_NAME}} e {{OUTPUT\_BUCKET\_NAME}} con i nomi dei bucket:

   ```
   {
     "Version": "2012-10-17", 		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Action": [
           "s3:GetObject",
           "s3:ListBucket",
           "s3:GetObjectVersion",
           "s3:GetBucketVersioning"
         ],
         "Resource": [
           "arn:aws:s3:::{{INPUT_BUCKET_NAME}}",
           "arn:aws:s3:::{{INPUT_BUCKET_NAME}}/*"
         ]
       },
       {
         "Effect": "Allow",
         "Action": [
           "s3:PutObject",
           "s3:AbortMultipartUpload"
         ],
         "Resource": [
           "arn:aws:s3:::{{OUTPUT_BUCKET_NAME}}/*"
         ]
       }
     ]
   }
   ```

1. Scegli **Next (Successivo)**. 

1. Per il **nome della policy**, inserisci un nome descrittivo, ad esempio `{{LocationJobsS3AccessPolicy}}`. 

1. Scegli **Crea policy**. 

La tabella seguente descrive le autorizzazioni concesse da questa politica:


| Autorizzazione | Description | 
| --- | --- | 
|  s3:GetObject  | Consente ad Amazon Location di leggere i file di input dal tuo bucket di input. | 
|  s3:ListBucket  | Consente ad Amazon Location di elencare i file nel tuo bucket di input per identificare tutti i file di input da elaborare. | 
|  s3:GetObjectVersion  | Consente ad Amazon Location di accedere a versioni specifiche dei file di input. Obbligatorio perché il controllo delle versioni deve essere abilitato nei bucket. | 
|  s3:GetBucketVersioning  | Consente ad Amazon Location di verificare che il controllo delle versioni sia abilitato sul tuo bucket di input. | 
|  s3:PutObject  | Consente ad Amazon Location di scrivere i risultati di output nel tuo bucket di output. | 
|  s3:AbortMultipartUpload  | Consente ad Amazon Location di eliminare i caricamenti multiparte non riusciti durante la scrittura di file di output di grandi dimensioni. | 

**Nota**  
Questa politica segue il principio del privilegio minimo concedendo solo le autorizzazioni necessarie per il funzionamento di Amazon Location Jobs. La policy limita le autorizzazioni di lettura al bucket di input e le autorizzazioni di scrittura al bucket di output.

**Per creare una policy IAM utilizzando il AWS CLI**

1. Crea un file denominato `location-jobs-policy.json` con il seguente contenuto, sostituendo {{INPUT\_BUCKET\_NAME}} e {{OUTPUT\_BUCKET\_NAME}} con i nomi dei tuoi bucket:

   ```
   {
     "Version": "2012-10-17", 		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Action": [
           "s3:GetObject",
           "s3:ListBucket",
           "s3:GetObjectVersion",
           "s3:GetBucketVersioning"
         ],
         "Resource": [
           "arn:aws:s3:::{{INPUT_BUCKET_NAME}}",
           "arn:aws:s3:::{{INPUT_BUCKET_NAME}}/*"
         ]
       },
       {
         "Effect": "Allow",
         "Action": [
           "s3:PutObject",
           "s3:AbortMultipartUpload"
         ],
         "Resource": [
           "arn:aws:s3:::{{OUTPUT_BUCKET_NAME}}/*"
         ]
       }
     ]
   }
   ```

1. Crea la politica:

   ```
   aws iam create-policy \
       --policy-name {{LocationJobsS3AccessPolicy}} \
       --policy-document file://location-jobs-policy.json
   ```

1. Annota l'ARN della politica dall'output. Il presente ARN è necessario nella fase successiva.

## Fase 2: Creare un ruolo di esecuzione
<a name="create-execution-role-jobs"></a>

Crea un ruolo IAM che Amazon Location assume per accedere ai tuoi bucket Amazon S3 durante l'esecuzione del lavoro.

La politica di fiducia consente al servizio Amazon Location (`geo.amazonaws.com`) di assumere questo ruolo. Questa relazione di fiducia è necessaria per consentire ad Amazon Location di accedere ai bucket Amazon S3 durante l'esecuzione del job.

**Per creare un ruolo di esecuzione per i lavori di Amazon Location**

1. Nel pannello di navigazione della console IAM, scegli **Roles** (Ruoli). 

1. Scegli **Crea ruolo**. 

1. Per **Trusted entity type** (Tipo di entità attendibile), scegli **Custom trust policy** (Policy di attendibilità personalizzata). 

1. Inserisci la seguente politica di fiducia, sostituendola {{ACCOUNT\_ID}} con l'ID AWS del tuo account:

   ```
   {
     "Version": "2012-10-17", 		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Principal": {
           "Service": "geo.amazonaws.com"
         },
         "Action": "sts:AssumeRole",
         "Condition": {
           "StringEquals": {
             "aws:SourceAccount": "{{ACCOUNT_ID}}"
           }
         }
       }
     ]
   }
   ```

1. Scegli **Next (Successivo)**. 

1. Cerca e seleziona la politica che hai creato nella Fase 1 (ad esempio`{{LocationJobsS3AccessPolicy}}`). 

1. Scegli **Next (Successivo)**. 

1. Per **Nome ruolo**, inserisci un nome descrittivo, ad esempio`LocationServiceJobExecutionRole`. 

1. Scegli **Crea ruolo**. 

**Per creare un ruolo di esecuzione utilizzando il AWS CLI**

1. Crea un file denominato `trust-policy.json` con il seguente contenuto, sostituendolo {{ACCOUNT\_ID}} con l'ID AWS del tuo account:

   ```
   {
     "Version": "2012-10-17", 		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Principal": {
           "Service": "geo.amazonaws.com"
         },
         "Action": "sts:AssumeRole",
         "Condition": {
           "StringEquals": {
             "aws:SourceAccount": "{{ACCOUNT_ID}}"
           }
         }
       }
     ]
   }
   ```

1. Crea il ruolo:

   ```
   aws iam create-role \
       --role-name LocationServiceJobExecutionRole \
       --assume-role-policy-document file://trust-policy.json
   ```

1. Allega la politica che hai creato nella Fase 1 (sostituiscila {{ACCOUNT\_ID}} con l'ID AWS del tuo account e {{LocationJobsS3AccessPolicy}} con il nome della tua polizza, se diverso):

   ```
   aws iam attach-role-policy \
       --role-name LocationServiceJobExecutionRole \
       --policy-arn arn:aws:iam::{{ACCOUNT_ID}}:policy/{{LocationJobsS3AccessPolicy}}
   ```

1. Ottieni il ruolo ARN:

   ```
   aws iam get-role \
       --role-name LocationServiceJobExecutionRole \
       --query 'Role.Arn' \
       --output text
   ```

1. Nota il ruolo ARN dall'output. È necessario questo ARN quando si avviano i lavori utilizzando il `ExecutionRoleArn` parametro.

Dopo aver creato il ruolo, annota il ruolo ARN. È necessario questo ARN quando si avviano i lavori utilizzando il `ExecutionRoleArn` parametro. Per ulteriori informazioni, consulta [Preparazione dei dati di input](preparing-input-data.md).

## Best practice di sicurezza
<a name="iam-security-best-practices"></a>

Segui queste best practice di sicurezza durante la configurazione delle autorizzazioni IAM per Amazon Location Jobs:
+  **Usa bucket specifici ARNs:** sostituisci i nomi dei bucket segnaposto nella policy con i nomi dei bucket effettivi per limitare l'accesso solo ai bucket che intendi utilizzare.
+  Bucket **di input e output separati: utilizza bucket** diversi per input e output per mantenere una chiara separazione tra le autorizzazioni di lettura e scrittura.
+  **Abilita il controllo delle versioni dei bucket Amazon S3: il controllo delle versioni** deve essere abilitato sui bucket. Ciò è necessario per il corretto funzionamento di Amazon Location Jobs.
+  **Usa le policy dei bucket Amazon S3: aggiungi le policy** dei bucket ai tuoi bucket Amazon S3 per un ulteriore controllo degli accessi oltre alle policy IAM.
+  **Monitora l'utilizzo dei ruoli:** da utilizzare per monitorare quando e come il ruolo di esecuzione viene utilizzato da Amazon Location Jobs.